Blognone

SearchCode.com ย้ายฐานข้อมูลออกจาก MySQL+Redis ไปใช้ SQLite ขนาดฐานข้อมูล 6TB

authorby lew
published on17 February 2025 - 16:25

Ben Boyter นักพัฒนาชาวออสเตรเลียผู้สร้างเว็บ SearchCode.com ประกาศย้ายฐานข้อมูลจาก MySQL และ Redis มาเป็น SQLite ในเว็บขนาดใหญ่ที่ให้บริการคนจำนวนมากเป็นผลสำเร็จ โดยฐานข้อมูลของ SearchCode มีขนาดใหญ่ถึง 6TB น่าจะเป็นฐานข้อมูล SQLite สำหรับเว็บสาธารณะที่ใหญ่ที่สุดในโลก

SearchCode เปิดบริการมากว่าสิบปีแล้ว โดยเริ่มจาก stack PHP, CodeIgnitor, MySQL, Memcached, Apache, Sphinx ภายหลังเปลี่ยนไปหลายรอบ โดยใช้ Python และช่วง Covid ก็หันมาเขียนภาษา Go แทนที่ พร้อมกับเปลี่ยนตัวค้นหาที่เขียนใหม่เอง ทำให้ stack ล่าสุดกลายเป็น Go, MySQL, Redis, และ Caddy

Boyter ระบุว่าต้องการเปลี่ยนแอปพลิเคชั่นให้เหลือไบนารีก้อนเดียวไม่มีการเชื่อมต่อใดๆ อีก การเปลี่ยนมาใช้ SQLite จึงตรงความต้องการ แม้ว่าจะเคยมอง bbolt ฐานข้อมูลแบบ key-value มาก่อนหน้า แต่ก็ยังไม่ตรงความต้องการ และแม้ฐานข้อมูลของ SearchCode จะเรียบง่ายแต่ Boyter ก็ยังต้องการใช้ SQL อยู่

ปัญหาใหญ่ที่สุดของ SQLite ที่ Boyter พบคือปัญหา database is locked ซึ่งแก้ได้ด้วยการแยก connection ระหว่างฝั่งเขียนและอ่านออกจากกัน โดยฝั่งเขียนต้องมี connection เดียวเท่านั้น ตอนนี้เว็บเพิ่งย้ายมาเต็มรูปแบบไม่กี่วันและยังไม่พบปัญหาอะไร

ที่มา - Boyter.org

No Description

Blognone Jobs Premium
Loading