Amazon RDS - Funkcje MariaDB

MariaDB to popularna relacyjna baza danych typu open source, która jest dostępna w usługach Amazon RDS z funkcjami edycji społecznościowej. Prawie każda funkcja MariaDB może być wykorzystana na platformie RDS. Poniżej znajduje się krótki opis głównych funkcji MariaDB na platformie RDS.

Wersje 10.0, 10.1, 10.2 to główne wersje obsługiwane na platformie RDS. Jeśli podczas tworzenia bazy danych nie jest wymieniona żadna wersja, domyślnie jest to najnowsza wersja w danym momencie. Poniżej znajduje się przykład, jak uzyskać wszystkie obsługiwane wersje silnika DB przy użyciu interfejsu API AWS w programie Python SDK.

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='mariadb',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

Po uruchomieniu powyższego programu otrzymujemy następujące dane wyjściowe -

{ 
   "ResponseMetadata": { 
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
      "HTTPHeaders": { 
         "x-amzn-requestid": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
         "date": "Fri, 14 Sep 2018 06:45:52 GMT",
         "content-length": "1658",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [ 
      { 
         "u'Engine'": "mariadb",
         "u'DBParameterGroupFamily'": "mariadb10.2",
         "u'SupportsLogExportsToCloudwatchLogs'": true,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "MariaDb Community Edition",
         "u'EngineVersion'": "10.2.12",
         "u'DBEngineVersionDescription'": "mariadb 10.2.12",
         "u'ExportableLogTypes'": [ 
            "audit",
            "error",
            "general",
            "slowquery"
         ],
         "u'ValidUpgradeTarget'": [ 
            { 
               "u'Engine'": "mariadb",
               "u'IsMajorVersionUpgrade'": false,
               "u'AutoUpgrade'": false,
               "u'Description'": "MariaDB 10.2.15",
               "u'EngineVersion'": "10.2.15"
            }
         ]
      }
   ]
}

Zabezpieczeniem RDS MariaDB zarządza się na trzech poziomach.

Korzystanie z uprawnień

W tym podejściu użytkownik uprawnień powinien mieć odpowiednie zasady i uprawnienia. O przyznaniu takich uprawnień decyduje posiadacz konta lub superużytkownik, który je przyznaje.

Korzystanie z VPC

Aby zdecydować, które instancje EC2 mogą otwierać połączenia z punktem końcowym i portem instancji bazy danych, możesz użyć grupy zabezpieczeń VPC lub grupy zabezpieczeń DB. Te połączenia można również nawiązywać przy użyciu protokołu SSL.

Korzystanie z uwierzytelniania bazy danych IAM

W tym podejściu używasz roli IAM i tokenu uwierzytelniania. Token uwierzytelniania generuje unikalną wartość, która jest odpowiednia dla roli IAM używanej w procesie dostępu. Tutaj ten sam zestaw poświadczeń jest używany dla bazy danych, a także innych zasobów aws, takich jak EC2 i S3 itp.

Podgrzewanie pamięci podręcznej może zapewnić wzrost wydajności wystąpienia bazy danych MariaDB poprzez zapisanie bieżącego stanu puli buforów, gdy wystąpienie bazy danych jest zamknięte, a następnie ponowne załadowanie puli buforów z zapisanych informacji podczas uruchamiania wystąpienia bazy danych. Takie podejście pozwala uniknąć „rozgrzewania się” puli buforów w porównaniu z normalnym używaniem bazy danych i zamiast tego wstępnie ładuje pulę buforów stronami dla znanych typowych zapytań.

Podgrzewanie pamięci podręcznej zapewnia przede wszystkim korzyści w zakresie wydajności dla wystąpień bazy danych, które używają standardowego magazynu.

Możesz utworzyć zdarzenie w celu automatycznego zrzucania puli buforów w regularnych odstępach czasu. Na przykład poniższa instrukcja tworzy zdarzenie o nazwie periodic_buffer_pool_dump, które co godzinę zrzuca pulę buforów.

CREATE EVENT periodic_buffer_pool_dump 
   ON SCHEDULE EVERY 1 HOUR 
   DO CALL mysql.rds_innodb_buffer_pool_dump_now();