Database Reference
In-Depth Information
DynamoDB versus MongoDB
Both DynamoDB and MongoDB are NoSQL databases used to build for high scalability,
high performance, and high availability. The main difference between the two is that Dy-
namoDB is a service provided by Amazon AWS, so it can only run in AWS. MongoDB is a
software application provided by the database company MongoDB Inc (formerly known as
10gen Inc), which can be installed and run anywhere. From the data model point of view,
DynamoDB is a key-value database, which means that it's a columnar database, whereas
MongoDB is a document-oriented Database. DynamoDB abstracts all the operations details
of replication and sharding of the database from the end user, but in MongoDB we have
full access to the source code and can dig into the file formats. This might be an advantage
or a disadvantage. MongoDB uses internal memory to store the (windowed) working set,
enabling faster access to data. So if our datasets are much larger than the accessible
memory, then DynamoDB scales to much larger datasets.
DynamoDB is suitable for use cases where data access is by one or two dimensions of data,
but if your data access patterns state more than two dimensions of data, then MongoDB is a
better option, because it supports any number of indexes. MongoDB has major limitations
when running MapReduce jobs, but DynamoDB integrates with Elastic MapReduce
( EMR ) and reduces the complexity of analyzing unstructured data.
If you have an AWS account, then DynamoDB is very simple to use, which means that we
have to work only on applications, whereas other management of the database server would
be handled by AWS. This means that if you have less manpower, then it's good to use Dy-
namoDB. If we use DynamoDB, then other Amazon services, such as CloudSearch, Elastic
MapReduce, and other services for database backup and restore can be easily integrated
with it so that it can speed up development and reduce the cost of server management. In
MongoDB, we must have the right servers, installation, and configurations. AWS provides
excellent performance with DynamoDB by giving single-digit latency on very heavy data
traffic. All data is replicated synchronously across all availability zones without any down-
time, even while there are frequent throughput updates. The Amazon DynamoDB pricing
policy is pay only for what you use , which means you can buy on operations-per-second
capability instead of CPU hours or storage space. You have to specify the request through-
put of your table you want to achieve (the capacity you request to reserve for reads and
writes). The official AWS SDK supports Java, JavaScript, Ruby, PHP, Python, and .NET,
while MongoDB mostly supports the likes of C, C++, Perl, Erlang, PowerShell, ProLog,
MATLAB, and so on.
Search WWH ::




Custom Search