DEV Community

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

Posted on

4

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

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

Best Practices for Running  Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK cover image

Best Practices for Running Container WordPress on AWS (ECS, EFS, RDS, ELB) using CDK

This post discusses the process of migrating a growing WordPress eShop business to AWS using AWS CDK for an easily scalable, high availability architecture. The detailed structure encompasses several pillars: Compute, Storage, Database, Cache, CDN, DNS, Security, and Backup.

Read full post

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay