Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is SimpleDB similar to MongoDB? Are they both key/value type databases?

Is SimpleDB similar to MongoDB?

like image 516
mrblah Avatar asked Dec 10 '09 22:12

mrblah


People also ask

Is MongoDB a key-value database?

MongoDB as a key-value store The ability of MongoDB to efficiently store flexible schema documents and perform an index on any of the additional fields for random seeks makes it a compelling key-value store.

Is SimpleDB a NoSQL?

Amazon SimpleDB is a highly available NoSQL data store that offloads the work of database administration. Developers simply store and query data items via web services requests and Amazon SimpleDB does the rest.

Which is the best example for key-value store?

Examples of Popular Key-Value DatabasesAmazon DynamoDB: Probably the most widely used key-value store database, in fact, it was the research into DynamoDB that really started making NoSQL really popular. Aerospike: Open-source database that is optimized for in-memory storage.

Is SimpleDB relational database?

Amazon SimpleDB is not a relational database and sacrifices complex transactions and relations (i.e., joins) in order to provide unique functionality and performance characteristics.


2 Answers

The most substantial similarity is the fact that they both avoid the relational model. Other than that, they are mainly different any way you look at them. Here is a breakdown of a dozen or so ways to compare them.

SimpleDB

  1. An Amazon service hosted, maintained and scaled by Amazon. You are billed for what you use each month beyond the free usage tier.
  2. All data is replicated live in the background across multiple data centers
  3. All replicas are able to service live requests
  4. After a network or server failure any out of sync nodes will resync automatically
  5. Background replication results in eventual consistency but higher (theoretical) availability
  6. All data is stored as String name / String value pairs, each associated with an ItemName
  7. Each item is limited to half a megabyte (each name or value can only be 1024 bytes long, each item holds 256 name / value pairs) and each domain can hold 10GB
  8. These limits make it suitable for data sets that can be broken down into small pieces.
  9. SimpleDB is optimized for many small requests executed in parallel
  10. Throughput limits are in place for each domain of data
  11. Horizontal Scalability is achieved by spreading your data across more domains
  12. All attributes values are indexed automatically, compound indexes don't exist (but can be simulated)
  13. Queries are performed using a (stripped down) SQL Select-like query language

MongoDB

  1. An open source product that you install and maintain on your own servers.
  2. Data can be replicated in master-slave mode
  3. Only the master can service live write requests, slave can service queries (except in non-recommend limited-master-master mode)
  4. After a network or server failure or when a replica falls too far behind, operator intervention will always be required.
  5. The single master is strongly consistent.
  6. All data is stored as serialized JSON documents, allowing a large set of data types
  7. Each document is limited to 4MB, larger documents can be stored using a special document chunking system
  8. Most Suitable for small and medium sized data, and small binary objects
  9. Throughput limits are dictated by MongoDB and your hardware
  10. Vertical scalability via a bigger server, potential for future horizontal scalability across your own server cluster via a sharding module currently in development.
  11. The document id is indexed automatically. Indexes can be created and deleted as needed. Indexes can be for a single key or compound.
  12. Queries are performed using a JSON style query language.
like image 134
Mocky Avatar answered Sep 21 '22 06:09

Mocky


SimpleDB is described as:

The data model is simply:

  • Large collections of items organized into domains.
  • Items are little hash tables containing attributes of key, value pairs.
  • Attributes can be searched with various lexicographical queries.

MongoDB is a bit simpler:

The database manages collections of JSON-like documents which are stored in a binary format referred to as BSON.

like image 42
nes1983 Avatar answered Sep 18 '22 06:09

nes1983