11 คะแนน โดย xguru 2021-08-13 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • absurd-sql : รูปแบบที่ใช้ SQL.js(SQLite) อ่านและเขียนข้อมูลทีละน้อยบน IndexedDB

→ จึงถูกเรียกว่า absurd เพราะเป็นวิธีประหลาดที่เก็บข้อมูล DB ไว้ใน DB อื่น

→ IndexedDB นั้นช้าและฟีเจอร์ก็ไม่ได้ดีนัก แต่ด้วยวิธีนี้กลับเร็วขึ้นมากกว่า 10 เท่า

  • hook sql.js เพื่อเก็บข้อมูลลงใน IndexedDB

→ ตอนนี้ยังช้ากว่า SQLite แบบเนทีฟอยู่ 50~100x

→ อันนี้ใช้ IndexedDB แต่ก็น่าจะใช้ Storage Foundation API ได้เช่นกัน (มีแผนจะทดสอบ)

  • ข้อดี/ข้อเสีย

→ ข้อเสียอย่างเดียวคือ ต้องดาวน์โหลดไฟล์ WASM (SQL.js) ที่บีบอัดด้วย gzip มาใช้งาน

→ สามารถใช้ความสามารถทั้งหมดของ SQLite ได้: ทรานแซกชัน, ระบบ Query แบบสมบูรณ์, View, CTE, ทริกเกอร์, Full-text Search, แคช เป็นต้น

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

 
xguru 2021-08-13

หัวข้อใช้ชื่อเดิมของผู้เขียนต้นฉบับว่า "A future for SQL on the web" ตามเดิม

sql.js-httpvfs - โฮสต์ฐานข้อมูล SQLite บน GitHub Pages https://th.news.hada.io/topic?id=4226

บทความนี้กำลังจุดประกายไอเดียได้หลากหลายทีเดียว

แม้จะเป็นวิธีพลิกแพลง แต่ก็นับเป็นการหวนกลับมาของ WebSQL ที่ W3C เคยยุติไปโดยบอกว่า SQL ไม่เหมาะกับเว็บ จริงๆ แล้วสำหรับนักพัฒนา มันน่าจะสะดวกกว่ามาก

 
kbumsik 2021-08-13

ผมว่ามันยิ่งเป็นแบบนั้นเพราะการมีอยู่ของ Electron ด้วยครับ

ผมก็เคยเห็นรีวิวจาก Notion ด้วยว่า ตอนแรกใช้ IndexedDB เหมือนกับเวอร์ชันเว็บ แต่พอเปลี่ยนมาใช้ SQLite ในเวอร์ชัน Electron แล้วก็ใช้งานได้สบายขึ้นมาก

https://www.notion.so/blog/faster-page-load-navigation

มันเลยให้ความรู้สึกเหมือนว่าประสบการณ์แบบนี้กำลังถูกส่งกลับไปยังฝั่งเว็บด้วยเหมือนกันนะครับ