- InfluxDB ฐานข้อมูลอนุกรมเวลาที่เป็นโอเพนซอร์ส ได้เปลี่ยนจาก Go มาเป็น Rust อย่างเป็นทางการ
- การเปลี่ยนไปใช้ Rust มีสาเหตุมาจากข้อได้เปรียบด้านประสิทธิภาพ ความน่าเชื่อถือ และผลิตภาพ
- InfluxDB เวอร์ชันใหม่ถูกสร้างขึ้นโดยใช้ Apache Arrow, Apache Parquet และ Apache DataFusion เป็นองค์ประกอบหลัก
- การเปลี่ยนไปใช้ Rust ไม่ได้เป็นเพียงการเปลี่ยนภาษา แต่รวมถึงการเปลี่ยนสถาปัตยกรรมฐานข้อมูลทั้งหมด
- สถาปัตยกรรมใหม่นี้รองรับ cardinality ได้ไม่จำกัด, การทำ analytical query สำหรับข้อมูลอนุกรมเวลาด้วยประสิทธิภาพระดับฐานข้อมูลแบบคอลัมน์ และการใช้ object store เป็นชั้น persistence สำหรับข้อมูลย้อนหลัง
- การเปลี่ยนไปใช้ Rust ทำให้เกิดการปรับปรุงสำคัญในด้านการรับข้อมูลเข้า ขนาดดิสก์ และประสิทธิภาพการคิวรี
- InfluxDB 3.0 ใช้ Parquet เป็นรูปแบบการจัดเก็บถาวรและไม่เก็บดัชนี ทำให้ขนาดดิสก์ดีขึ้น 4-6 เท่า
- การเปลี่ยนจาก Go ไปเป็น Rust ไม่ใช่เรื่องง่ายและใช้เวลาพัฒนายาวนาน แต่ท้ายที่สุดก็ให้ผลลัพธ์เป็น latency ที่ต่ำลงและข้อผิดพลาด/บั๊กที่น้อยลง
- การตัดสินใจย้ายไป Rust ได้รับอิทธิพลจากแผนที่จะใช้โค้ด C++ จำนวนมาก และความสามารถของ Rust ในการนำ dependency เหล่านี้มาใช้ได้โดยไม่ทำให้ประสิทธิภาพลดลง
- การย้ายไปใช้ Rust เป็นส่วนหนึ่งของแนวโน้มที่ใหญ่ขึ้นซึ่งบริษัทเทคโนโลยีกำลังย้ายสแตกของตนไปสู่ Rust เพราะข้อได้เปรียบด้านประสิทธิภาพและความน่าเชื่อถือ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News