วงการเทคโนโลยีกำลังเป็นพยานถึงแนวโน้มที่กำลังเกิดขึ้นในสถาปัตยกรรมฐานข้อมูล โดยระบบ object storage อย่าง Amazon S3 และ Google Cloud Storage กำลังถูกนำมาใช้เป็นระบบหลังบ้านสำหรับฐานข้อมูล การเปลี่ยนแปลงนี้แสดงให้เห็นถึงวิวัฒนาการที่น่าสนใจในแง่ของการจัดเก็บและประมวลผลข้อมูลในยุคคลาวด์
การเกิดขึ้นของฐานข้อมูลที่ใช้ Object Storage
โครงการและโซลูชันจำนวนมากกำลังสำรวจศักยภาพของการใช้ object storage เป็นพื้นฐานสำหรับระบบฐานข้อมูล ตั้งแต่ Glassdb ไปจนถึง SlateDB นักพัฒนากำลังค้นพบวิธีการใหม่ๆ ในการใช้ประโยชน์จากความทนทานและความสอดคล้องของระบบ cloud object storage โซลูชันเหล่านี้มุ่งที่จะกำจัดการแบ่งแยกแบบดั้งเดิมระหว่างชั้นการจัดเก็บและการประมวลผล เพื่อนำเสนอวิธีการจัดการข้อมูลที่มีประสิทธิภาพมากขึ้น
เป็นแนวคิดที่น่าสนใจและอาจเป็นประโยชน์สำหรับข้อมูลที่ไม่ต้องอัปเดตบ่อย เช่น ระบบจัดการเนื้อหา (CMS)
แนวทางที่แตกต่างและการแลกเปลี่ยน
โครงการต่างๆ มีวิธีการจัดการความท้าทายของ object storage ที่แตกต่างกัน ยกตัวอย่างเช่น SlateDB ทำงานด้วยโมเดลผู้เขียนเดี่ยวและรวมการเขียนเป็นชุดเพื่อลดต้นทุนของ S3 ในทางตรงกันข้าม Glassdb ให้ความสำคัญกับการเข้าถึงแบบหลายผู้เขียน แม้ว่าอาจมีต้นทุนการดำเนินงานที่สูงขึ้นเนื่องจากการร้องขอ S3 ต่อธุรกรรม สิ่งนี้แสดงให้เห็นถึงความสมดุลระหว่างความสอดคล้อง ต้นทุน และประสิทธิภาพที่นักพัฒนาต้องพิจารณา
เกณฑ์วัดประสิทธิภาพสำหรับการจัดการพื้นที่จัดเก็บข้อมูล:
- การอ่าน (เปอร์เซ็นไทล์ที่ 90): 63.1 มิลลิวินาที
- การเขียน (เปอร์เซ็นไทล์ที่ 90): 105 มิลลิวินาที
- เมตาดาต้า (เปอร์เซ็นไทล์ที่ 90): 41.3 มิลลิวินาที
แนวทางการพัฒนาที่สำคัญ:
- ระบบผู้เขียนเดี่ยวพร้อมการเขียนแบบแบตช์ ( SlateDB )
- ระบบผู้เขียนหลายคนพร้อมการร้องขอแบบแยกธุรกรรม ( Glassdb )
- รองรับการทำงานแบบเรียงลำดับที่เข้มงวด
- ไม่จำเป็นต้องมีส่วนประกอบฝั่งเซิร์ฟเวอร์
วิวัฒนาการของความสามารถของผู้ให้บริการคลาวด์
การพัฒนาล่าสุดในบริการของผู้ให้บริการคลาวด์กำลังทำให้โซลูชันเหล่านี้มีความเป็นไปได้มากขึ้น การแนะนำความสามารถของ S3 ที่เพิ่มขึ้นของ AWS รวมถึงการดำเนินการแบบมีเงื่อนไขและการรองรับการจับคู่ ได้เปิดโอกาสใหม่ๆ สำหรับการใช้งานคุณสมบัติฐานข้อมูลที่ซับซ้อน การปรับปรุงเหล่านี้ช่วยให้สามารถใช้งาน data lakes แบบ serverless บริการสตรีมมิ่ง และระบบคิวได้อย่างมีประสิทธิภาพมากขึ้น
การผสานรวมกับระบบนิเวศที่มีอยู่
การสนทนาในชุมชนเผยให้เห็นถึงการผสานรวมที่น่าสนใจกับเทคโนโลยีที่มีอยู่ มีความสนใจเป็นพิเศษในการใช้ Iceberg catalogs ด้วยวิธีนี้ และมีการเปรียบเทียบกับโซลูชันอย่าง Delta Lake และ Rockset การใช้งานเหล่านี้อาจเชื่อมช่องว่างระหว่างฐานข้อมูลแบบดั้งเดิมกับโซลูชันการจัดเก็บแบบ cloud-native สมัยใหม่
การพิจารณาเรื่องการแคช
ประเด็นสำคัญในการอภิปรายคือกลยุทธ์การแคช ในขณะที่บางโซลูชัน เช่น Cloudflare's Durable Objects with SQLite เน้นที่ชั้นแคชที่ซับซ้อนเพื่อลดต้นทุนความล่าช้าในการค้นหา โซลูชันอื่นๆ รักษาความสอดคล้องอย่างเคร่งครัดโดยยืนยันการเขียนโดยตรงกับ object storage สิ่งนี้แสดงถึงการแลกเปลี่ยนพื้นฐานระหว่างประสิทธิภาพและการรับประกันความสอดคล้อง
สรุปได้ว่า แม้ว่า object storage ในฐานะระบบหลังบ้านของฐานข้อมูลจะมีข้อแลกเปลี่ยนด้านประสิทธิภาพบางประการ แต่แนวทางนี้ก็นำเสนอประโยชน์ที่น่าสนใจในแง่ของความสามารถในการขยายตัว ความเรียบง่าย และความคุ้มค่าสำหรับกรณีการใช้งานเฉพาะ เมื่อผู้ให้บริการคลาวด์ยังคงพัฒนาความสามารถของ object storage อย่างต่อเนื่อง เราคาดว่าจะได้เห็นนวัตกรรมมากขึ้นในพื้นที่นี้
แหล่งอ้างอิง: Glassdb: transactional object storage