Mục lục bài viết

Aurora

Amazon Aurora là một trong những option của RDS, là một DB tương thích với MySQL và PostgreSQL. Mặc dù có tính tương thích, nhưng hiệu suất cao hơn. Aurora được sử dụng để lưu trữ dữ liệu vào enterprise-scale relational database. Việc sao chép 6 bản sao dữ liệu (lưu trữ và cập nhật bản sao để luôn đồng bộ) trên 3 AZ giúp tăng cao tính khả dụng, việc loại bỏ các hoạt động nhập/xuất không cần thiết giúp giảm chi phí cơ sở dữ liệu.

Các loại DB có thể sử dụng

Ngoài elational databases như RDS, AWS còn cho phép sử dụng non-relational databases. Dưới đây là 3 non-relational databases.

Amazon Dynamo DB

Amazon Dynamo DB là một non-relational databases khá nổi tiếng. Dynamo DB là một cơ sở dữ liệu key-value (NoSQL) không cần máy chủ, có khả năng tự động mở rộng theo dung lượng và duy trì hiệu suất ổn định, được thiết kế để xử lý hơn 10 nghìn tỷ yêu cầu mỗi ngày. Do đó, Dynamo DB được sử dụng khi xử lý một lượng lớn truy cập, mở rộng nền tảng trò chơi hoặc phát triển ứng dụng phần mềm. 

Mongo DB

Mongo DB là một document-oriented database. Document-oriented database quản lý dữ liệu dưới dạng tài liệu. Có tốc độ xử lý nhanh, khả năng cân bằng tải thông qua “sharding” và thực hiện Redundancy thông qua tính năng replica set, dễ dàng tích hợp với hệ thống bên ngoài, xử lý dữ liệu phức tạp một cách dễ dàng. Tuy nhiên, không phù hợp với các hệ thống có tính nhất quán dữ liệu cao.

Amazon Document DB

Document DB là một dịch vụ fully managed database. Có nghĩa là AWS sẽ thực hiện tất cả các công việc quản lý hệ thống cần thiết. Có thể dễ dàng thiết lập, vận hành và mở rộng cơ sở dữ liệu tương thích với Mongo DB trong môi trường đám mây. Do đó, bạn có thể chạy cùng một code ứng dụng và sử dụng cùng một trình điều khiển và công cụ. Ưu điểm là không cần quản lý máy chủ, lưu trữ không giới hạn và tự động mở rộng, tốc độ xử lý nhanh giúp cải thiện hiệu suất.

Ngoài cơ sở dữ liệu key-value và cơ sở dữ liệu document-oriented, còn có cơ sở dữ liệu cột, bạn có thể ghi lại dữ liệu trong cùng một cột của bảng, và cơ sở dữ liệu hướng đồ thị, cho phép bạn biểu diễn kết nối giữa dữ liệu dưới dạng đồ thị. 

Lợi ích của Non-Relational Databases(NoSQL) khi so với RDS

NoSQL bao gồm DynamoDB, ElastiCache, Redshift, Neptune, và hiện tại AWS hỗ trợ tổng cộng 9 loại. NoSQL, viết tắt của “Not Only SQL”, là một cơ sở dữ liệu được thiết kế để giải quyết các vấn đề mà RDBMS không thể giải quyết được (ví dụ: dữ liệu không thể lưu trữ dưới dạng bảng). Do đó, NoSQL phù hợp cho việc lưu trữ lượng lớn dữ liệu hình ảnh hoặc âm thanh.

NoSQL hỗ trợ nhiều mô hình dữ liệu khác nhau như kiểu key-value và document-oriented. Trong khi đó, RDS chỉ hỗ trợ mô hình dữ liệu dựa trên cấu trúc bảng, do đó không thể sử dụng các mô hình dữ liệu khác nhau. Ngoài ra, so với RDS, NoSQL có khả năng xử lý lượng lớn dữ liệu một cách nhanh chóng. Trong khi RDS có thể chậm lại khi dữ liệu tăng lên. Một lợi ích khác của NoSQL là khả năng mở rộng và cân bằng của hệ thống. Hệ thống RDS được thiết kế để hoạt động trên một máy chủ duy nhất, nhưng với sự tăng lên của lượng dữ liệu, có thể một máy chủ không đủ để xử lý. Với NoSQL, có khả năng mở rộng ra nhiều máy chủ (scale-out), do đó có khả năng mở rộng và cân bằng tải cao.

Tóm lại, NoSQL có 3 lợi ích khi so với RDS là khả năng sử dụng nhiều mô hình dữ liệu, khả năng xử lý lượng lớn dữ liệu một cách nhanh chóng, khả năng mở rộng và cân bằng cao của hệ thống. Việc lựa chọn cơ sở dữ liệu phù hợp với nhu cầu của hệ thống là rất quan trọng.