ผมได้สร้าง GitDB ที่ใช้ GitHub repository เหมือนเป็น RDB แบบ serverless
(github.com/3x-haust)กำลังพัฒนาไลบรารี TypeScript ชื่อว่า GitDB
มันคือฐานข้อมูลสไตล์ RDB แบบ serverless ที่ใช้ GitHub repository เป็น backend ข้อมูลจะถูกคอมมิตเข้าไปใน repo เป็นไฟล์อย่าง manifest, mutation log และ snapshot ทำให้ Git history กลายเป็นประวัติการเปลี่ยนแปลงข้อมูลโดยตรง
สิ่งที่รองรับ:
- table API: insert, upsert, select, deleteWhere
- query แบบ SQL: SELECT, JOIN, GROUP BY, aggregate เป็นต้น
- select แบบอิง index
- transaction
- storage แบบ plaintext / encrypted
- export สำหรับ browser: ใช้ได้ใน extension และ static app
- รองรับ Node/CLI
เป้าหมายไม่ใช่การแทนที่ฐานข้อมูลทั่วไปอย่าง Postgres แต่คือการสร้างทางเลือกสำหรับ extension / static app / agent / เครื่องมือขนาดเล็ก ที่สามารถ “ใช้ GitHub repo เดียวเป็นที่เก็บข้อมูลได้โดยไม่ต้องมี DB server”
ด้วยข้อจำกัดเรื่อง latency และ rate limit ของ GitHub API มันจึงไม่เหมาะกับ hot OLTP หรือ realtime multi-writer แต่ตั้งใจทำมาสำหรับกรณีที่ความสำคัญอยู่ที่ประวัติการเปลี่ยนแปลงและความเรียบง่ายในการ deploy มากกว่า เช่น ข้อมูลแอปที่มีการเปลี่ยนแปลงไม่บ่อย, demo หรือ internal tool
ยังไม่มีความคิดเห็น