9 คะแนน โดย GN⁺ 2023-09-21 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • แพลตฟอร์มสำหรับพัฒนาแอปแบบตอบสนอง (Reactive), เรียลไทม์ (Realtime) และแบบ local-first โดยใช้ Postgres บนคลาวด์และ SQLite ในเครื่อง
  • Local-First
    • โค้ดของแอปสื่อสารโดยตรงกับฐานข้อมูลแบบฝังตัวที่เป็น SQLite และข้อมูลจะซิงก์แบบไดนามิกกับ Postgres บนคลาวด์ในเบื้องหลังด้วยการทำสำเนาแบบ active-active
    • ทำให้รองรับการทำงานร่วมกันของผู้ใช้หลายคนและสามารถทำงานแบบ Conflict-Free ได้
  • ใช้งาน Postgres ในเครื่องได้เหมือนเดิมผ่าน ElectricSQL
  • ออกแบบมาโดยมีเป้าหมายเพื่อให้แอปตอบสนองได้ทันทีและคงความเร็วอย่างสม่ำเสมอ โดยอาศัยการเข้าถึงข้อมูลแบบ local-first
  • มอบ ความเรียบง่ายในการปฏิบัติการ และลดความหลากหลายของบริการแบ็กเอนด์รวมถึงภาระงาน ด้วยการทำให้เป็นมาตรฐานบนโปรโตคอลการทำสำเนาที่เรียบง่ายและขยายขนาดได้
  • เข้ากันได้กับระบบที่ใช้ Postgres เดิม และทำงานร่วมกับโมเดลข้อมูลเดิมได้

2 ความคิดเห็น

 
sixmen 2023-09-21

ผมชอบแบบที่ทำงานได้โดยไม่ต้องมีเซิร์ฟเวอร์ เลยเคยทำแอปที่เน้นฝั่งไคลเอนต์เป็นหลัก แต่พอภายหลังจำเป็นต้องเชื่อมกับเซิร์ฟเวอร์ ก็เลยมีเคสที่ต้องเปลี่ยนไปใช้การซิงก์แบบ active-active

บริการแรกผมนำแนวคิด OT มาใช้แล้วทำขึ้นเองแบบแมนนวล ส่วนบริการที่สองตอนหาทางเลือกจากภายนอกก็เลือก Couchbase (ตอนนั้นก็ลองศึกษาทั้ง PouchDB กับ Realm ด้วย)...

สรุปคือ ถ้าเลี่ยงได้ก็ไม่ควรทำครับ จัดการข้อมูลไม่ได้ (แม้ส่วนหนึ่งจะเป็นเพราะ Couchbase DB มีความเฉพาะตัวด้วยก็ตาม)

 
GN⁺ 2023-09-21
ความคิดเห็นจาก Hacker News
  • ElectricSQL เป็นเทคโนโลยีใหม่ที่ทำให้เกิดการซิงก์แบบแอ็กทีฟ-แอ็กทีฟระหว่าง Postgres และ SQLite สำหรับแอปที่ให้ความสำคัญกับการทำงานแบบโลคัลก่อน
  • เทคโนโลยีนี้ได้รับคำชมจากแนวทางที่มีเอกลักษณ์ในการจัดการการเชื่อมต่อระหว่าง SQLite ฝั่งไคลเอนต์, เลเยอร์ CRDT/การซิงก์แบบโอเพนซอร์ส และ Postgres
  • ElectricSQL ทำให้ฐานข้อมูล Postgres ทำหน้าที่เป็นแหล่งข้อมูลจริงส่วนกลางสำหรับข้อมูลทั้งหมดและบัญชีผู้ใช้ ขณะที่เนื้อหาส่วนตัวของผู้ใช้แต่ละคนสามารถถูกแยกไว้ในฐานข้อมูล SQLite ของตนเองและซิงก์ได้
  • มีความเป็นไปได้ที่ ElectricSQL จะถูกใช้ในเวิร์กโฟลว์ CI สำหรับการเขียนการทดสอบรวมระบบแบบรวดเร็ว โดยใช้ข้อมูลจริงหรือข้อมูลที่คัดสรรมาบางส่วน
  • ElectricSQL ถูกมองว่าเป็นก้าวสำคัญสู่การฟื้นคืนของแอปแบบโลคัลเฟิร์สต์ แต่ก็ยังมีความท้าทายอีกมากที่ต้องเอาชนะในสาขานี้
  • มีการตั้งคำถามเกี่ยวกับความเป็นไปได้ในการใช้การเข้ารหัสแบบต้นทางถึงปลายทางกับสถานะบางส่วนของแอปพลิเคชันที่ใช้ ElectricSQL
  • ผู้ใช้บางรายแสดงความกังวลเกี่ยวกับความซับซ้อนในการทำความเข้าใจว่าสถานะจะเป็นอย่างไรเมื่อใช้ร่วมกับ CRDT และพูดถึงวิธีที่สิ่งนี้อาจก่อปัญหาให้ผู้ใช้
  • มีคำถามเกี่ยวกับโมเดลเชิงพาณิชย์ของ ElectricSQL และสงสัยว่านี่จะเป็นบริการคลาวด์เต็มรูปแบบหรือจะโฮสต์เฉพาะคอมโพเนนต์ Elixir
  • ผู้ใช้สงสัยเกี่ยวกับการตรวจสอบหรือการยืนยันสำหรับการเปลี่ยนแปลงที่จะถูกรวมกลับเข้าไปยังฐานข้อมูลราก และสงสัยว่า ElectricSQL จะรับมืออย่างไรกับความเป็นไปได้ที่ไคลเอนต์ที่เป็นอันตรายจะส่งสตรีมข้อมูลตามอำเภอใจเพื่อซิงก์เข้าสู่ฐานข้อมูลราก
  • ElectricSQL ถูกนำไปเปรียบเทียบกับโซลูชันอื่น เช่น PouchDB และ CouchDB และผู้ใช้แสดงความสนใจที่จะลองใช้เทคโนโลยีใหม่นี้
  • การเปิดตัวของ ElectricSQL โดยทั่วไปได้รับการตอบรับเป็นอย่างดี และผู้ใช้จำนวนมากแสดงความตื่นเต้นต่อศักยภาพของเทคโนโลยีนี้สำหรับซอฟต์แวร์แบบโลคัลเฟิร์สต์