dynobase-icon
Dynobase

DynamoDB vs Oracle NoSQL - The Ultimate Comparison

Kavindu Gunathilake

Written by Kavindu Gunathilake

Published on November 20th, 2022

    Still using AWS console to work with DynamoDB? 🙈

    Time to 10x your DynamoDB productivity with Dynobase [learn more]

    DynamoDB is one of the longest-running serverless, fully-managed NoSQL database services offered by AWS. On the other hand, Oracle has recently introduced a NoSQL database cloud service to compete with other NoSQL solutions like DynamoDB, MongoDB, and Apache Cassandra.

    This article will contrast DynamoDB and Oracle (specifically their NoSQL offering).

    Database Models and Popularity

    DynamoDB Database Models

    DynamoDB is both a key-value and document database model that falls into the top two positions in database engine rankings. According to the analysis by SolidIT, DynamoDB ranks second in document DB rankings as of November 2022.

    Oracle Database Models

    Relational DBMS is Oracle's primary database model. In addition, Oracle has document store models, Graph DBMS, RDF store, and Spatial DBMS as its secondary database models. According to the analysis, Oracle Document DB ranks 16th among competitors and is also a key-value store database.

    Data Consistency

    DynamoDB

    DynamoDB offers two kinds of data consistency for data access. These are:

    1. Strongly Consistent
    2. Eventually Consistent

    An eventually consistent read is where the data returned from DynamoDB might not reflect the actual data state of a recent write operation. Hence, it may return stale data but offers a quick response time.

    On the other end of the spectrum is the "Strongly Consistent Reads." A strongly consistent read will ensure that DynamoDB always returns the most up-to-date data from the database. However, this might increase the latency and will sometimes throw an error if there is a network delay or outage.

    A developer can specify the data consistency in the read operation by using the ConsistentRead parameter.

    Oracle NoSQL

    In Oracle NoSQL, if you don't configure your consistency level or if you define it as Consistency.NONE_REQUIRED, it will eventually be consistent across storage locations, taking a short time. It allows for maximum storage performance, but there is a high probability that your application will read outdated data.

    In Oracle NoSQL databases, it says ABSOLUTE consistency to obtain the most updated data. The developer can set the read consistency policy globally. If they need to change the read consistency policy, they can override it for each read operation. The following method is used to set the consistency level.

    Common Drawbacks with STRONG Consistency

    By having Strong or Absolute consistency, both DyamoDB and Oracle NoSQL databases face a few common drawbacks.

    • Data reads may have higher latency than eventually consistent reads.
    • Strongly consistent readings are not available under network failures or stakes.

    Latency and Performance

    DynamoDB

    DynamoDB uses SSDs for data storage so that any data can be stored and accessed with the expected low latency response time. Furthermore, SSD can manage the workload of many large-scale requests and has high I/O efficiency. Additionally, DynamoDB utilizes a request router which creates an O(1) time complexity (constant time), allowing DynamoDB to perform the same in low/heavy workloads with single-digit millisecond latency.

    However, if single-digit millisecond latency is not enough, you can use the DynamoDB Accelerator (DAX) to achieve a micro-second latency.

    Oracle NoSQL

    At the 95th percentile, the Oracle NoSQL Database Cloud service offers predictable single-digit millisecond latencies. Using additional replicas facilitates load balancing and gives the application with faster readings.

    Availability and Durability

    DynamoDB

    By default, DynamoDB replicates all your data across multiple availability zones within a single region. Hence, if one AZ fails, the data will be fetched from another AZ, ensuring your data is accessible at any given time.

    Additionally, DynamoDB offers global tables to help replicate your data across a global region. This is widely used if your application consists of users that access your data from across the world. If there is a region outage, your application can access a replicated database in another region.

    Oracle NoSQL

    Oracle Databases are of two types:

    1. NoSQL Database Enterprise Edition.
    2. NoSQL Database Cloud Services

    The cloud service database is entirely serverless, and the enterprise edition needs to be managed by customers. The Oracle NoSQL database creates two replica tables in different select regions while creating the master table. In case of failures or isolations, one of these tables automatically becomes a master table and helps with transactions.

    To sum up, the NoSQL Database Cloud Service is more durable and has higher availability than the Enterprise Edition.

    Scalability

    DynamoDB

    AWS reports indicate that DynamoDB managed 89.2 million requests per second at its peak while keeping single-digit millisecond performance. Generally, DynamoDB can handle more than 20 million requests per second and over 10 trillion requests per day, thus making the service almost infinitely scalable.

    Oracle NoSQL

    Oracle NoSQL is a document-type database solution with elastic scaling to meet dynamic workloads. Therefore, you should pay only for output units consumed when choosing the On-Demand capacity model.

    Security

    DynamoDB

    DynamoDB uses AWS Key Management Service to create, store and manage its encryption keys. By default, DynamoDB implements Encryption at Rest using an AWS Owned KMS Key. However, developers have the capability of using a Customer Owned KMS Key or an AWS Managed Key,

    Oracle NoSQL

    In the Oracle NoSQL database, your data is encrypted at rest with Advanced Encryption Standard (AES 256). In addition, information is secure when traveling between the NoSQL database and the application because every transaction used is an HTTPS protocol, which we call Encryption in Transit.

    Pricing

    Pricing can be your deciding factor in choosing between two vendors. The best offer that AWS gives you is it will provide you with free 25GB of storage and up to 200 million read/write requests under the AWS free tier monthly. Of course, all the changes will apply after exceeding this quota unless you request special features.

    Pricing for Provisioned Databases

    DynamoDB: us-east-1 (N. Virginia)

    • Storage cost - $6.25 per month for 25 GB
    • Read requests - $0.09 per month for 1 read capacity unit
    • Write requests - $0.47 per month for 1 write capacity unit

    Oracle

    • Storage cost - $1.65 per month for 25 GB
    • Read requests - $0.01 per month for 1 read capacity unit
    • Write requests - $0.13 per month for 1 write capacity unit

    Pricing for On-Demand Databases

    DynamoDB: us-east-1 (N. Virginia)

    • Storage cost - $6.25 per month for 25 GB
    • Read requests - $0.01 per month for 10000 read capacity units
    • Write requests - $0.25 per month for 1000000 write capacity unit

    Oracle

    • Storage cost - $1.65 per month for 25 GB
    • Read requests - $0.16 per month for 1 read capacity unit
    • Write requests - $3.14 per month for 1 write capacity unit

    According to the above price details, you can get an idea of the most suitable database option. DynamoDB will be the comparatively clear winner if your throughput capacity is unpredictable. If throughput capacity is predictable, Oracle takes the flag, but DynamoDB may have a chance to beat it with its free tier benefits.

    The links below will take you to the relevant database price calculators.

    Use Cases

    DynamoDB

    DynamoDB offers responses with a single-digit millisecond to microsecond latency. Its capability to serve extremely demanding mission-critical workloads makes it more suitable for the following:

    1. Building applications that receive millions of requests per day.
    2. Building solutions that require a flexible schema-less data structure and a suitable partition approach.

    Oracle NoSQL

    Oracle NoSQL can be used in cases where traditional NoSQL databases are used. For example:

    1. Building e-commerce applications: Due to its fast response time, Oracle NoSQL is a good candidate for compiling e-commerce applications as it allows users to get faster response times.
    2. IoT - To handle fast read and write requests of an IoT-driven backend, Oracle NoSQL makes a good choice due to its capability to withstand demanding writes.

    Conclusion

    This article provides an in-depth analysis of the similarities between Amazon DynamoDB and Oracle NoSQL. Therefore, this article should help you find the right database service for your next big project!

    Thank you for reading.

    Tired of switching accounts and regions? Use Dynobase.

    Try 7-day free trial. No credit card needed.

    Product Features

    © 2022 Dynobase