AWS : Amazon RDS คืออะไร

Relational Database หรือ ฐานข้อมูลเชิงสัมพันธ์ คืออะไร?

Amazon RDS คืออะไร

  Amazon Relational Database Service (RDS) คือ Managed Relational Database Service ที่ AWS ให้บริการ

  Amazon Relational Database Service (Amazon RDS) เป็นบริการ web service ที่ทำให้การตั้งค่า ดำเนินงาน ปรับขนาด Relational Database (ฐานข้อมูลเชิงสัมพันธ์) นั้นง่ายขึ้น ในAWS ทำให้คุณจัดการ ดูแล ฐานข้อมูลเชิงสัมพันธ์ที่เป็นมาตรฐานอุตสาหกรรม ได้คุ้มค่า มีประสิทธิภาพ
แปลจากภาษาอังกฤษ : What is Amazon Relational Database Service (Amazon RDS)? – Amazon Relational Database Service

จุดเด่นของ RDS

Full managed

  ก่อนอื่นเลย เราจะมาดูการสร้างฐานข้อมูลภายใน On-premise เริ่มจากซื้อเซิร์ฟเวอร์ ตามด้วยติดตั้ง OS • DBMS รวมไปถึงงาน maintenance บำรุงระบบต่าง ๆ เช่น การสำรองข้อมูล DB, ตั้งค่าใช้งาน patch ใน DBMS หรือ OS เป็นระยะ ๆ เป็นต้น

  ใน RDS การจัดการฐานข้อมูลดังกล่าวได้รับการจัดการด้วย Managed service ของ RDS (AWS จัดการให้แทน) ดังนั้นภาระงานของผู้ใช้ฐานข้อมูลจึงลดลง

นอกจากนี้ยังมีฟังก์ชันช่วยลดภาระงานอีกมาก ไม่ว่าจะเป็นการตั้งค่า Snapshot สำรองข้อมูลอัตโนมัติ การตรวจสอบการทำงานด้วย CloudWatch เป็นต้น

ความพร้อมใช้งานสูง

  RDS สนับสนุนการทำ Fail over system ด้วยการทำ Multi- AZ (การใช้งานในหลาย AZ ของ AWS) เพื่อให้ DB instance พร้อมใช้งานเสมอ

  Fail over system = การเตรียม instance (หรือในบทความนี้คือฐานข้อมูล RDS) ไว้อย่างน้อย 2 เครื่อง เมื่อเกิดเหตุขัดข้องที่หนึ่ง อีกเครื่องหนึ่งจะทำงานแทนทันที วิธีการนี้จะทำให้ไม่เกิด Down Time หรือช่วงเวลาที่ใช้งานไม่ได้ ลักษณะการเทการทำงานจากเครื่องหลักไปเครื่องรองนี้เรียกว่า Fail over

  โดยจะมี DB instance อยู่ 2 เครื่อง คือ เครื่อง Master (เครื่องหลัก) และเครื่อง Slave (เครื่องรอง) เราจะวางเครื่องรอง ไว้คนละ AZ กับเครื่องหลักที่กำลังใช้งานอยู่

  ซึ่งเครื่องหลักจะเชื่อมต่อและทำสำเนากันและกันแบบเรียลไทม์ (synchronous replication) เมื่อเครื่องหลักเกิดเสียหายขึ้นมา ก็จะสลับไปใช้งานเครื่องรองในทันทีโดยอัตโนมัติ

  เราสามารถตั้งค่า Multi-AZ นี้ได้อย่างง่ายดายจาก Management Console (aka. แค่เข้าเว็บ AWS ก็ตั้งค่าได้แล้ว)

ปรับปรุงประสิทธิภาพการทำงาน

  เราสามารถสร้าง DB Instance แบบอ่านอย่างเดียว ที่เรียกว่า Read Replica ได้

  Read Replica คือ Database เพื่อรองรับคำขออ่านข้อมูลโดยเฉพาะ สามารถรองรับปริมาณคำขออ่านข้อมูล (workloads) มหาศาลได้ เป็นฐานข้อมูลที่ได้จากการทำสำเนา (replicate) ข้อมูลจากฐานข้อมูลหลัก (Master Database)
  เนื่องจากเป็นฐานข้อมูลเพื่อการอ่านอย่างเดียว จึงไม่สามารถเขียนข้อมูลทับเข้าไปในฐานข้อมูลได้

 การจัดการคำขออ่านข้อมูล (Query) ด้วย Read replica ทำให้ Source DB Instance (เครื่องหลัก) ไม่ต้องทำงานหนัก และยังขยายขนาด (Scale out) เพื่อรองรับปริมาณการอ่านข้อมูลที่มากเป็นพิเศษได้

Database engine ของ RDS

  เราสามารถเลือกใช้ Database Engine ที่ใช้อยู่ในปัจจุบันกับ On-premise เช่น MySQL, PostgreSQL, MariaDB, Oracle, SQL Server กับ RDS ได้เช่นเดียวกัน หรือจะใช้งาน Aurora ซึ่งเป็น engine ที่พัฒนามาเพื่อใช้ร่วมกับโครงสร้างคลาวด์ AWS เป็นพิเศษก็ได้

Database Engine คือ กลไกการทำงานของฐานข้อมูลนั้นๆ เป็นส่วนประกอบนึงของระบบจัดการฐานข้อมูล (DBMS) ที่ใช้เพื่อสร้าง อ่าน อัปเดต หรือ ลบ ข้อมูลในฐานข้อมูล

Amazon Aurora

  Amazon Aurora (Aurora) เป็น Database Engine ของ Relational Database (ฐานข้อมูลเชิงสัมพันธ์) ที่สร้างโดย Amazon

ให้ปริมาณงานสูงถึง 5 เท่าเมื่อเทียบกับ MySQL มาตรฐานและมากถึง 3 เท่าเมื่อเทียบกับ PostgreSQL
Amazon Aurora ได้รับการออกแบบมาให้เข้ากันได้กับ MySQL และ PostgreSQL จึงสามารถเรียกใช้แอปพลิเคชันและเครื่องมือที่มีอยู่ได้โดยไม่ต้องปรับเปลี่ยนใด ๆ
อ้างอิง : Amazon Aurora MySQL PostgreSQL Features | Relational Database | AWS

  ตามที่ได้กล่าวไปแล้วถึงเรื่องการทำ Multi-AZ ในหัวข้อความพร้อมใช้งาน แต่ Aurora จะทำสำเนาและจัดเก็บข้อมูลของคุณทั้งหมด 6 ชุด ไว้ใน 3 Availability Zone โดยอัตโนมัติ ในขณะที่ DB Engine ตัวอื่นจะใช้งานได้ 2 Availability Zone ดังนั้น Aurora จึงมีคุณสมบัติเรื่องความพร้อมใช้งานที่สูงกว่า

  นอกจากนี้การทำ Read Replica ด้วย Aurora ยังช่วยเรื่องการปรับปรุงประสิทธิภาพการใช้งานได้ด้วย สำหรับ MySQL คุณสามารถสร้าง Read Replica ได้สูงสุด 5 รายการ แต่ Aurora สามารถสร้าง Read Replica ได้สูงสุด 15 รายการ และยังมีเวลาแฝง หรือ ดีเลย์ในหน่วยมิลลิวินาที ในขณะที่ MySQL จะมีค่าอยู่ในหน่วยวินาที

รองรับ Storage Auto Scaling

  RDS Storage Auto Scaling จะคอยติดตามความจุปัจจุบันของคุณและขยายความจุของพื้นที่เก็บข้อมูลของคุณโดยอัตโนมัติ (โดยไม่หยุดทำงาน) เมื่อการใช้งานของคุณใกล้ถึงขีดจำกัด

 Storage Auto Scaling ทำให้สามารถลดความจุที่ยังไม่ได้ใช้งานได้ง่าย ลดภาระงานในการปรับเปลี่ยนด้วยตนเอง และช่วยให้ใช้งานได้คุ้มค่ามากขึ้น

  อ้างอิง : Amazon RDS now supports Storage Auto Scaling

สรุป

  บทความนี้น่าจะให้ภาพคร่าว ๆ เกี่ยวกับ RDS ได้