4 ms·
I'd love to use Neo4j for future projects but I was wondering: How mature is it? There are not that many articles out there and I wonder how you go about durabi
by nchuhoai 15y ago
I'd love to use Neo4j for future projects but I was wondering: How mature is it? There are not that many articles out there and I wonder how you go about durability and scalability with Neo4j. I really hope it will take off like other NoSQL solution like Couch, Redis and Mongo
- akollegger 15y agoIt's another one of those hidden gems from Sweden that is now growing in popularity in the States. The project has been around and in production for about 10 years, and is experiencing humbling growth these past few years with customers like Cisco, Deutsche Telekom, and Adobe. The commercial sponsor of the project, Neo Technology, just became a US-based corporation as part of a first-round of funding last fall. ACID transactions, HA-scaling, huge id space for data -- check out neo4j.org for the details. -Andreas (part of the Neo4j community team)
- espeed 15y agoThere is a growing list of language bindings (http://docs.neo4j.org/chunked/stable/tutorials-rest.html http://docs.neo4j.org/chunked/stable/tutorials-rest.html), and the Neo4j Heroku Add On (https://addons.heroku.com/neo4j https://addons.heroku.com/neo4j) is now live and currently free. - James, author of Bulbs (http://bulbflow.com http://bulbflow.com), one of the Python bindings
- nchuhoai 15y agoI'm not doubting the popularity of the bindings, more the ability to scale it. The most popular argument against NoSQL solutions is the limited amount of info and expertise available to build a strong and scalable system with them. Even now with extremely popular solutions like Mongo, people are still not too sure whether the apparent performance boosts are worth the issues in the long run I am aware of the Heroku addon, but what happens if you need more than that?
- akollegger 15y agoThe current cluster is a master-slave replication configuration, for read scaling. For write scaling, you would have to stay tuned. There's a team sequestered in England feverishly working on a sharding solution to spread write load and data set size across multiple machines without compromising query performance. Heroku is just the first cloud service to offer Neo4j. We've been chatting with other PaaS providers, and some are moving forward with their own plans. A few enterprise customers simply orchestrate their own clusters (up to global, multi-continent spanning deployments) using EC2. You're right that all of the NOSQL solutions don't have as many experts and professional services as the relational db options. Seems like a great opportunity. ;)
- nchuhoai 15y agoThanks for the state of Neo4j. I really love Neo4j, but I am just afraid I'm hurting myself in the long-run, because I definitely don't like sys-ops, so I feel like I need to revert to more conservative solutions.
- mhluongo 15y agoWe've loved it so far, and the core DB is definitely strong. I know the team is working on making it more accessible to new devs, but until then the mailing list helps a lot.
- mhluongo 15y agoAnd since @espeed brings up bindings, if you're using Django check out neo4django (https://github.com/scholrly/neo4django)- https://github.com/scholrly/neo4django)- it preserves most of the stuff you expect from the ORM (model definitions and QuerySets) to make the transition to the graph easier.
- maxdemarzi 15y agoI wrote one of the Ruby bindings (Neography Gem) and write about Neo4j on my blog http://maxdemarzi.com http://maxdemarzi.com . Also ThoughtWorks is using it and writing about it: http://www.markhneedham.com/blog/2012/04/20/neo4j-searching-for-nodes-by-name/ http://www.markhneedham.com/blog/2012/04/20/neo4j-searching-...
- nchuhoai 15y agoBindings are really not my concern, I think the rest API by itself is already very intuitive and the graph model is very very appealing. I'm just more concerned about what happens if you go beyond a single machine or usual capacities. With SQL and popular NoSQL solutions such as Mongo or Redis, you can find a wealth of information out there, but it doesnt seem to be the case with Neo4j (yet!)