5 ms·
OrientDB, the most versatile database I’ve run across
- girvo 13y agoI read through the OP, and it's convinced me to at least have a look at OrientDB. It seems interesting, though I've never used a Graph database before, let alone something like this. I'll be honest: I've pretty much only ever used Relational databases. I've not even properly tried using Document databases (the hype just didn't overcome my laziness and inertia!). On big big projects, I just wrote the queries I needed, with a schema I defined, and let my DBA deal with the nitty gritty of it... I really should learn more about the various classes of data stores. I know enough to understand a lot of the trade offs inherent to the major types (hence why I've stuck with relational, it fits the way i think about application data, and I haven't needed Web Scale(tm) for those projects, so horizontal scaling wasn't ever an issue), so I'm really curious how this one holds up under close scrutiny, and whether I can map how I think about data to how Orient works (or whether it's way of tackling it is better enough than how I think to just embrace it's style entirely). Anyone here have experience with it? What use case, data model, etc. what trade offs did you make, and why?
- hncommenter13 13y agoI'm in the same boat. I've been looking at Neo4J, Titan, etc., as part of research for a new application I'm building. Our data set is fairly tiny (<<10M entities, almost certainly), but the information we're tracking is highly graph-oriented. I've been trying to decide between a graph db, which seems like a better fit for the real world relationships but is entirely new to me, and postgresql with exports to graph structures for analysis as needed. In particular, I'd be interested in deployment experiences with Orient and other graph dbs. I don't have a sys admin and I'm not one myself, so a PaaS platform is highly attractive. Neo4J has a Heroku "try" option, but there's no clear upgrade path. Titan is flexible in terms of backing store (Cassandra, PersistIt, etc.), but seems to require self-admin. Anyone deployed and maintained OrientDB or any of these other tools?
- Buttons840 13y agoIn your research, have you found any good graph database not written in Java?
- philjohn 13y agoTriple/Quad stores (specialisation of a Graph DB for storing RDF) are available written in C (4Store, Virtuoso) as well as Lisp (AllegroGraph). They support a standardised query language called SPARQL which is based on matching graph patterns.
- hncommenter13 13y agoI'm building the app in Java, so I specifically looked for those. Almost all of them have REST built-in (or easily available via the stack at http://www.tinkerpop.com http://www.tinkerpop.com), so the client could be language-agnostic. Look at http://bulbflow.com http://bulbflow.com for Python, for instance.
- alok-g 13y agohttp://www.sparsity-technologies.com/dex.php http://www.sparsity-technologies.com/dex.php
- Matrixik 13y agoArangoDB (C/C++, http://www.arangodb.org/ http://www.arangodb.org/) Here you have 15 Graph databases compared: https://docs.google.com/spreadsheet/ccc?key=0AlHPKx74VyC5dERyMHlLQ2lMY3dFQS1JRExYQUNhdVE#gid=0 https://docs.google.com/spreadsheet/ccc?key=0AlHPKx74VyC5dER...
- rthng 13y agoHeroku will have another Neo4j option in January that will offer an upgrade path. Disclaimer: I work for Heroku on Add-ons.
- nobullet 13y agoWe are using OrientDB to store visitor stats on meople.net behind the scenes: http://meople.net/visitor/index.jsp http://meople.net/visitor/index.jsp Document oriented tables are used. I like no-sql access to indexes: OIndex<?> index = db.getMetadata().getIndexManager(). getClassIndex(klassName, indexName); Collection<ODocument> = index.getEntriesBetween(start, end, true); Nothing to say here: it just works.
- notastartup 13y agoI've used it in my Java Swing GUI app which I open sourced (https://github.com/jjk3/scrape-it-screen-scraper https://github.com/jjk3/scrape-it-screen-scraper) in year 2012, because the other Object database cost licensing money (in small letters). It was the only joy I got from working with a Java Swing. It's excellent to just store Java Objects directly to the local filesystem. If you don't like that, you can setup a OrientDB server. The writer of OrientDB was super helpful too (always on google groups helping out). It's flexibility outdoes MongoDB. I'm surprised that it's catching on now...after 2 years.
- puredanger 13y agoI looked at OrientDB in a past job where we wanted schema flexibility but we ended up choosing Datomic instead.
- michaelsbradley 13y agoSame here.
- lvca 13y agoWhy did you end up choosing Datomic?
- enobrev 13y agoI've been watching OrientDB from a distance for a couple years now. It remains incredibly interesting, and I want so badly to give it a real shot. Unfortunately, I don't [currently] have spare cycles to get into it. I'm still waiting to hear about a large project with fairly significant scaling needs go on to sing the praises of OrientDb. Unfortunately I don't have the time or resources to become said project.
- RyanZAG 13y agoOrientDB has issues with documentation and tooling. Generally the drivers for each language are difficult to use and confusing. There is very little in the way of high performance ORMs which is the main reason you'd want to use something like OrientDB - mapping your classes directly to the database.
- ape4 13y agoThat site puts stuff on the right scroll bar (at least in Firefox). Highly annoying.
- emehrkay 13y agoIt has a nice/easy to use REST interface too (shameless plug: I authored the Python REST a few years back and the community has kept it up to date https://github.com/emehrkay/Compass https://github.com/emehrkay/Compass) We are actually talking about moving away from a relational DB to a graph one for some of our internal data needs. A coworker was looking at Neo4j (another great one, but with licensing fees) and I told him bout Orient. Exciting stuff, especially when you factor in Tinkerpop's (tinkerpop.com) abstraction layer allowing you to switch out DBs.
- iampims 13y agoCan anyone point me to a documentation that explains the consistency choices? Is it CP? Is it AP?
- bjeanes 13y agoI really want aphyr to run this through jepsen now...