DEV Community

Cover image for Exploring new AWS Aurora DSQL. What is it ? Why it is important ? How to quickstart ?

Exploring new AWS Aurora DSQL. What is it ? Why it is important ? How to quickstart ?

What is New with AWS DSQL?

Amazon Web Services (AWS) has introduced Amazon Aurora DSQL, a new serverless, distributed SQL database. Here are the key aspects of this service:

Serverless Architecture: Aurora DSQL is designed to be fully serverless, meaning there's no need to provision, patch, or manage database instances. All updates and security patching occur with no downtime and zero impact on performance.

Distributed SQL: It provides a distributed SQL database with active-active architecture across multiple regions, supporting virtually unlimited scalability.

PostgreSQL Compatibility: DSQL is PostgreSQL-compatible, allowing developers to use familiar PostgreSQL tools, drivers, and SQL features.

Performance & Scalability:
Offers 4x faster reads and writes compared to other popular distributed SQL databases.
Automatically scales to meet workload demand without the need for sharding or instance upgrades.

High Availability:
Ensures 99.99% availability in a single region and 99.999% in multi-region configurations.
Uses an active-active setup for automated failure recovery and no single point of failure.

Concurrency Control: Employs optimistic concurrency control (OCC) instead of traditional locking approaches, which is particularly useful in distributed environments for reducing contention.

Security Features: Integrates with AWS Identity and Access Management (IAM) for authentication and authorization, and all data is encrypted at rest and in transit.

Why is AWS DSQL Important?

Simplification of Architectures: DSQL simplifies scaling and application architecture, especially when paired with other serverless AWS services like Lambda, potentially allowing for fully serverless setups that can handle high throughput and remain resilient to availability zone (AZ) failures without managing infrastructure.

Innovative Transaction Handling: It introduces new methods for handling transactions, conflict detection, and durability, which are crucial for ensuring data integrity and consistency in distributed environments.

Performance Leap: The performance claims, particularly the 4x speed improvement over competitors like Google Spanner, are significant for applications requiring low-latency and high-throughput transactions across regions.

Ease of Use for PostgreSQL Users: Developers familiar with PostgreSQL can leverage this database without significant changes to their existing codebase or development practices, yet gain benefits of distributed systems.

Multi-Region Consistency: With strong consistency across regions, it's crucial for applications where data must be consistent across multiple geographic locations, addressing a common challenge in distributed databases.

Cost Efficiency: Being serverless, it allows for a pay-as-you-go model, potentially reducing costs for applications with variable workloads by only charging for what is used.

Aurora DSQL represents AWS's continued investment in database technologies, aiming to provide solutions that meet the evolving needs of modern applications for scalability, performance, and ease of management.

How to quickstart?

Follow the steps at Getting started with Aurora DSQL

When you use the commands at step 6 to include and copy sample database, you will see errors because the github repo has a different path name.

so need to fix below:
instead :
"\include samples/department-insert-multirow.sql
\copy example.invoice(created, purchaser, amount) from samples/invoice.csv csv
"

use below with correct path name, so the command will WORK : 
\include aurora-dsql-samples/quickstart_data/department-insert-multirow.sql
\copy example.invoice(created, purchaser, amount) from aurora-dsql-samples/quickstart_data/invoice.csv csv

see repo at https://github.com/aws-samples/aurora-dsql-samples/tree/main/quickstart_data
after I git clone , then 
[cloudshell-user@ip-10-130-76-171 quickstart_data]$ pwd
/home/cloudshell-user/aurora-dsql-samples/quickstart_data
[cloudshell-user@ip-10-130-76-171 quickstart_data]$ ls
department-insert-multirow.sql  invoice.csv

Enter fullscreen mode Exit fullscreen mode

References/sources:

Step by step guide with screen captures to quickstart:

step1

step2

step3

step4

step5

step6

step7

tutorial has the wrong pathnames, this will cause errors!

github repo has a different pathname

need to fix the pathname like github repo

follow the correct pathname after git clone

use the correct pathname to continue

submitted a doc bug to fix the tutorial

doc bug fix

Top comments (0)