Amazon RDS - คุณสมบัติ MariaDB
MariaDB เป็นโอเพ่นซอร์ส Relational DB ที่ได้รับความนิยมซึ่งมีอยู่ในบริการ amazon RDS พร้อมด้วยคุณสมบัติ community edition เกือบทุกฟีเจอร์ของ MariaDB สามารถใช้ประโยชน์ได้ในแพลตฟอร์ม RDS ด้านล่างนี้เป็นคำอธิบายสั้น ๆ เกี่ยวกับคุณสมบัติหลักของ MariaDB ในแพลตฟอร์ม RDS
เวอร์ชัน 10.0, 10.1,10.2 เป็นเวอร์ชันหลักที่รองรับในแพลตฟอร์ม RDS หากไม่มีการกล่าวถึงเวอร์ชันระหว่างการสร้าง DB จะมีค่าเริ่มต้นเป็นเวอร์ชันล่าสุด ณ เวลานั้น ด้านล่างนี้คือตัวอย่างวิธีรับเวอร์ชัน DB Engine ที่รองรับทั้งหมดโดยใช้ AWS API ในโปรแกรม 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)
เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -
{
"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"
}
]
}
]
}
ความปลอดภัยสำหรับ RDS MariaDB ได้รับการจัดการที่สามชั้น
ใช้ IAM
ในแนวทางนี้ผู้ใช้ IAM ควรมีนโยบายและสิทธิ์ที่เหมาะสม การให้สิทธิ์ดังกล่าวจะตัดสินโดยเจ้าของบัญชีหรือผู้ใช้ขั้นสูงที่ให้สิทธิ์เหล่านี้
ใช้ VPC
คุณใช้กลุ่มความปลอดภัย VPC หรือกลุ่มความปลอดภัย DB เพื่อตัดสินใจว่าอินสแตนซ์ EC2 ใดที่สามารถเปิดการเชื่อมต่อไปยังปลายทางและพอร์ตของอินสแตนซ์ DB การเชื่อมต่อเหล่านี้สามารถทำได้โดยใช้ SSL
การใช้การตรวจสอบฐานข้อมูล IAM
ในวิธีนี้คุณใช้บทบาท IAM และโทเค็นการตรวจสอบสิทธิ์ โทเค็นการตรวจสอบความถูกต้องจะสร้างค่าเฉพาะซึ่งเกี่ยวข้องกับบทบาท IAM ที่ใช้ในกระบวนการเข้าถึง ที่นี่มีการใช้ข้อมูลรับรองชุดเดียวกันสำหรับฐานข้อมูลเช่นเดียวกับทรัพยากร aws อื่น ๆ เช่น EC2 และ S3 เป็นต้น
การอุ่นแคชสามารถให้ประสิทธิภาพที่เพิ่มขึ้นสำหรับอินสแตนซ์ MariaDB DB ของคุณโดยบันทึกสถานะปัจจุบันของบัฟเฟอร์พูลเมื่ออินสแตนซ์ DB ปิดตัวลงจากนั้นโหลดพูลบัฟเฟอร์ซ้ำจากข้อมูลที่บันทึกไว้เมื่ออินสแตนซ์ DB เริ่มทำงาน วิธีนี้จะข้ามความต้องการพูลบัฟเฟอร์ในการ "อุ่นเครื่อง" จากการใช้ฐานข้อมูลปกติและจะโหลดพูลบัฟเฟอร์ล่วงหน้าด้วยเพจสำหรับเคียวรีทั่วไปที่รู้จักแทน
การอุ่นแคชให้ประโยชน์ด้านประสิทธิภาพเป็นหลักสำหรับอินสแตนซ์ DB ที่ใช้ที่เก็บข้อมูลมาตรฐาน
คุณสามารถสร้างเหตุการณ์เพื่อดัมพ์พูลบัฟเฟอร์โดยอัตโนมัติและในช่วงเวลาปกติ ตัวอย่างเช่นคำสั่งต่อไปนี้สร้างเหตุการณ์ที่ชื่อ periodic_buffer_pool_dump ที่ทิ้งบัฟเฟอร์พูลทุกๆชั่วโมง
CREATE EVENT periodic_buffer_pool_dump
ON SCHEDULE EVERY 1 HOUR
DO CALL mysql.rds_innodb_buffer_pool_dump_now();