Tags:
Node Thumbnail

SQLite ฐานข้อมูลขนาดเล็กแบบทำงานเครื่องเดียวกับแอปพลิเคชั่น ออกเวอร์ชั่น 3.47.0 ปรับแก้บั๊กเล็กน้อยจำนวนมาก แต่เพิ่มฟีเจอร์สำคัญคือคำสั่ง sqlite3_rsync คำสั่ง rsync เวอร์ชั่นพิเศษที่เข้าใจ transaction ของฐานข้อมูลเพื่อให้สามารถซิงก์ฐานข้อมูลไปยังเครื่องสำรองได้

คำสั่ง rsync นั้นอาศัยการเทียบค่าแฮชข้อมูลทีละบล็อค หากพบว่ามีบล็อคใดที่ปลายทางมีอยู่แล้วก็ไม่ต้องส่งข้อมูลไปใหม่ ทำให้การซิงก์ไฟล์ขนาดใหญ่แต่มีความเปลี่ยนแปลงเล็กน้อย (เช่นฐานข้อมูลที่อาจจะเก็บข้อมูลมานาน แต่แต่ละวันกลับมีการเปลี่ยนแปลงไม่มากนัก) ได้เปรียบมาก อัตราการส่งข้อมูลจะลดลงมาก หากไม่มีความเปลี่ยนแปลงเลยจะใช้แบนวิดท์เพียง 0.5% ของข้อมูลเต็มเท่านั้น

sqlite3_rsync เป็นโปรแกรมที่เขียนขึ้นมาเฉพาะ ฟีเจอร์ไม่เท่ากับ rsync ตัวจริง แต่ความพิเศษคือมันเข้าใจไฟล์ WAL ของ SQLite ทำให้สามารถซิงก์ข้อมูลโดยไม่ทำฐานข้อมูลฝั่งใดพังเลย โดยฝั่งปลายทางของการซิงก์นั้นสามารถคิวรีข้อมูลไปได้เรื่อยๆ (แต่ห้ามเขียน) แนวทางนี้ทำให้บริการที่เน้นการอ่านข้อมูล เช่น เว็บบล็อก สามารถกระจายฐานข้อมูลไปได้ไม่จำกัด

ก่อนหน้านี้มีโครงการภายนอก SQLite พยายามทำระบบซิงก์แบบนี้มาก่อนแล้ว เช่น Litestream แต่ครั้งนี้โครงการหลักก็ออกมาทำเครื่องมือซัพพอร์ตโดยตรง แม้จะอยู่ในสถานะทดลองเท่านั้นในช่วงแรก

ที่มา - SQLite

No Description

Get latest news from Blognone

Comments

By: dheerapat on 28 October 2024 - 16:13 #1325850

feature โหดม้ากกกก

By: jingz on 28 October 2024 - 16:33 #1325852

<3

By: btoy
ContributorAndroidWindows
on 28 October 2024 - 16:56 #1325853
btoy's picture

จิ๋วแต่แจ๋ว


..: เรื่อยไป

By: tomyum
ContributorAndroidWindows
on 28 October 2024 - 20:20 #1325861
tomyum's picture

เคยวางแผนทำตู้เก็บเงิน แล้วอยากซิงค์ฐานข้อมูลหากันเองแบบ Offline ได้ด้วย sqlite ฟีเจอร์นี้เด็ดตอบโจทย์มากเลย