Likelihood to Recommend Hbase is well suited for large organizations with millions of operations performing on tables, real-time lookup of records in a table, range queries, random reads and writes and online analytics operations. Hbase cannot be replaced for traditional databases as it cannot support all the features, CPU and memory intensive. Observed increased latency when using with MapReduce job joins.
Read full review Titan is definitely a good choice, but it has its learning curve. The documentation may lack in places, and you might have to muster answers from different sources and technologies. But at its core, it does the job of storing and querying graph databases really well. Remember that titan itself is not the whole component, but utilizes other technologies like cassandra, gremlin, tinkerpop, etc to do many other things, and each of them has a learning curve. I would recommend titan for a team, but not for a single person. For single developer, go with
Neo4j .
Read full review Pros Scalability. HBase can scale to trillions of records. Fast. HBase is extremely fast to scan values or retrieve individual records by key. HBase can be accessed by standard SQL via Apache Phoenix. Integrated. I can easily store and retrieve data from HBase using Apache Spark. It is easy to set up DR and backups. Ingest. It is easy to ingest data into HBase via shell, Java, Apache NiFi, Storm, Spark, Flink, Python and other means. Read full review Titan is really good for abstraction of underlying infrastructure. You can choose between different storage engine of your choice. Open source, backed by community, and free. Supports tinkerpop stack which is backed by apache. Uses gremlin for query language making the whole query structure standardized and open for extension if another graph database comes along in future. Read full review Cons There are very few commands in HBase. Stored procedures functionality is not available so it should be implemented. HBase is CPU and Memory intensive with large sequential input or output access while as Map Reduce jobs are primarily input or output bound with fixed memory. HBase integrated with Map-reduce jobs will result in random latencies. Read full review The community is lacking deep documentation. I had to spend many nights trying to figure many things on my own. As graph databases will grow popular, I am sure this will be improved. Not enough community support. Even in SO you might not find many questions. Though there are some users in SO who quickly answer graph database questions. Need more support. Would love an official docker image. Read full review Likelihood to Renew There's really not anything else out there that I've seen comparable for my use cases. HBase has never proven me wrong. Some companies align their whole business on HBase and are moving all of their infrastructure from other database engines to HBase. It's also open source and has a very collaborative community.
Read full review Alternatives Considered Cassandra os great for writes. But with large datasets, depending, not as great as HBASE.
Cassandra does support parquet now. HBase still performance issues.
Cassandra has use cases of being used as time series. HBase, it fails miserably. GeoSpatial data, Hbase does work to an extent. HA between the two are almost the same.
Read full review To be honest, titan is not as popular as
Neo4j , though they do the same thing. In my personal opinion, titan has lot of potential, but
Neo4j is easier to use. If the organization is big enough, it might choose titan because of its open source nature, and high scalability, but
Neo4j comes with a lot of enterprise and community support, better query, better documentation, better instructions, and is also backed by leading tech companies. But titan is very strong when you consider standards. Titan follows gremlin and tinkerpop, both of which will be huge in future as more graph database vendors join the market. If things go really well, maybe
Neo4j might have to support gremlin as well.
Read full review Return on Investment As Hbase is a noSql database, here we don't have transaction support and we cannot do many operations on the data. Not having the feature of primary or a composite primary key is an issue as the architecture to be defined cannot be the same legacy type. Also the transaction concept is not applicable here. The way data is printed on console is not so user-friendly. So we had to use some abstraction over HBase (eg apache phoenix) which means there is one new component to handle. Read full review Steep learning curve. Your engineers would have to spend lots of time learning different components before they feel comfortable. Have to plan ahead. Maybe this is the nature of graph databases, but I found it difficult to change my schemas after I had data in production. It is free, so time is the only resource you have to put in titan. Read full review ScreenShots