| May 22, 2018

2 MIN READ

Written by Ashnik Team
Data Pipeline and Analytics

Amazon Aurora คือความสำเร็จของ PostgreSQL

ผมเฝ้าสังเกต AWS Aurora มาสักพักแล้ว และสนใจเป็นพิเศษหลังเปิดตัวความสามารถในการรองรับ PostgreSQL ด้วย ย้อนไปไม่นานนัก ผมเองยังเคยเขียนไว้ว่า ทำไมคุณควรตัดสินใจย้ายฐานข้อมูลขึ้นคลาวด์ และ คุณจะเอาชนะความท้าทายของการไมเกรตฐานข้อมูลขึ้นคลาวด์ได้อย่างไร Aurora จึงเข้ามาเพิ่มน้ำหนักให้กับความเชื่อของผมที่ว่า ฐานข้อมูลสามารถทำงานได้มีประสิทธิผลมากขึ้นบนโครงสร้างพื้นฐานแบบคลาวด์ และขณะเดียวกันมันก็จะทำให้ DBA ของคุณมีเวลาไปมุ่งกับ SQL และ การปรับแต่งการทำงานของแอปพลิเคชัน
หากคุณได้สำรวจความสามารถของ PostgreSQL RDS แล้ว หรือ ถ้าคุณกำลังใช้ PostgreSQL บน EC2 อยู่แล้ว ผมบอกได้เลยว่า Aurora มีฟีเจอร์ที่คุณควรหันมามอง มันสร้างอยู่บนฐานความเสถียรของโครงสร้าง AWS และ PostgreSQL
เรามาดูฟีเจอร์หลัก ๆ ของ Aurora กันครับ –

  • เก็บสำเนาข้อมูลของคุณ 6 ชุด ฟีเจอร์นี้ใช้ความสามารถในการขยายที่มากับ PostgreSQL ซึ่งมันจะอนุญาตให้คุณเสียบต่อกับส่วนเก็บข้อมูลของคุณ แม้ว่ามันจะไม่ตรงไปตรงมาหากเป็นการใช้ MySQL หรือ MariaDB ก็ตาม นี่หมายความว่า Aurora พร้อมจะเผชิญการสูญหายของสำเนา 2 ชุดโดยไม่กระทบความสามารถในการ write หรือ 3 ชุดโดยไม่กระทบความสามารถในการ read
  • คุณสามารถสร้างชุดข้อมูลสำหรับอ่าน (read replica) บนโซลูชันการเก็บข้อมูลที่ออกแบบมาอย่างดี replica แต่ละชุดจะใช้พื้นที่เก็บข้อมูลเดียวกัน และคุณสามารถสร้างได้ถึง 15 ชุด โดยที่การหน่วงเวลาเกิดขึ้นแค่ภายในหน่วยมิลลิวินาทีที่ตัวเลขหลักเดียว
  • คุณไม่จำเป็นต้องกังวลกับขั้นตอนเบื้องหลังการสร้างชุดข้อมูล replica เหล่านั้น เพราะ AWS ได้วางระบบอัตโนมัติไว้แล้ว ส่วนที่คุณต้องทำคือการคลิกเท่านั้น
  • Aurora มาพร้อมระบบสำรองข้อมูลอัตโนมัติ ซึ่งสามารถใช้เป็นการกู้คืนแบบ Point-in-time ได้ ตรงนี้มีประโยชน์มากสำหรับคนที่จำเป็นต้องกู้คืนข้อมูลหลังการทำงานที่ผิดพลาด เพราะโดยทั่วไปแล้ว พวกความสามารถแนว flashback หรือ query ย้อนเวลา ไม่ค่อยจะสะดวกนักในภาคปฏิบัติ เวลาที่ข้อมูลจำนวนมากสูญหายไปเนื่องด้วยการทำงานที่ผิดพลาด หรือ เมื่อมีการเสียหาย หรือ เกิดความสับสนไม่สอดคล้อง (ในมุมธุรกิจ) โดยกระบวนการที่มีข้อบกพร่อง กรณีแบบนี้หากใช้ flashback หรือ time travel query เพื่อกู้ข้อมูลจะเสี่ยงต่อการเกิด human error ซ้ำเติมให้ปัญหาเลยเถิดไปกันใหญ่

นอกจากนี้ ยังไม่ค่อยมีใครทราบและเข้าใจว่า Aurora สร้างอยู่บนความสามารถในการต่อขยายของ PostgreSQL ซึ่งจะเปิดทางให้ –

  • AWS สร้างบริการที่มีความพร้อมสูงต่อการเข้าใช้งาน โดยต่อพ่วงกับตัว storage บน S3
  • Aurora สามารถทำงานกับการบันทึกเวลาที่ปรับแก้ไข modified checkpoint และ กลไกการกู้คืน crash-recovery (recovery แบบเฟสเดี่ยว) ซึ่งจะช่วยลดเวลาการกู้คืนจากการ crash ได้อย่างมหาศาล

ในขณะที่ AWS สามารถต่อขยาย PostgreSQL ด้วย Aurora นั้น ด้านผู้ใช้ Aurora เองก็สามารถได้ประโยชน์จากฟีเจอร์ที่อยู่แกนหลักของ PostgreSQL หรือส่วนต่อขยายที่ได้รับความนิยม อย่างเช่น PostGIS ได้เหมือนกัน หมายความว่าคุณไม่จำเป็นต้องยอมแลกสละความสามารถเด่น ๆ ไปเมื่อจะขยับขยายมาใช้ PostgreSQL
แล้วมันมีความหมายอะไรกับผู้ใช้ระดับ end user เหรอ ? ก็ถ้าคุณต้องการ คุณสามารถเลือกใช้ PostgreSQL จากผู้ให้บริการอย่าง EnterpriseDB หรือ Amazon ได้ และคุณยังคงได้ประโยชน์จากฟีเจอร์อื่น ๆ ของ Postgres หรือคุณยังสามารถปรับแต่ง PostgreSQL โดยใช้ตัวต่อขยายอื่น ๆ อย่างเช่น planner, background worker, extensions, procedural language หรือ foreign data wrapper
ดังนั้น PostgreSQL และทางเลือกใช้งานหลากหลาย มีข้อเสนอมากมายให้กับธุรกิจที่กำลังมองหาการสร้างบริการฐานข้อมูลที่เชื่อถือได้ นอกจากนั้น PostgreSQL ยังมีเครื่องมือเพียบพร้อมสำหรับผู้ใช้ระดับสูงที่จะปรับแต่งและสร้างบริการฐานข้อมูลเองเช่นกัน ทั้งหมดนั้นคือข้อได้เปรียบที่ชัดเจนของการอยู่บน PostgreSQL — ทั้ง open source และความสามารถในการต่อขยาย
ความสามารถในการต่อขยายของ PostgreSQL เปิดทางให้ Amazon สร้างแพลตฟอร์มฐานข้อมูลที่เข้มแข็งอยู่บนโครงสร้างพื้นฐานของ AWS โดยใช้ PostgreSQL ซึ่งผู้ให้บริการบางรายที่ไม่สามารถจะนำเสนอข้อได้เปรียบเหล่านี้ และเลือกจะขยับการต่อสู้ไปยังพื้นที่ที่เขาคิดว่ามีจุดแข็งอยู่ ซึ่งเป็นจุดแข็งที่ไม่ได้มีความสลักสำคัญอะไรในยุคนี้ ไว้ผมจะขยายความประเด็นนี้ในบล็อกที่กำลังจะเขียนต่อไปครับ
อย่างไรก็ตาม ถ้าคุณกำลังลองสำรวจหนทางเพื่อการใช้งาน Postgres ในสภาพแวดล้อมที่จัดการอย่างดีแล้ว หรือ คุณกำลังอยากรู้วิธีที่ดีที่สุดที่จะใช้ Postgres ของคุณบนคลาวด์ อย่าง RDS หรือ Aurora หรือ PostgreSQL บน EC2 ขอให้มาคุยกับเราได้เลย ความเชี่ยวชาญของเราในการใช้งาน PostgreSQL และทักษะในการออกแบบสถาปัตยกรรมคลาวด์ จะสามารถช่วยให้คุณบ่งบอกปัจจัยต่าง ๆ ที่จำเป็นต่อการตัดสินใจ เมื่อต้องเลือกใช้ฐานข้อมูลบนคลาวด์ และเรายังมีบริการไมเกรตสำหรับการย้ายฐานข้อมูลที่อยู่ภายในองค์กร หรือ PostgreSQL ที่อยู่บนคลาวด์อื่น ๆ ไปยัง RDS หรือ Aurora ได้ด้วย เชิญติดต่อมาพูดคุยกับเราครับ
Sameer Kumar – นักออกแบบสถาปัตยกรรมโซลูชันฐานข้อมูล, สิงคโปร์


Sameer Kumar is Database Solution Architect working with Ashnik. He has worked on many complex setups and migration assignments for some of the key customers from Retail, BFSI and Telecom Sector. Sameer is a certified PostgreSQL and EDB Postgres Plus Advanced Server Professional. He is also a certified Postgres Trainer and has delivered many trainings for public and corporate batches. He is well versed with other RDBMS e.g. DB2, Oracle and SQL Server and is also trained on noSQL technologies viz MongoDB. He has worked closely with customer and helped them build analytics platform on noSQL databases and migrate from RDBMS to MongoDB. And while he’s in the free mode, he loves to take his cycle around Singapore for a spin.



Go to Top