Amazon® Web Services® (AWS®) cung cấp dịch vụ database (DB) theo cả mô hình Database-as-a-Service (DBaaS) và Platform-as-a-Service (PaaS) cho cả database quan hệ (relational) và phi quan hệ (non-relational).
Các dịch vụ này có sẵn cho hầu hết sản phẩm license và mã nguồn mở do các nhà cung cấp dịch vụ lớn cung cấp. AWS cung cấp phương pháp hiệu quả và tiết kiệm chi phí để cài đặt và quản lý DB an toàn và có khả năng mở rộng ở cấp độ doanh nghiệp.
Bài viết này giới thiệu ngắn gọn các dịch vụ AWS DBMS và các tính năng khiến chúng trở thành dịch vụ DBMS phổ biến cho bất kỳ nền tảng đám mây nào. Chúng tôi giới thiệu các dịch vụ AWS sau:
- RDS: dịch vụ RDBMS
- Aurora: dịch vụ RDBMS nội bộ (in-house)
- Dynamo DB: dịch vụ phi quan hệ (non-relational)
- DMS: dịch vụ migration database
Dịch vụ Amazon DBMS
Hình ảnh sau cho thấy các loại DBMS dựa trên tổ chức dữ liệu:
AWS cung cấp nhiều dịch vụ DB có license và miễn phí cho người dùng. Các dịch vụ này rơi dưới cả hai đầu: dịch vụ database quan hệ và phi quan hệ. Bên cạnh việc cung cấp DBMS engine từ các công ty phổ biến như Oracle® và Microsoft®, Amazon cung cấp dịch vụ DBMS nội bộ gọi là Aurora®, rất tiên tiến, an toàn, và đáng tin cậy. Bên cạnh việc cung cấp dịch vụ RDBMS chuyên dụng, AWS cũng cung cấp dịch vụ Aurora, một dịch vụ DBMS nhẹ, theo nhu cầu (on-demand), và tự động mở rộng (auto-scaling).
Amazon Relational Database Service (RDS)
Một số hệ thống DB quan hệ nổi tiếng có sẵn trong Amazon Relational Database Services (RDS) bao gồm Aurora, PostgreSQL®, MySQL®, MariaDB®, Oracle®, v.v.
RDS có các tính năng sau:
- DBaaS (Database as a Service) dùng để provision database hoàn toàn chức năng mà không có gánh nặng admin.
- Chạy trên máy ảo (virtual machines) dù bạn không thể đăng nhập vào các server này.
- AWS lo việc patching hệ điều hành (OS) và DB của RDS.
- RDS hỗ trợ nhiều DB engine, bao gồm MYSQL, MariaDB, PostgreSQL, Oracle, MS SQL server, và Aurora.
- Bạn có thể triển khai RDS trong một hoặc nhiều Availability Zones (AZ).
- Nhiều tùy chọn backup có sẵn, bao gồm tự động trên S3 và snapshot thủ công.
- Khi restore bằng bất kỳ backup nào, DB khôi phục là một instance hoàn toàn mới.
- Khả năng phục hồi (Resiliency) dùng nhiều AZs (mô hình primary và standby) cung cấp replication đồng bộ (synchronous) và failover tự động không cần can thiệp.
- Bạn có thể tăng cường hiệu suất bằng read replicas cung cấp bản sao bất đồng bộ (asynchronous) read-only.
- Hiệu suất được cung cấp qua read replica.
Amazon Aurora
Amazon Aurora là dịch vụ database quan hệ của AWS. Theo Aurora User Guide, "Aurora là một phần của dịch vụ database được quản lý Amazon Relational Database Service (Amazon RDS). Amazon RDS là dịch vụ web giúp dễ dàng thiết lập, vận hành, và mở rộng database quan hệ trong đám mây."
Dưới đây là một số tính năng của dịch vụ DBMS Amazon Aurora:
- "Amazon Aurora là database quan hệ tương thích MySQL và PostgreSQL được xây dựng cho đám mây, kết hợp hiệu suất và tính sẵn sàng của database doanh nghiệp truyền thống với sự đơn giản và hiệu quả chi phí của database mã nguồn mở." (từ tài liệu Amazon Aurora)
- "Amazon Aurora nhanh gấp năm lần so với MySQL tiêu chuẩn và gấp ba lần so với PostgreSQL tiêu chuẩn. Nó cung cấp bảo mật, tính sẵn sàng, và độ tin cậy của database thương mại với 1/10 chi phí." (từ tài liệu Amazon Aurora)
- Sử dụng cấu hình cơ sở của một cluster. Nó chứa một primary instance đơn lẻ và không hoặc nhiều replica.
- Tất cả instance dùng shared storage, gọi là cluster volumes, và tự chữa lành (auto-healing). Cluster volumes tự động scale, và AWS chỉ tính phí cho dung lượng tiêu thụ trong khi liên tục backup lên S3.
- Tối thiểu ba availability zones chứa hai bản sao dữ liệu, với tối thiểu ba AZ, nên có ít nhất sáu bản sao dữ liệu.
- Aurora storage tự chữa lành bằng cách quét liên tục các block dữ liệu và ổ đĩa và tự động sửa lỗi.
- Lên đến 15 replica có thể, cung cấp cơ sở cho parallel query (truy vấn song song).
- Đọc-ghi dùng endpoint, cân bằng kết nối trên tất cả replica.
Aurora Serverless
Theo Using Amazon Aurora Serverless v1, Amazon Aurora Serverless "là cấu hình autoscaling theo nhu cầu (on-demand) cho Amazon Aurora. Một Aurora Serverless DB cluster là DB cluster scale dung lượng compute lên và xuống dựa trên nhu cầu ứng dụng của bạn. Điều này tương phản với Aurora provisioned DB clusters, nơi bạn quản lý dung lượng thủ công. Aurora Serverless cung cấp tùy chọn tương đối đơn giản, hiệu quả chi phí cho workload không thường xuyên, gián đoạn, hoặc không thể dự đoán. Nó hiệu quả chi phí vì nó tự động khởi động, scale dung lượng compute khớp với việc sử dụng ứng dụng, và tắt khi không sử dụng."
Tính năng Aurora Serverless bao gồm:
- Nó dựa trên cùng DB engine như Aurora, nhưng thay vì provision phần cứng, AWS xử lý nó như dịch vụ.
- Bạn cần chỉ định số lượng Aurora Capacity Unit (ACU) tối đa và tối thiểu tính bằng GB bộ nhớ.
- Bạn có thể dùng Data API để truy vấn DB (như
toad). - Nó được tính phí trên cơ sở giây (per-second basis) và có thể tạm dừng (pause) trong thời gian không hoạt động chỉ tính phí storage.
- Nó lý tưởng cho kịch bản pattern sử dụng không xác định với ứng dụng nhẹ và tải phi tuyến tính (non-linear load).
Dynamo DB (No SQL)
DynamoDB có các tính năng sau:
- "Amazon DynamoDB là dịch vụ database NoSQL nhanh và linh hoạt cho tất cả ứng dụng cần độ trễ single-digit millisecond nhất quán ở bất kỳ quy mô nào. Nó là database được quản lý hoàn toàn và hỗ trợ cả mô hình dữ liệu document và key-value. Mô hình dữ liệu linh hoạt và hiệu suất đáng tin cậy làm cho nó phù hợp cho mobile, web, gaming, [ad-tech], Internet of Things (IoT), và nhiều ứng dụng khác." (Important Amazon Cloud Services)
- "Amazon DynamoDB là database key-value và document cung cấp hiệu suất single-digit millisecond ở bất kỳ quy mô nào. Nó là database fully managed, multi-region, [durable] với bảo mật tích hợp, backup và restore, và in-memory caching cho ứng dụng quy mô internet." (một whitepaper Amazon Database)
- DB service được phân vùng theo region (regionally partitioned) và cho phép tạo table.
- Table là tập hợp các item chia sẻ cùng partition key và sort key với cấu hình và cài đặt hiệu suất khác.
- Item là tập hợp attribute bên trong table chia sẻ cùng cấu trúc key như mọi item khác trong table.
- Attribute là key và value.
Ví dụ sau cho thấy một table, People, với ba item mà mỗi item có attribute: person id (primary key), last name, v.v.:
Nguồn ảnh: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.CoreComponents.html
AWS Database Migration Service (DMS)
AWS Database Migration Service (DMS) là công cụ migration database được cung cấp. Hình ảnh sau cho thấy migration dữ liệu giữa các dịch vụ:
Nguồn ảnh: https://aws.amazon.com/dms/
AWS Data Migration Systems (DMS) cung cấp các dịch vụ sau:
- "Giúp bạn migrate database sang AWS nhanh chóng và an toàn. Source database vẫn hoàn toàn hoạt động trong quá trình migration, giảm thiểu downtime cho ứng dụng phụ thuộc vào database." (https://digitalcloud.training/certification-training/aws-solutions-architect-associate/migration/aws-database-migration-service/)
- Cho phép bạn migrate dữ liệu vào AWS Cloud, giữa các instance on-premises (thông qua thiết lập AWS Cloud), hoặc giữa các tổ hợp cloud và on-premises.
- Hỗ trợ migration sang cùng DB engine cũng như DB engine khác, cả homogeneous và heterogeneous.
- "Tạo table và primary key liên quan nếu chúng không tồn tại trên target. Bạn có thể pre-create target tables [thủ công], hoặc dùng AWS Schema Conversion Tool (SCT) để tạo một số hoặc tất cả target tables, indexes, views, triggers, v.v." (AWS Database Migration Service)
- Không yêu cầu SCT nếu bạn di chuyển sang cùng DB engine.
Kết luận
Dịch vụ DBMS là một phần thiết yếu của bất kỳ tổ chức nào, và chúng ta đang ở giai đoạn dữ liệu được nói là "dầu mỏ" mới (new oil). Mặc dù dữ liệu thô có thể gây nhầm lẫn, một hệ thống DBMS phù hợp giúp người dùng với giao dịch và cung cấp insights (thông tin chi tiết) về nhiều thông tin. Nhưng DBMS là hệ thống phức tạp đòi hỏi cơ sở hạ tầng chuyên biệt và team có chuyên môn kỹ thuật vì bảo mật và khả năng mở rộng là thách thức lớn. AWS cung cấp nhiều engine DBMS cấp doanh nghiệp đáp ứng hầu như mọi use case và ràng buộc ngân sách và khả năng mở rộng tuyệt vời, bao gồm tùy chọn fully và partially managed. Bạn cũng có tùy chọn database backup, có thể tùy chỉnh theo nhu cầu và dùng AWS DMS để đơn giản hóa migration database. Do đó, đối với bất kỳ doanh nghiệp mới và đặc biệt là startup với ràng buộc ngân sách, AWS cung cấp môi trường hoàn hảo để đáp ứng yêu cầu. Khách hàng lớn, legacy cũng nhận ra tiềm năng của dịch vụ database AWS và đang chuyển dần về nó.
Tìm hiểu thêm về Dịch vụ Dữ liệu AWS của chúng tôi.
Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể bắt đầu cuộc hội thoại với chúng tôi.