Amazon RDS - Các tính năng của PostgreSQL

PostgreSQL là một hệ thống cơ sở dữ liệu quan hệ đối tượng mã nguồn mở, mạnh mẽ, đã nổi tiếng về độ tin cậy, tính mạnh mẽ và hiệu suất. AWS RDS chạy các phiên bản PostgreSQL khác nhau. Nó hỗ trợ khôi phục và sao lưu tại điểm trong thời gian, tạo ảnh chụp nhanh DB và chạy nó trên môi trường đa AZ.

Các phiên bản 9.3 đến 10.4 là các phiên bản chính được hỗ trợ trong nền tảng RDS. Nếu không có phiên bản nào được đề cập trong quá trình tạo DB, nó sẽ được mặc định là phiên bản mới nhất tại thời điểm đó. Dưới đây là ví dụ về cách tải tất cả các phiên bản DB Engine được hỗ trợ bằng cách sử dụng API AWS trong chương trình python SDK.

import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='postgres',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

Khi chúng tôi chạy chương trình trên, chúng tôi nhận được kết quả sau:

{
   "ResponseMetadata": {
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "c85cd49f-2c16-44b4-9890-cb233651f962",
      "HTTPHeaders": {
         "x-amzn-requestid": "c85cd49f-2c16-44b4-9890-cb233651f962",
         "date": "Fri, 14 Sep 2018 07:31:34 GMT",
         "content-length": "995",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [
      {
         "u'Engine'": "postgres",
         "u'DBParameterGroupFamily'": "postgres10",
         "u'SupportsLogExportsToCloudwatchLogs'": false,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "PostgreSQL",
         "u'EngineVersion'": "10.4",
         "u'DBEngineVersionDescription'": "PostgreSQL 10.4-R1",
         "u'ValidUpgradeTarget'": []
      }
   ]
}

Cộng đồng PostgreSQL liên tục phát hành các phiên bản mới và phần mở rộng mới. Bạn có thể thử các phiên bản và phần mở rộng PostgreSQL mới trước khi chúng được hỗ trợ đầy đủ bởi Aws RDS. Để làm điều đó, bạn có thể tạo một phiên bản DB mới trong Môi trường xem trước cơ sở dữ liệu.

Các phiên bản DB trong Môi trường xem trước cơ sở dữ liệu tương tự như các phiên bản DB trong môi trường sản xuất. Tuy nhiên, hãy ghi nhớ một số yếu tố quan trọng:

  • Tất cả các phiên bản DB sẽ bị xóa sau 60 ngày kể từ khi bạn tạo chúng, cùng với mọi bản sao lưu và ảnh chụp nhanh.

  • Bạn chỉ có thể tạo phiên bản DB trong đám mây riêng ảo (VPC) dựa trên dịch vụ Amazon VPC.

  • Bạn chỉ có thể tạo các loại phiên bản M4, T2 và R4. Để biết thêm thông tin về các lớp cá thể RDS,

  • Bạn không thể nhận trợ giúp từ Bộ phận hỗ trợ AWS với các phiên bản DB. Bạn có thể đăng câu hỏi của mình trong Diễn đàn môi trường xem trước cơ sở dữ liệu RDS.

  • Bạn chỉ có thể sử dụng ổ lưu trữ SSD Mục đích Chung và IOPS SSD được cung cấp.

  • Bạn không thể sao chép ảnh chụp nhanh của một cá thể DB vào môi trường sản xuất.

  • Một số tính năng Amazon RDS không khả dụng trong môi trường xem trước, như được mô tả sau đây.

Sao chép lôgic là một phương pháp sao chép các đối tượng dữ liệu và các thay đổi của chúng, dựa trên nhận dạng bản sao của chúng (thường là một khóa chính). Bản sao lôgic sử dụng mô hình xuất bản và đăng ký với một hoặc nhiều người đăng ký đăng ký một hoặc nhiều ấn phẩm trên một nút nhà xuất bản. Người đăng ký lấy dữ liệu từ các ấn phẩm mà họ đăng ký và sau đó có thể xuất bản lại dữ liệu để cho phép sao chép theo tầng hoặc các cấu hình phức tạp hơn. Nó được sử dụng cho các hành động dưới đây.

  • Gửi các thay đổi gia tăng trong một cơ sở dữ liệu đơn lẻ hoặc một tập hợp con của cơ sở dữ liệu cho người đăng ký khi chúng xảy ra.

  • Hợp nhất nhiều cơ sở dữ liệu thành một cơ sở dữ liệu duy nhất (ví dụ cho mục đích phân tích).

  • Sao chép giữa các phiên bản chính khác nhau của PostgreSQL.

  • Sao chép giữa các phiên bản PostgreSQL trên các nền tảng khác nhau (ví dụ: Linux sang Windows)

  • Cấp quyền truy cập vào dữ liệu sao chép cho các nhóm người dùng khác nhau.

  • Chia sẻ một tập hợp con của cơ sở dữ liệu giữa nhiều cơ sở dữ liệu.

Để kích hoạt sao chép hợp lý cho phiên bản Amazon RDS for PostgreSQL DB

  • Tài khoản người dùng AWS yêu cầu vai trò rds_superuser để thực hiện sao chép hợp lý cho cơ sở dữ liệu PostgreSQL trên Amazon RDS.

  • Đặt tham số rds.logical_replication thành 1.

  • Sửa đổi các quy tắc đến của nhóm bảo mật cho phiên bản nhà xuất bản (sản xuất) để cho phép phiên bản người đăng ký (bản sao) kết nối. Điều này thường được thực hiện bằng cách đưa địa chỉ IP của thuê bao vào nhóm bảo mật.