NoSQL Benchmarks NoSQL use cases NoSQL Videos NoSQL Hybrid Solutions NoSQL Presentations Big Data Hadoop MapReduce Pig Hive Flume Oozie Sqoop HDFS ZooKeeper Cascading Cascalog BigTable Cassandra HBase Hypertable Couchbase CouchDB MongoDB OrientDB RavenDB Jackrabbit Terrastore Amazon DynamoDB Redis Riak Project Voldemort Tokyo Cabinet Kyoto Cabinet memcached Amazon SimpleDB Datomic MemcacheDB M/DB GT.M Amazon Dynamo Dynomite Mnesia Yahoo! PNUTS/Sherpa Neo4j InfoGrid Sones GraphDB InfiniteGraph AllegroGraph MarkLogic Clustrix CouchDB Case Studies MongoDB Case Studies NoSQL at Adobe NoSQL at Facebook NoSQL at Twitter



Spring Data: All content tagged as Spring Data in NoSQL databases and polyglot persistence

A Quick Guide to Testing Spring Data Neo4j With NoSQLUnit

Alex Soto:

Spring Data Neo4j is the project within Spring Data project which provides an extension to the Spring programming model for writing applications that uses Neo4j as graph database. To write tests using NoSQLUnit for Spring Data Neo4j applications, you do need nothing special apart from considering that Spring Data Neo4j uses a special property called type in graph nodes and relationships which stores the fully qualified classname of that entity.

Is there a BigDataUnit framework? My only requirement is to use XML. Heavily.

Original title and link: A Quick Guide to Testing Spring Data Neo4j With NoSQLUnit (NoSQL database©myNoSQL)


What Is the Spring Data Project?

Short answer: another sign that the Spring framework wants to do everything everywhere. A mammoth1.

Version 1.0 was released in 2004 as a lightweight alternative to Enterprise Java Beans (EJB). Since, then Spring has expanded into many other areas of enterprise development, such as enterprise integration (Spring Integration), batch processing (Spring Batch), web development (Spring MVC, Spring Webflow), security (Spring Security). Spring continues to push the envelope for mobile applications (Spring Mobile), social media (Spring Social), rich web applications (Spring MVC, s2js Javascript libraries), and NoSQL data access(Spring Data).


The complete pipeline can be implemented using Spring for Apache Hadoop along with Spring Integration and Spring Batch. However, Hadoop has its own set of challenges which the Spring for Apache Hadoop project is designed to address. Like all Spring projects, it leverages the Spring Framework to provide a consistent structure and simplify writing Hadoop applications. For example, Hadoop applications rely heavily on command shell tools. So applications end up being a hodge-podge of Perl, Python, Ruby, and bash scripts. Spring for Apache Hadoop, provides a dedicated XML namespace for configuring Hadoop jobs with embedded scripting features and support for Hive and Pig.

  1. There’s a business reason for doing this though: when you have tons of clients you want to make sure they don’t have a chance to step outside. Is this new year resolution a heresy : I plan to use vastly less Spring this year

Original title and link: What Is the Spring Data Project? (NoSQL database©myNoSQL)


Spring Data: One API to Rule Them All or Giving NoSQL to Spring Users

If you never looked into Spring Data, Tobias Trelle’s article could give you a brief overview:

Spring Data is a high level SpringSource project whose purpose is to unify and ease the access to different kinds of persistence stores, both relational database systems and NoSQL data stores.

The article is pretty clear why unification for the various relational and NoSQL databases won’t really work. The part left is ease of access, which in itself could still be an achievement. But without the unifying part I think Spring Data is just the Spring way of doing NoSQL for Spring users and not a general solution that non-Spring users would benefit of. I’m aware I’ve said this before.

Original title and link: Spring Data: One API to Rule Them All or Giving NoSQL to Spring Users (NoSQL database©myNoSQL)


Neo4j Domain Modeling With Spring Data

The relationship between a person and a project has an associated role. This relationship is also the basis for the list of collaborators: two people are collaborators if there’s at least one project of which they’re both members.

Domain modeling with Spring Data Neo4j

Solve this with a relational database.

Original title and link: Neo4j Domain Modeling With Spring Data (NoSQL database©myNoSQL)


Neo4j and Spring Data for Configuration Management Database

Willie Wheeler describing the challenges of a configuration management database:

My experience has been that the data persistence layer is the one that’s most challenging to change. Besides the actual schema changes, we have to write data migration scripts, we have to make corresponding changes to our integration test data scripts, we have to make sure Hibernate’s eager- and lazy-loading are doing the right things, sometimes we have to change the domain object APIs and associated Hibernate queries, etc. Certainly doable, but there’s generally a good deal of planning, discussion and testing involved.

Then the benefits of using Neo4j and Spring Data for building it:

  • There are many entities and relationships.
  • We need schema agility to experiment with different CMDB approaches.
  • We need schema agility to accommodate continuing innovations in infrastructure.
  • We need schema flexibility to accommodate the needs of different organizations.
  • But we still need structure.
  • A schemaless backend makes zero-downtime deployments easier.
  • We want to support intuitive querying.

Solving the same problem, Puppet is using CouchDB for configuration management.

Original title and link: Neo4j and Spring Data for Configuration Management Database (NoSQL database©myNoSQL)


NoSQL Screencasts: Neo4j for Ruby and Java People, Plus Data Modeling and Querying

Before the weekend is over, you could spend a bit of time experimenting with Neo4j. If you are a Ruby person then you’ve probably learned from the persistent graph structures with Ruby/Rails thread that Neo4j with JRuby is the way to go. In the first video Peter Neubauer demonstrates the process of building and deploying a Neo4j-enabled application on Heroku:

Build a Spring-Data Project With MongoDB in Under 5 Minutes Using Netbeans 7 and Maven

A (long) intro to using Spring-Data and MongoDB:

Spring-Data is a rapidly moving project and has support for many technologies such as non-relational databases, map-reduce frameworks, and cloud based data services as well as providing support for relational databases. Today I’m going to focus on their support for MongoDB.

It’s unfortunate how much setup and boilerplate code is needed by a Java application just to insert and fetch a record.

Original title and link: Build a Spring-Data Project With MongoDB in Under 5 Minutes Using Netbeans 7 and Maven (NoSQL database©myNoSQL)


Spring Data Graph 1.1.0 Released

Spring Data continues its march to “be all do all”:

During the last months of Neo4j development the improved querying (Cypher, Gremlin) support was one of the important aspects. So we strove to support it on all levels. Now, it is possible to execute Cypher queries from Spring Data Graph Repositories, from the Neo4j-Template but also as part of dynamic field annotations and via the introduced entity methods. The same goes for Gremlin scripts.

Original title and link: Spring Data Graph 1.1.0 Released (NoSQL database©myNoSQL)


Using MongoDB NoSQL Database in Your GlassFish Java EE 6 Applications

Skip the intro (until you see the MongoDB logo) to get a short intro on how to use MongoDB in a 3-tier Java EE 6 app:

This blog has published multiple blogs on how to access a RDBMS using JPA in a Java EE 6 application. This Tip Of The Day (TOTD) will show you can use MongoDB (a document-oriented database) with a typical 3-tier Java EE 6 application.

Two other projects, Spring Data and Hibernate OGM, are trying to make NoSQL databases feel more familiar to Java people, each with its own promise and approach. The benefit is that the more we have the more adoption we will see.

Original title and link: Using MongoDB NoSQL Database in Your GlassFish Java EE 6 Applications (NoSQL database©myNoSQL)


Getting Started Spring Data Graph and Neo4j

Mark Pollack (VMWare) and Emil Eifrem (Neo Technology) answering the why and how to use Spring Data and Neo4j.

Vers des API haut niveau pour Java et NoSQL avec Spring Data (fr)

An intro to Spring Data for French readers:

Spring Data est un projet en développement et lancé en 2010, visant à simplifier l’utilisation des bases NoSQL, des frameworks Map-Reduces, ou d’apporter des extensions pour le support des bases relationnelles. Le projet intègre aussi progressivement le framework Hades qui apporte la notion de repository pour une approche Domain Driven Developpment.

Original title and link: Vers des API haut niveau pour Java et NoSQL avec Spring Data (fr) (NoSQL databases © myNoSQL)