วัฒนธรรมหมกมุ่นกับประสิทธิภาพของฐานข้อมูล
- วงการฐานข้อมูลมุ่งเน้นไปที่การเพิ่มประสิทธิภาพ แต่ประสบการณ์จริงของผู้ใช้มักได้รับอิทธิพลจากปัจจัยอื่น
- สำหรับการประมวลผลข้อมูลของผู้ใช้ สิ่งที่สำคัญจริง ๆ อาจไม่ใช่การปรับแต่งคิวรีให้เหมาะที่สุด แต่เป็นรูปแบบของข้อมูลหรือความสามารถในการตั้งคำถามด้วย SQL
- ประสิทธิภาพของฐานข้อมูลนั้นสำคัญ แต่การเลือกฐานข้อมูลโดยอิงจากปัจจัยอื่น เช่น ความง่ายในการใช้งาน ระบบนิเวศ ความเร็วในการอัปเดต และการผสานเข้ากับเวิร์กโฟลว์ อาจเป็นทางเลือกที่ดีกว่า
จุดจบของสงครามเบนช์มาร์ก
- ในปี 2019 GigaOm ได้เผยแพร่เบนช์มาร์กที่เปรียบเทียบคลาวด์ดาต้าแวร์เฮาส์ แต่ผลลัพธ์จริงในตลาดกลับออกมาแตกต่างกัน
- เมื่อผลเบนช์มาร์กไม่สอดคล้องกับประสบการณ์ของผู้ใช้ ก็อาจหมายความว่าเบนช์มาร์กนั้นผิด ทดสอบสิ่งที่ไม่ถูกต้อง หรือประสิทธิภาพอาจไม่ได้สำคัญขนาดนั้น
ความหมายของคำว่าเร็ว
- ในโลกของฐานข้อมูลบนคลาวด์ มักมีแนวโน้มจะโฟกัสกับเวลาตั้งแต่ผู้ใช้กดปุ่ม 'รัน' จนผลลัพธ์พร้อม
- แต่สิ่งที่ส่งผลต่อผู้ใช้จริง ๆ คือเวลาที่ใช้ในการทำงานให้เสร็จ ซึ่งไม่เท่ากับเวลาที่เซิร์ฟเวอร์ฐานข้อมูลใช้เสมอไป
ประสิทธิภาพเป็นเรื่องอัตวิสัย
- ประสิทธิภาพควรถูกวัดจากมุมมองของผู้ใช้ และเป็นปัญหาด้าน UX ที่ไม่อาจอธิบายได้ด้วยตัวเลขเพียงค่าเดียว
- ความเป็นอัตวิสัยของประสิทธิภาพหมายความว่า สิ่งใดเร็วกว่า ขึ้นอยู่กับวิธีการใช้งานฐานข้อมูล
ความเร็วของการเปลี่ยนแปลง
- DuckDB กำลังพัฒนาอย่างรวดเร็วมาก จนทำให้เบนช์มาร์กในปัจจุบันไร้ความหมาย
- เวลาจะเลือกฐานข้อมูล ไม่ใช่แค่ประสิทธิภาพปัจจุบันที่สำคัญ แต่รวมถึงการเปลี่ยนแปลงด้านประสิทธิภาพและฟีเจอร์ในอนาคตด้วย
ไม่มีถั่ววิเศษ
- หากทุกฐานข้อมูลยังได้รับการดูแลอย่างต่อเนื่อง ประสิทธิภาพก็มีแนวโน้มจะค่อย ๆ มาบรรจบกันเมื่อเวลาผ่านไป
- ความแตกต่างด้านประสิทธิภาพที่สำคัญมีโอกาสสูงว่าจะไม่คงอยู่ถาวรเมื่อเวลาผ่านไป
ปัญหาอยู่ระหว่างเก้าอี้กับคีย์บอร์ด และระหว่างคีย์บอร์ดกับฐานข้อมูล
- ตัวชี้วัดประสิทธิภาพที่สำคัญสำหรับผู้ใช้ คือเวลาที่ใช้ตั้งคำถามและได้คำตอบกลับมา
- ฟีเจอร์ที่สำคัญคือความเร็วจากไอเดียไปสู่คำตอบ ไม่ใช่แค่เวลาที่ฐานข้อมูลใช้รันคิวรี
ว่าด้วยองุ่นเปรี้ยว
- ตอนนี้ DuckDB ติดอันดับต้น ๆ ในเบนช์มาร์ก ClickBench และ h20.ai และยังทำผลงานได้ไม่เลวใน TPC-H และ TPC-DS
- ก่อนจะสรุปว่าฐานข้อมูลใดเร็ว ควรลองกับเวิร์กโหลดจริงของตัวเองก่อน
บทสรุป
- บริษัทฐานข้อมูลที่ประสบความสำเร็จมากที่สุดไม่ได้สำเร็จเพราะเร็วกว่าเจ้าตลาดรายอื่น
- ฐานข้อมูลที่ใช้ประสิทธิภาพเป็นจุดขายหลักกลับไม่ประสบความสำเร็จในตลาด
- ผู้เขียนแนะนำว่า เวลาจะเลือกฐานข้อมูล ควรตัดสินใจจากปัจจัยอื่นนอกเหนือจากความเร็วล้วน ๆ
ความเห็นของ GN⁺
- บทความนี้เน้นย้ำว่า สิ่งสำคัญไม่ใช่แค่การโฟกัสกับประสิทธิภาพของฐานข้อมูล แต่คือการปรับประสบการณ์ผู้ใช้และเวิร์กโฟลว์ให้เหมาะสม ซึ่งเป็นบทเรียนสำคัญแม้สำหรับวิศวกรซอฟต์แวร์ระดับเริ่มต้นว่า การเลือกฐานข้อมูลควรใช้มุมมองที่ยึดผู้ใช้เป็นศูนย์กลางมากกว่าดูเพียงตัวเลขประสิทธิภาพ
- ประสิทธิภาพของฐานข้อมูลมีแนวโน้มจะค่อย ๆ มาบรรจบกันเมื่อเวลาผ่านไป เพราะความก้าวหน้าทางเทคโนโลยีมักแพร่กระจายไปยังทุกแพลตฟอร์ม สิ่งนี้ชี้ให้เห็นว่าในการเลือกเทคโนโลยี ควรพิจารณาการสนับสนุนระยะยาวและศักยภาพในการพัฒนามากกว่าประสิทธิภาพระยะสั้น
- โครงการโอเพนซอร์สอย่าง DuckDB สามารถพัฒนาได้อย่างรวดเร็วด้วยอัตราการปรับปรุงที่เร็วและการสนับสนุนจากชุมชน ซึ่งหมายความว่าเมื่อจะนำเทคโนโลยีใหม่มาใช้ ควรพิจารณาความคึกคักของชุมชนและความเร็วในการพัฒนาของโครงการด้วย
- เวลาจะเลือกฐานข้อมูล ไม่ควรพึ่งพาเพียงผลเบนช์มาร์กด้านประสิทธิภาพ แต่ควรทดสอบประสิทธิภาพกับเวิร์กโหลดจริงด้วย เพราะจะช่วยให้เลือกฐานข้อมูลที่เหมาะกับกรณีใช้งานจริงได้มากกว่า
- เน้นย้ำว่าการเลือกเทคโนโลยีฐานข้อมูลไม่ควรมองแค่ด้านเทคนิคเพียงอย่างเดียว แต่ต้องพิจารณาปัจจัยหลากหลาย เช่น ความต้องการทางธุรกิจ ความง่ายในการดูแลรักษา และประสิทธิภาพในการจัดการข้อมูล
1 ความคิดเห็น
ความเห็นจาก Hacker News