กำลังพัฒนาไลบรารี 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

GitHub:
https://github.com/3x-haust/gitdb

npm:
https://www.npmjs.com/package/@3xhaust/gitdb

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น