What users are saying about

Amazon DynamoDB

Top Rated
52 Ratings

MemSQL

7 Ratings

Amazon DynamoDB

Top Rated
52 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>
Score 8.2 out of 101

MemSQL

7 Ratings
<a href='https://www.trustradius.com/static/about-trustradius-scoring' target='_blank' rel='nofollow'>trScore algorithm: Learn more.</a>
Score 8.8 out of 101

Add comparison

Likelihood to Recommend

Amazon DynamoDB

DynamoDB is great for two cases. The first is for services that do not experience high loads or demand high availability. DynamoDB is inexpensive, and it provides great developer velocity. The second is for applications that demand high performance, have well-understood requirements, and a narrow range of queries.
No photo available

MemSQL

MemSQL is especially useful to serve as a back-end storage for spark streaming, and also small update problems. The streamliner technology is very helpful to process daily streaming data and consequent data analysis. Same SQL syntax is also very handy for people to learn and use.
Sachin Aggarwal profile photo

Feature Rating Comparison

NoSQL Databases

Amazon DynamoDB
7.9
MemSQL
Performance
Amazon DynamoDB
8.0
MemSQL
Availability
Amazon DynamoDB
8.4
MemSQL
Concurrency
Amazon DynamoDB
9.0
MemSQL
Security
Amazon DynamoDB
8.7
MemSQL
Scalability
Amazon DynamoDB
9.7
MemSQL
Data model flexibility
Amazon DynamoDB
4.0
MemSQL
Deployment model flexibility
Amazon DynamoDB
7.3
MemSQL

Pros

  • DynamoDB is fully-managed. In the early days, it lacked features like backups, and developers had to either implement some of their own backup functionality or live dangerously. Today, DynamoDB's claim to be fully-managed is more credible. Backups can be configured through the console. Table capacity does not even need to be planned anymore; you can scale (and pay) on-demand.
  • DynamoDB is inexpensive for some use-cases. In particular, DynamoDB is very inexpensive when you create a datastore for a low-volume micro-service, or a stateful background job. DynamoDB is much less expensive than RDS or Elasticache for these use-cases, and it allows developers to design systems without worrying about cost.
  • DynamoDB is fast when used for the use-cases it was designed for.
  • DynamoDB supports the development experience and testing reasonably well. AWS provides an official DynamoDB image that can be used in tests locally or in CI.
No photo available
  • Faster query speed than traditional SQL database.
  • It con server in the pipeline to deal with streaming data with Kafka, spark streaming and MemSQL
  • It is very scalable.
Sachin Aggarwal profile photo

Cons

  • Better querying capability, we had a requirement where we wanted to index and query nested arrays. For example: our sample data structure: {a: [{b: ['array of interest' ]}]}. DynamoDB does not provide neat way to query the 'array of interest'. Hence we had to shift few of our Databases from DynamoDB to Postgres.
  • DynamoDB does not offer any sort of database functions or triggers that would help manipulate the data before performing a transaction. This is key for part of our NoSQL datastore. For example: we wanted to manually maintain consistency of order variable in a JSON array i.e. if we add an element to middle of the array, the order of rest of the elements should shuffle within a single transaction. This functionality leaves something to be desired from DynamoDB.
  • Transaction management is something that DynamoDB does not offer. For example: if we want to perform a read and write within a same transaction, DynamoDB does not offer this capability. Hence, DynamoDB is not a great fit for highly concurrent environment.
Anudeep Palanki profile photo
  • Provide faster python API for invoking MemSQL
  • MemSQL connection between spark failed when more than around 48 partitions data processing
  • Better tuning of MemSQL performance on Scale-up server
Sachin Aggarwal profile photo

Likelihood to Renew

Amazon DynamoDB6.9
Based on 13 answers
For non relational data, DynamoDB is my go-to datastore. It scales with my needs, and offers a price to performance ratio that is unmatched--especially when factoring in management time.
Alan Balasundaram profile photo
MemSQL5.0
Based on 1 answer
I still want to see the performance about using latest version of spark and memsql. About renewal, if there is a new and better version of spark-memsql connector, then maybe.
Tianwen Chu profile photo

Alternatives Considered

Richard Rout profile photo
I have tried using CSV as a back-end storage, yet I/O is very heavy, direct transit from spark to MemSQL in memory really beats.
Sachin Aggarwal profile photo

Return on Investment

  • Scalability out of the box
  • No server maintenance
  • Infrastructure comes for "free"
Richard Rout profile photo
  • It offers me solution to solve spark storage problem
  • It adds more complexity of my application since multiple tech softwares are involved.
  • More types of bugs will be encountered when doing streamliner, including hardware connection.
Sachin Aggarwal profile photo

Pricing Details

Amazon DynamoDB

General
Free Trial
Free/Freemium Version
Premium Consulting/Integration Services
Entry-level set up fee?
No
Additional Pricing Details

MemSQL

General
Free Trial
Free/Freemium Version
Premium Consulting/Integration Services
Entry-level set up fee?
No
Additional Pricing Details