นักพัฒนาถกเถียงว่าโซลูชันฐานข้อมูลแบบกำหนดเองสามารถทดแทน Elasticsearch ได้จริงหรือไม่

ทีมชุมชน BigGo
นักพัฒนาถกเถียงว่าโซลูชันฐานข้อมูลแบบกำหนดเองสามารถทดแทน Elasticsearch ได้จริงหรือไม่

การประกาศเปิดตัว HorizonDB ของ Radar เมื่อเร็วๆ นี้ ซึ่งเป็นฐานข้อมูลเชิงพื้นที่แบบกำหนดเองที่สร้างด้วย Rust และ RocksDB ได้จุดประกายการถกเถียงอย่างเข้มข้นในหมู่นักพัฒนาเกี่ยวกับความเป็นไปได้ในการทดแทนโซลูชันที่มีชื่อเสียงอย่าง Elasticsearch และ MongoDB บริษัทอ้างว่าระบบใหม่ของพวกเขาสามารถจัดการคำสั่งได้ 1,000 คำสั่งต่อวินาทีต่อคอร์ พร้อมรักษาเวลาตอบสนองที่ต่ำกว่ามิลลิวินาทีสำหรับการค้นหาพิกัดแบบย้อนกลับ

ข้อเรียกร้องด้านประสิทธิภาพของ HorizonDB :

  • 1,000 QPS ต่อคอร์
  • เวลาแฝงเฉลี่ยของ Forward geocoding: 50ms
  • เวลาแฝงเฉลี่ยของ Reverse geocoding: <1ms
  • การขยายตัวแบบเชิงเส้นบนฮาร์ดแวร์ทั่วไป
  • ประมวลผลการเรียก API มากกว่า 1 พันล้านครั้งต่อวัน
HorizonDB ของ Radar อ้างว่ามีเมตริกประสิทธิภาพสูงในการสืบค้น geospatial
HorizonDB ของ Radar อ้างว่ามีเมตริกประสิทธิภาพสูงในการสืบค้น geospatial

ชุมชนตั้งคำถามเกี่ยวกับความน่าเชื่อถือของการอ้างสิทธิ์

ชุมชนนักพัฒนาได้แสดงความกังวลอย่างมากเกี่ยวกับการขาดรายละเอียดทางเทคนิคในการประกาศของ Radar หลายคนตั้งคำถามเกี่ยวกับแง่มุมพื้นฐานของสถาปัตยกรรมระบบที่ไม่ได้กล่าวถึงในโพสต์ต้นฉบับ ข้อมูลสำคัญที่ขาดหายไป ได้แก่ วิธีการกระจายข้อมูลไปยังเซิร์ฟเวอร์หลายเครื่อง สิ่งที่เกิดขึ้นเมื่อฮาร์ดแวร์เสียหาย และระบบรับประกันได้อย่างไรว่าจะไม่สูญเสียข้อมูลระหว่างที่ระบบล่ม

ความกังวลเหล่านี้เน้นย้ำถึงความสงสัยในวงกว้างเกี่ยวกับโซลูชันฐานข้อมูลแบบกำหนดเอง แม้ว่า Radar จะโฆษณาตัวเลขประสิทธิภาพที่น่าประทับใจ แต่นักพัฒนาที่มีประสบการณ์รู้ว่าการทดสอบที่แท้จริงจะมาถึงเมื่อระบบต้องเผชิญกับความล้มเหลวที่ไม่คาดคิดหรือต้องขยายขนาดเกินกว่าการออกแบบเดิม

โซลูชันทางเลือกได้รับความสนใจ

การถกเถียงได้นำความสนใจไปยังทางเลือกโอเพนซอร์สที่มีอยู่ซึ่งอาจให้ประโยชน์ที่คล้ายกันโดยไม่มีความซับซ้อนของการสร้างใหม่ตั้งแต่เริ่มต้น Typesense และ DuckDB ได้กลายเป็นข้อเสนอแนะที่ได้รับความนิยม โดยนักพัฒนาชื่นชมประสิทธิภาพของพวกเขาสำหรับคำสั่งเชิงพื้นที่และสถานะที่พร้อมใช้งานจริง

ทั้งคู่เป็นโอเพนซอร์สอย่างสมบูรณ์รวมถึงการตั้งค่าแบบคลัสเตอร์/แชร์ด

DuckDB โดยเฉพาะได้รับการยอมรับในความสามารถของปลั๊กอินเชิงพื้นที่ โดยเฉพาะสำหรับแอปพลิเคชันที่ข้อมูลไม่เปลี่ยนแปลงบ่อย อย่างไรก็ตาม นักพัฒนาบางคนได้สังเกตเห็นความท้าทายในการรวมระบบเมื่อพยายามรวมเทคโนโลยีฐานข้อมูลหลายตัวในโครงการเดียว

ทางเลือก Open Source ที่ถูกกล่าวถึง:

  • Typesense: เครื่องมือค้นหาข้อความแบบเต็มรูปแบบที่มีความสามารถด้านภูมิศาสตร์
  • DuckDB: ฐานข้อมูลสำหรับการวิเคราะห์ที่มี spatial plugin
  • Photon: เครื่องมือค้นหา OpenStreetMap ที่ใช้ Elasticsearch
  • Quickwit: ทางเลือกแทน Elasticsearch สำหรับการจัดการ log

ความแตกแยกในประสบการณ์ Elasticsearch

บางทีแง่มุมที่น่าสนใจที่สุดของการถกเถียงในชุมชนคือความแตกแยกอย่างชัดเจนในประสบการณ์ Elasticsearch ในขณะที่ Radar อ้างถึงความซับซ้อนในการดำเนินงานเป็นเหตุผลหลักในการออกจาก Elasticsearch นักพัฒนาหลายคนแบ่งปันประสบการณ์ที่ตรงกันข้ามในการรันคลัสเตอร์ Elasticsearch ที่เสถียรด้วยค่าใช้จ่ายในการบำรุงรักษาที่น้อยมาก

นักพัฒนาคนหนึ่งรายงานการจัดการ 12 โหนดที่มี 200 ล้านเอกสารต่อโหนด โดยไม่ต้องการการบำรุงรักษาเชิงรุกเกือบเลยนอกจากการตรวจสอบพื้นฐาน สิ่งนี้ชี้ให้เห็นว่าชื่อเสียงของ Elasticsearch ในเรื่องความซับซ้อนอาจเป็นเรื่องของแนวทางการใช้งานมากกว่าข้อจำกัดของระบบโดยธรรมชาติ

การเปรียบเทียบ Technology Stack:

Previous Stack HorizonDB Stack
Elasticsearch (forward geocoding) Rust + RocksDB
MongoDB (reverse geocoding) Tantivy (search)
Multiple microservices S2 (spatial indexing)
- FSTs (string compression)
- LightGBM + FastText (ML)

การแลกเปลี่ยนระหว่างนวัตกรรมกับความเสถียร

การสนทนาในวงกว้างสัมผัสถึงความตึงเครียดพื้นฐานในการเลือกเทคโนโลยี ในขณะที่โซลูชันแบบกำหนดเองสามารถให้ประสิทธิภาพที่น่าประทับใจและเหมาะสมอย่างสมบูรณ์แบบสำหรับกรณีการใช้งานเฉพาะ พวกเขายังนำความเสี่ยงเกี่ยวกับการบำรุงรักษาระยะยาว ความรู้ของทีม และความน่าเชื่อถือของระบบ

การฟื้นคืนชีพของการพัฒนาฐานข้อมูลแบบกำหนดเองแสดงถึงทั้งโอกาสและความท้าทายสำหรับอุตสาหกรรม บริษัทต่างๆ มีความเต็มใจมากขึ้นที่จะลงทุนในโซลูชันเฉพาะทางเมื่อเครื่องมือที่มีอยู่ไม่ตอบสนองความต้องการที่แน่นอนของพวกเขา แต่แนวทางนี้ต้องการทรัพยากรทางวิศวกรรมและความเชี่ยวชาญอย่างมากที่หลายองค์กรขาด

การถกเถียงเกี่ยวกับ HorizonDB ในที่สุดสะท้อนคำถามที่ใหญ่กว่าเกี่ยวกับเมื่อไหร่ที่ควรสร้างเทียบกับซื้อ และประสิทธิภาพที่เพิ่มขึ้นจากโซลูชันแบบกำหนดเองสมควรกับความซับซ้อนและความเสี่ยงเพิ่มเติมที่พวกเขานำมาหรือไม่

อ้างอิง: How we replaced Elasticsearch and MongoDB with Rust and RocksDB

ทำความเข้าใจ inverted index และผลกระทบในเทคโนโลยีฐานข้อมูล
ทำความเข้าใจ inverted index และผลกระทบในเทคโนโลยีฐานข้อมูล