DBMS > Amazon SimpleDB vs. CockroachDB vs. Google Cloud Bigtable vs. Google Cloud Datastore vs. InfinityDB
System Properties Comparison Amazon SimpleDB vs. CockroachDB vs. Google Cloud Bigtable vs. Google Cloud Datastore vs. InfinityDB
Editorial information provided by DB-Engines | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Name | Amazon SimpleDB Xexclude from comparison | CockroachDB Xexclude from comparison | Google Cloud Bigtable Xexclude from comparison | Google Cloud Datastore Xexclude from comparison | InfinityDB Xexclude from comparison | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Hosted simple database service by Amazon, with the data stored in the Amazon Cloud. There is an unrelated product called SimpleDB developed by Edward Sciore | CockroachDB is a distributed database architected for modern cloud applications. It is wire compatible with PostgreSQL and backed by a Key-Value Store, which is either RocksDB or a purpose-built derivative, called Pebble. | Google's NoSQL Big Data database service. It's the same database that powers many core Google services, including Search, Analytics, Maps, and Gmail. | Automatically scaling NoSQL Database as a Service (DBaaS) on the Google Cloud Platform | A Java embedded Key-Value Store which extends the Java Map interface | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Primary database model | Key-value store | Relational DBMS | Key-value store Wide column store | Document store | Key-value store | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Website | aws.amazon.com/simpledb | www.cockroachlabs.com | cloud.google.com/bigtable | cloud.google.com/datastore | boilerbay.com | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Technical documentation | docs.aws.amazon.com/simpledb | www.cockroachlabs.com/docs | cloud.google.com/bigtable/docs | cloud.google.com/datastore/docs | boilerbay.com/infinitydb/manual | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Developer | Amazon | Cockroach Labs | Boiler Bay Inc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initial release | 2007 | 2015 | 2015 | 2008 | 2002 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current release | 23.1.1, May 2023 | 4.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
License Commercial or Open Source | commercial | Open Source Apache 2.0, commercial license available | commercial | commercial | commercial | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Cloud-based only Only available as a cloud service | yes | no | yes | yes | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DBaaS offerings (sponsored links) Database as a Service Providers of DBaaS offerings, please contact us to be listed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Implementation language | Go | Java | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server operating systems | hosted | Linux macOS Windows | hosted | hosted | All OS with a Java VM | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Data scheme | schema-free | dynamic schema | schema-free | schema-free | yes nested virtual Java Maps, multi-value, logical ‘tuple space’ runtime Schema upgrade | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Typing predefined data types such as float or date | no | yes | no | yes, details here | yes all Java primitives, Date, CLOB, BLOB, huge sparse arrays | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
XML support Some form of processing data in XML format, e.g. support for XML data structures, and/or support for XPath, XQuery or XSLT. | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Secondary indexes | yes All columns are indexed automatically | yes | no | yes | no manual creation possible, using inversions based on multi-value capability | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SQL Support of SQL | no | yes, wire compatible with PostgreSQL | no | SQL-like query language (GQL) | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
APIs and other access methods | RESTful HTTP API | JDBC | gRPC (using protocol buffers) API HappyBase (Python library) HBase compatible API (Java) | gRPC (using protocol buffers) API RESTful HTTP/JSON API | Access via java.util.concurrent.ConcurrentNavigableMap Interface Proprietary API to InfinityDB ItemSpace (boilerbay.com/docs/ItemSpaceDataStructures.htm) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Supported programming languages | .Net C C++ Erlang Java PHP Python Ruby Scala | C# C++ Clojure Go Java JavaScript (Node.js) PHP Python Ruby Rust | C# C++ Go Java JavaScript (Node.js) Python | .Net Go Java JavaScript (Node.js) PHP Python Ruby | Java | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Server-side scripts Stored procedures | no | no | no | using Google App Engine | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Triggers | no | no | no | Callbacks using the Google Apps Engine | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Partitioning methods Methods for storing different data on different nodes | none Sharding must be implemented in the application | horizontal partitioning (by key range) all tables are translated to an ordered KV store and then broken down into 64MB ranges, which are then used as replicas in RAFT | Sharding | Sharding | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Replication methods Methods for redundantly storing data on multiple nodes | yes | Multi-source replication using RAFT | Internal replication in Colossus, and regional replication between two clusters in different zones | Multi-source replication using Paxos | none | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MapReduce Offers an API for user-defined Map/Reduce methods | no | no | yes | yes using Google Cloud Dataflow | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Consistency concepts Methods to ensure consistency in a distributed system | Eventual Consistency Immediate Consistency can be specified for read operations | Immediate Consistency | Immediate consistency (for a single cluster), Eventual consistency (for two or more replicated clusters) | Immediate Consistency or Eventual Consistency depending on type of query and configuration Strong Consistency is default for entity lookups and queries within an Entity Group (but can instead be made eventually consistent). Other queries are always eventual consistent. | Immediate Consistency READ-COMMITTED or SERIALIZED | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Foreign keys Referential integrity | no | yes | no | yes via ReferenceProperties or Ancestor paths | no manual creation possible, using inversions based on multi-value capability | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Transaction concepts Support to ensure data integrity after non-atomic manipulations of data | no Concurrent data updates can be detected by the application | ACID | Atomic single-row operations | ACID Serializable Isolation within Transactions, Read Committed outside of Transactions | ACID Optimistic locking for transactions; no isolation for bulk loads | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Concurrency Support for concurrent manipulation of data | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Durability Support for making data persistent | yes | yes | yes | yes | yes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
In-memory capabilities Is there an option to define some or all structures to be held in-memory only. | no | no | no | no | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
User concepts Access control | Access rights for users and roles can be defined via the AWS Identity and Access Management (IAM) | Role-based access control | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | Access rights for users, groups and roles based on Google Cloud Identity and Access Management (IAM) | no | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More information provided by the system vendorWe invite representatives of system vendors to contact us for updating and extending the system information, | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Related products and servicesWe invite representatives of vendors of related products to contact us for presenting information about their offerings here. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
More resources | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Amazon SimpleDB | CockroachDB | Google Cloud Bigtable | Google Cloud Datastore | InfinityDB | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DB-Engines blog posts | The popularity of cloud-based DBMSs has increased tenfold in four years Amazon - the rising star in the DBMS market | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Recent citations in the news | Amazon SimpleDB Management in Eclipse | AWS News Blog Hands-on Tutorial for Getting Started with Amazon SimpleDB Amazon DynamoDB Serves Trillions Of Requests Per Month While Counterpart SimpleDB Is No Longer A Listed ... Farewell EC2-Classic, it's been swell An Overview of Amazon Web Services - Cloud Application Architectures [Book] provided by Google News | CockroachDB 23.2 Enhances Enterprise Architectures with Improved Postgres Compatibility and Built-in Resilience CockroachDB tempts legacy databases to crawl into the cloud age How to Unlock Real-Time Data Streams with CockroachDB and Amazon MSK | Amazon Web Services DoorDash Uses CockroachDB to Create Config Management Platform for Microservices How DoorDash Migrated from Aurora Postgres to CockroachDB provided by Google News | Google's AI-First Strategy Brings Vector Support To Cloud Databases Google Introduces Autoscaling for Cloud Bigtable for Optimizing Costs Review: Google Bigtable scales with ease Google scales up Cloud Bigtable NoSQL database Google introduces Cloud Bigtable managed NoSQL database to process data at scale provided by Google News | Google Cloud Stops Exit Fees BigID Data Intelligence Platform Now Available on Google Cloud Marketplace Best cloud storage of 2024 What is Google App Engine? | Definition from TechTarget Inside Google’s strategic move to eliminate customer cloud data transfer fees provided by Google News |
Share this page