Skills Matter is hosting the first annual NoSQL eXchange this November. Jim Webber has kindly agreed to be the Program Lead for this conference, and together we are working on a great day of learning and sharing of skills on NoSQL technologies.
Entries in Neo4J (22)
Spring Data Graph, a subset of the Spring Data project has released version 1.0 with support for Neo4j.
Spring Data Graph features:
- Support for property graphs (nodes connected via relationships, each with arbitrary properties)
- Transparent mapping of annotated POJO entities
- Neo4jTemplate with convenient API, exception translation and optional transaction management
- Different type representation strategies for keeping type information in the graph
The popular graph database Neo4j has released M5 late last week. The milestone release has been described as the last release prior to the final release of 1.3 to the general public.
Features for the latest milestone include:
- Fresh new UI for Webadmin
MySQL is currently hosting a poll in which they have asked respondents to answer the following question:
Which open source NoSQL databases are you using?
While there is not enough of responses, currently at 112 at the time of writing, it's still interesting to see the responses. One note about the results is that multiple databases were allowed to be selected. Here are the current results, as of 3/22 at 10:45pm, of some of the various NoSQL databases.
An interesting project surfaced in the last couple of days, Bio4j. What is Bio4j?
Bio4j provides a completely new and powerful framework for protein related information querying and management.
What is interesting from a NoSQL perspective is their usage of Neo4j as their storage engine. Why would they want to use a graph database?
SAN FRANCISCO - January 25, 2011 - Jaspersoft today released a broad set of software to support a wide variety of Big Data sources for Business Intelligence (BI) reporting. Companies are storing more and more of their data in data stores such as Hadoop, NoSQL databases and massively parallel processing (MPP) analytic databases because of their inherent cost and scale advantages relative to traditional databases. Today, with the release of over a dozen Big Data connectors as part of its open source “Big Data Reporting” project, as well as beta connectors for selected Big Data proprietary databases, Jaspersoft becomes the first and only BI vendor to deliver native reporting for Hadoop, NoSQL and MPP analytic databases.
I told you we'd have more news about the Spring Data announcement, proof that I'm not a liar. Neo4j has been working with SpringSource on two Spring Data sub-projects. Making it easy to integrate Neo4j into both Spring and Roo applications.
We've spoken about graph databases a lot these past few days and their growing importance in the problems they solve. We have a presentation from Peter Neubauer, of Neo Technology, where he discusses Neo4j-Spatial.
This post is a response to a recent post from Michael Stonebraker on ACM.com called Why Enterprises Are Uninterested in NoSQL. First and foremost it’s important to recognize the contributions that Dr. Stonebraker has given to the relational database community. His work impacts our lives, as engineers, on a daily basis and we wouldn’t be having this discussion without all of his contributions.
However, despite this, I believe that he has done the enterprise software community a disservice with his latest post. Our job as engineers is to choose tools that help us meet requirements that are part of a solution to a business problem. It’s irresponsible of us to not explore all options when selecting tools that are equally capable of solving the problem at hand, regardless if the solution is a traditional relational database such as MySQL or if it’s a non-relational database such as MongoDB.
Certainly each product has their own trade-offs, but in the end it’s our job as the engineer to evaluate those trade-offs and to validate that they are acceptable within our project’s framework and goals. If they are acceptable who’s to say that we’ve made the wrong choice.
In his post Dr. Stonebraker indicates that the single enterprise user he spoke to indicated that support for ACID transactions was a mandatory requirement. Great! Perhaps a solution like OrientDB or Neo4j might be able to help him as both projects support ACID transactions. Does this mean that because they are considered NoSQL databases that they should not be evaluated? Of course not, but Dr. Stonebraker and his single enterprise user would like you to think that’s what should happen.
Furthermore, both Dr. Stonebraker and his single enterprise user indicate that NoSQL means no standards. For the record NoSQL really means Not Only SQL. In other words, there are other solutions than an RDBMS. However, what Dr. Stonebraker does not point out is that there are projects out there that are trying to help solve this problem.
For example, there is Project Blueprints from TinkerPop. Project Blueprint’s goal is to provide “a one stop shop for implemented interfaces to help developers create software without being tied to particular underlying data management systems”. True, projects like this might be in their infancy, but given time may grow to become the standards that Dr. Stonebraker says are missing from NoSQL.
Finally, I’d like to close with the following. NoSQL has never been promised as the great panacea to all of the world’s persistence problems. In fact, we make it quite clear that each NoSQL database has trade-offs that must be accounted for. NoSQL is not an either or proposition with a traditional relational database. In fact, polyglot persistence is a term we throw around freely. In other words, we advocate choosing the right tool to solve your problem. It means we evaluate all possible solutions, relational or non-relational, regardless if we are working for the latest web start-up or the biggest enterprise IT department.
Neo4j for JRuby 1.0.0.beta.1 has been released.
From the site:
Neo4j.rb is a graph database for JRuby. It uses the powerful and mature Java libraries
- Neo4j for for persistence and traversal of the graph
- Lucene for querying and indexing.
Check it out at: Neo4j 1.0.0.beta.1 for JRuby Released
NeoTechnologies, support organization and contributor to the Neo4j graph database have announced Neo4j Spatial
the first and only geospatial component for a graph database
Neo4j Spatial is a collection of utilities that "simplify and support advanced capabilities like"
- Storage of geographic features like points, lines and polygons as graphs
- Indexing and querying based on location with R-trees, Quad-trees and other structures
Spatial operations for GIS and Location Based Services
- Import/Export from existing industry standard formats like shapefiles
- Exposure of any Neo4j traversal as dynamic layers with points, multilines or polygons
- Construction of geographic operations from arbitrary combinations of traversals and relevant properties
Read more: Neo Technology announces Neo4j Spatial
After attempting to insert 151,000 names into Neo4J and having little success at the endeavour, Rahul Sharma was told to use Neo4J's use BatchInserter api to import data in bulk. In this post we explore his findings.
In his presentation, Ian Robinson from ThoughtWorks, demonstrates how to implement both graph traverser and pattern matcher objects.
In his example of a graph traverser object, the use case demonstrates how you can traverse a graph looking for users who have particular likes and are customers of a certain company/sponsor. In this case, both Jim and Ian like the cinema experience, however, the traverser implemented will allow only Ian to receive the voucher to the Ritzy cinema because he is an Orange customer.
In his example of pattern matcher objects, he demonstrates how you can build a simple recommendation matcher.
The presentation can be found below. Also a video of this presentation is available here
I'd like to thank all of the folks that came out to the first San Diego NoSQL meetup group. Special thanks to both Charles Glommen, for organizing the meeting and TouchCommerce for sponsoring the meeting.
I've included the slides from last night's presentations