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 For running application tests it's well suited. H2 [Database Engine] can replace the real-world database solution for them easily and removes the requirement to set up a a separate database instance just for running unit tests. For using in actual production application one needs to consider scale. H2 is suitable if application runs in single instance and database is located in same machine as a file where that application runs. This means the application shouldn't have a large user base. However it's easy to switch to an actual
MySQL instance if the need arises, it's most likely only a configuration change and doesn't require new code.
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 Can run as an in-memory database. Simple and quick to get started with, and is light weight (only 2MB). SQL compliant so it compatible with most relational databases. 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 There's a warning in official FAQ "Is it Reliable?"-section which makes it seem like H2 is not yet a mature product. If raw SQL queries are used there maybe be differences between MySQL & H2. ORM library should be used. Support seems to be community-based only. 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 While both can run as an in-memory database, H2 Database Engine was just so much easier for us to use since we primarily use the Java stack and H2 Database Engine is also built with Java.
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 Doesn't take time from developers, once it's configs are set up for testing it works in everyone's development environments Easy to integrate in application, no need to setup separate database software, no maintenance No need to deal with infrastructure related issues/costs - database runs in same machine as the application that uses it. Read full review ScreenShots