December 14, 2011 at 12:58 pm
My company is introducing a Graph Database (Neo4j) into our enterprise. What I have read (actually skimmed) indicates that this is a formidable competitor to the standard RDBMS in general and SQL Server in specific. Should I be worried? Is it time to retool? What are your thoughts?
Gordon Pollokoff
"Wile E. is my reality, Bugs Bunny is my goal" - Chuck Jones
December 14, 2011 at 1:23 pm
It's just another OODBMS (object oriented database management system) from what I can tell.
So, yes, it will be faster in some things, and much, much slower on others.
Usually, OODBMS engines are very fast for single-object operations (functionally similar to querying a single row in a multi-table view), and are an absolute nightmare the moment you try to do something like complex reporting. And completely useless for any sort of real data mining.
The technology is very, very young, as not exactly Enterprise Hardened yet.
There's some (albeit skimpy) data on Wikipedia: http://en.wikipedia.org/wiki/Graph_database
I haven't worked with a graph database (yet). But I have worked with an object-oriented database (Cache: http://www.intersystems.com/cache/), and it was incredibly easy to set up a simple single-object form on top of it, and very fast for accessing data from that (query, update, delete, insert), but totally fell down when it came to just about anything else.
I checked out the tools for Jeo4j, and they are barely existent, and the only documentation appears to be an out-of-date wiki. (How does software that's only existed since January this year already have out-of-date documentation? Oh, right, open-source. Never mind.)
What your employer is probably looking at is the marketing material ("Thousands of times faster! We swear!"), the two product endorsements (make sure to research the original statements - I've worked in marketing and the most amazing endorsements can be found in the most blistering complaints quite often), and the initial price. Make sure they understand that technical support and related services will either be free (and quite probably worth exactly that), or will cost and be proprietary.
You won't find a source like SQLServerCentral for this product. First, it's too young to have any veteran DBAs/devs/admins/whatever. Nobody has ten years of experience in a product that's less than a year old. Not even the devs for the company producing it. Second, it's not been adopted widely enough to even have a large number of newbies who can wiki-up a quick set of "best practices so far" type sites.
I found a review of it compared to other graph databases, which includes some data on best uses for it, here: http://www.readwriteweb.com/cloud/2011/04/5-graph-databases-to-consider.php
So, basically, it's a completely different product from a relational database. It's use is to track relationships between objects. It is ACID compliant, per their data and reviews.
If your employer is planning on using it, make sure they pay for some training for everyone who'll be accessing it either for admin or dev.
- Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
Property of The Thread
"Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply