Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tổng quan về các hệ quản trị cơ sở dữ liệu trong aws

    TỔNG QUAN VỀ CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU TRONG AWS

    Trong AWS, có rất nhiều lựa chọn về cơ sở dữ liệu (database). Mỗi loại phù hợp cho từng kiến trúc, từng cách sử dụng khác nhau. Điều quan trọng nhất là hiểu nên chọn database nào dựa theo nhu cầu thực tế của ứng dụng.
    Dưới đây là các tiêu chí giúp bạn chọn đúng database:

    1. CÁCH CHỌN DATABASE PHÙ HỢP


    Khi thiết kế một hệ thống, bạn cần tự trả lời các câu hỏi sau: • Hệ thống đọc nhiều, ghi nhiều hay cân bằng cả hai?

    • Lượng dữ liệu cần lưu trữ là bao nhiêu và tăng trưởng thế nào?

    • Kích thước trung bình của dữ liệu? Cách truy cập dữ liệu?

    • Cần độ bền dữ liệu (durability) ra sao? Database có phải nguồn dữ liệu sự thật (source of truth) không?

    • Độ trễ (latency) yêu cầu? Số lượng user truy cập đồng thời?

    • Dữ liệu có cấu trúc hay không? Có dùng JOIN hay không?

    • Bạn cần schema chặt chẽ hay cần sự linh hoạt?

    • Có cần phân tích dữ liệu, tìm kiếm văn bản, hay thời gian thực?

    • Chi phí license? Có muốn dùng cloud-native như Aurora để giảm chi phí không?

    Việc trả lời các câu hỏi này sẽ dẫn đến quyết định chọn SQL, NoSQL, GraphDB, Search, Time-series hay Object Storage

    2. CÁC LOẠI DATABASE TRONG AWS


    AWS cung cấp nhiều dịch vụ database, mỗi loại phục vụ một mục đích riêng: RDBMS (SQL / OLTP): RDS và Aurora – rất phù hợp khi cần JOIN

    NoSQL: DynamoDB, ElastiCache, Neptune, DocumentDB, Keyspaces

    Object Storage: S3 và Glacier

    Data Warehouse / Analytics: Redshift, Athena, EMR

    Search Engine: OpenSearch – tìm kiếm full text

    Graph Database: Neptune – quan hệ dữ liệu phức tạp

    Ledger Database: QLDB – ghi lại toàn bộ lịch sử thay đổi

    Time Series Database: Timestream – lưu dữ liệu theo mốc thời gian, IoT

    3. TÓM TẮT TỪNG DỊCH VỤ DATABASE QUAN TRỌNG

    Amazon RDS – Database quan hệ quen thuộc


    RDS hỗ trợ:
    • PostgreSQL, MySQL, Oracle, SQL Server, MariaDB
    • Tự động mở rộng lưu trữ
    • Sao lưu tự động, phục hồi đến thời điểm (tối đa 35 ngày)
    • Hỗ trợ Read Replica, Multi-AZ
    • Bảo mật IAM, Security Groups, KMS
    • Có RDS Custom cho Oracle & SQL Server
    • Dùng tốt cho ứng dụng OLTP, hệ thống dạng giao dịch, dữ liệu quan hệ.
    Amazon Aurora – SQL nhưng mạnh mẽ hơn RDS


    Aurora tương thích MySQL và PostgreSQL nhưng:
    • Tách Storage và Compute
    • Dữ liệu lưu 6 bản sao trên 3 AZ, tự phục hồi
    • Auto-scaling Read Replicas
    • Hỗ trợ Aurora Serverless cho workload không ổn định
    • Aurora Global cho ứng dụng đa vùng (multi-region)
    • Tích hợp Machine Learning cùng Sagemaker
    • Có tính năng cloning rất nhanh
    • Dùng khi cần hiệu năng cao hơn RDS nhưng vẫn tương thích SQL.
    ElastiCache – Tăng tốc ứng dụng với Redis hoặc Memcached


    ElastiCache cung cấp:
    • Lưu dữ liệu trong RAM với độ trễ cực thấp
    • Multi-AZ, clustering
    • Backup, snapshot
    • Tuy nhiên cần chỉnh sửa code ứng dụng để tích hợp
    • Dùng để cache truy vấn DB, lưu session website, xử lý key-value tốc độ cao.
    DynamoDB – NoSQL Serverless hàng đầu


    DynamoDB là database NoSQL:
    • Serverless, tự động mở rộng
    • Latency tính bằng mili-giây
    • Hỗ trợ 2 chế độ: provisioned hoặc on-demand
    • DAX để tăng tốc đọc (micro-second latency)
    • DynamoDB Streams để kích hoạt Lambda
    • Global Table cho đa vùng hoạt động đồng thời
    • Backup tự động, phục hồi PITR
    • Lưu các object JSON nhỏ, hệ thống serverless.
    Amazon S3 – Lưu trữ đối tượng (Object Store)


    S3 là kho lưu trữ lớn, phù hợp:
    • File tĩnh, ảnh, video, log
    • Serverless, scale vô hạn, lưu file tối đa 5 TB
    • Có nhiều tier như Standard, IA, Intelligent Tiering, Glacier
    • Bảo mật IAM, Bucket Policy, ACL, CORS
    • Tính năng mạnh: versioning, replication, object lock, multipart upload, S3 Event Trigger
    • Đây không phải database quan hệ, mà là kho lưu file lớn.
    Amazon DocumentDB – Dành cho MongoDB


    DocumentDB là phiên bản AWS dành cho MongoDB:
    • Lưu dữ liệu dạng JSON
    • Tự động tăng dung lượng đến 64TB
    • High availability trong 3 AZ
    • Dùng cho ứng dụng NoSQL cần document-based.
    Amazon Neptune – Graph Database


    Dùng để lưu dữ liệu có mối quan hệ chằng chịt như:
    • Mạng xã hội
    • Gợi ý sản phẩm
    • Kiểm tra gian lận
    • Knowledge graph
    Neptune xử lý truy vấn graph cực nhanh với billions of relations. Amazon Keyspaces – Cassandra trên AWS


    Keyspaces cung cấp:
    • Tương thích Cassandra Query Language (CQL)
    • Serverless và auto-scale
    • Replica trên nhiều AZ
    • Millisecond latency
    • Lưu dữ liệu IoT, time-series mức đơn giản.
    Amazon QLDB – Database dạng Ledger


    QLDB:
    • Lưu toàn bộ lịch sử thay đổi
    • Không thể sửa hay xóa (immutable)
    • Dữ liệu được xác thực bằng mật mã (cryptographically verifiable)
    • Hiệu năng cao hơn blockchain thông thường
    • Phù hợp hệ thống tài chính, kế toán, audit.
    Amazon Timestream – Time-series Database


    Timestream là database chuyên cho dữ liệu theo thời gian:
    • Hoàn toàn serverless
    • Lưu & phân tích hàng nghìn tỷ sự kiện mỗi ngày
    • 1000 lần nhanh hơn và rẻ hơn RDBMS
    • Tự động phân lớp dữ liệu: mới → in-memory, cũ → storage giá rẻ
    • Tích hợp phân tích dữ liệu thời gian thực
    • Phù hợp IoT, giám sát hệ thống, phân tích log thời gian.
    KẾT LUẬN

    AWS có đầy đủ mọi loại database, từ SQL, NoSQL, Graph, Ledger đến Time-Series. Việc chọn database đúng ảnh hưởng trực tiếp đến hiệu năng, chi phí và độ bền của hệ thống.
    Nếu bạn muốn xây dựng ứng dụng đúng chuẩn cloud-native – bạn phải nắm vững các dịch vụ trong bài này.​
Working...
X