ElectricSQL, การซิงก์แบบแอ็กทีฟ-แอ็กทีฟจาก Postgres ไปยัง SQLite สำหรับเว็บ/แอปแบบ Local-First
(electric-sql.com)- แพลตฟอร์มสำหรับพัฒนาแอปแบบตอบสนอง (Reactive), เรียลไทม์ (Realtime) และแบบ local-first โดยใช้ Postgres บนคลาวด์และ SQLite ในเครื่อง
- Local-First
- โค้ดของแอปสื่อสารโดยตรงกับฐานข้อมูลแบบฝังตัวที่เป็น SQLite และข้อมูลจะซิงก์แบบไดนามิกกับ Postgres บนคลาวด์ในเบื้องหลังด้วยการทำสำเนาแบบ active-active
- ทำให้รองรับการทำงานร่วมกันของผู้ใช้หลายคนและสามารถทำงานแบบ Conflict-Free ได้
- ใช้งาน Postgres ในเครื่องได้เหมือนเดิมผ่าน ElectricSQL
- ออกแบบมาโดยมีเป้าหมายเพื่อให้แอปตอบสนองได้ทันทีและคงความเร็วอย่างสม่ำเสมอ โดยอาศัยการเข้าถึงข้อมูลแบบ local-first
- มอบ ความเรียบง่ายในการปฏิบัติการ และลดความหลากหลายของบริการแบ็กเอนด์รวมถึงภาระงาน ด้วยการทำให้เป็นมาตรฐานบนโปรโตคอลการทำสำเนาที่เรียบง่ายและขยายขนาดได้
- เข้ากันได้กับระบบที่ใช้ Postgres เดิม และทำงานร่วมกับโมเดลข้อมูลเดิมได้
2 ความคิดเห็น
ผมชอบแบบที่ทำงานได้โดยไม่ต้องมีเซิร์ฟเวอร์ เลยเคยทำแอปที่เน้นฝั่งไคลเอนต์เป็นหลัก แต่พอภายหลังจำเป็นต้องเชื่อมกับเซิร์ฟเวอร์ ก็เลยมีเคสที่ต้องเปลี่ยนไปใช้การซิงก์แบบ active-active
บริการแรกผมนำแนวคิด OT มาใช้แล้วทำขึ้นเองแบบแมนนวล ส่วนบริการที่สองตอนหาทางเลือกจากภายนอกก็เลือก Couchbase (ตอนนั้นก็ลองศึกษาทั้ง PouchDB กับ Realm ด้วย)...
สรุปคือ ถ้าเลี่ยงได้ก็ไม่ควรทำครับ จัดการข้อมูลไม่ได้ (แม้ส่วนหนึ่งจะเป็นเพราะ Couchbase DB มีความเฉพาะตัวด้วยก็ตาม)
ความคิดเห็นจาก Hacker News