Feature Summary - Comparing the Use of Amazon DynamoDB and Apache HBase for NoSQL

Feature Summary

Amazon DynamoDB and Apache HBase both possess characteristics that are critical for successfully processing massive amounts of data. The following table provides a summary of key features of Amazon DynamoDB and Apache HBase that can help you understand key similarities and differences between the two databases. These features are discussed in later sections.

Table 1: Amazon DynamoDB and Apache HBase Feature Summary

Feature Amazon DynamoDB Apache HBase
Description Hosted, scalable database service by Amazon Column store based on Apache Hadoop and on concepts of BigTable
Implementation Language - Java
Server Operating Systems Hosted Linux, Unix, Windows
Database Model Key-value & Document store Wide column store
Data Scheme Schema free Schema free
Typing Yes No
APIs and Other Access Methods Flexible Flexible
Supported Programming Languages Multiple Multiple
Server-side Scripts No Yes
Triggers Yes Yes
Partitioning Methods Sharding Sharding
Throughput Model User provisions throughput Limited to hardware configuration
Automatic Scaling Yes No
Partitioning Automatic partitioning Automatic sharding
Replication Yes Yes
Durability Yes Yes
Administration No administration overhead High administration overhead in self-managed and minimal on Amazon EMR
User Concepts Yes Yes
Data Model
Row Item – 1 or more attributes Columns/column families
Row Size Item size restriction No row size restrictions
Primary Key Simple/Composite Row key
Foreign Key No No
Indexes Optional No built-in index model implemented as secondary tables or coprocessors
Row Transactions Item-level transactions Single-row transactions
Multi-row Transactions Yes Yes
Cross-table Transactions Yes Yes
Consistency Model Eventually consistent and strongly consistent reads Strongly consistent reads and writes
Concurrency Yes Yes
Updates Conditional updates Atomic read-modify-write
Integrated Cache Yes Yes
Time-To-Live (TTL) Yes Yes
Encryption at Rest Yes Yes
Backup and Restore Yes Yes
Point-in-time Recovery Yes Yes
Multiregion, Multi-master Yes No