views:

681

answers:

2

is simpledb very much like mongodb?

+2  A: 

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.

nes1983
+11  A: 

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.
Mocky