- Hệ thống cho phép lưu cơ sở dữ liệu SQLite trên cloud storage và có thể đọc/ghi mà không cần tải xuống toàn bộ DB
- Hiện hỗ trợ Azure Blob Storage và Google Cloud Storage
- Sử dụng mô-đun Block Cache VFS: hoạt động ở chế độ daemonless (đọc/ghi) và chế độ daemon (chỉ đọc)
Nội dung được GN⁺ tóm tắt
- Hệ thống "Cloud Backed SQLite" (CBS) lưu cơ sở dữ liệu trong tài khoản cloud storage và cho phép client của storage truy cập mà không cần tải xuống toàn bộ cơ sở dữ liệu.
- Nhiều client có thể đồng thời truy cập cơ sở dữ liệu, nhưng chỉ một client có thể ghi vào cơ sở dữ liệu tại một thời điểm.
- CBS hiện hỗ trợ Azure Blob Storage và Google Cloud Storage, và cũng có thể hỗ trợ các hệ thống cloud storage khác.
- Cơ sở dữ liệu SQLite được chia thành các block kích thước cố định và được lưu trong hệ thống cloud storage.
- Hệ thống gồm các thành phần cơ bản để quản lý container cloud storage, một tiến trình daemon cung cấp truy cập cục bộ tới cơ sở dữ liệu từ xa, và một mô-đun VFS để truy cập cơ sở dữ liệu trên cloud.
- Để sử dụng CBS, ứng dụng cần build và link các tệp C cùng header cần thiết, đồng thời link với libcurl và openssl.
- Hệ thống có thể được kiểm thử bằng bộ test tự động.
- Cơ sở dữ liệu có thể được tải lên tài khoản cloud storage bằng công cụ dòng lệnh.
- Để truy cập cơ sở dữ liệu được lưu trên cloud storage, cần tạo VFS, kết nối container, mở database handle và chạy script SQL.
- Hệ thống cung cấp API để hỗ trợ các hệ thống cloud storage mới và triển khai virtual table.
- Bài viết này thảo luận về việc sử dụng container an toàn trong hệ thống cloud storage.
- Container có thể được kết nối theo cách an toàn hoặc không an toàn; kết nối an toàn sử dụng mã hóa AES OFB để mã hóa dữ liệu.
- Client cục bộ cần thông tin xác thực cloud storage hợp lệ để lấy khóa mã hóa từ tiến trình daemon.
- Bài viết đề cập đến các mô-đun tích hợp sẵn "azure" và "google" dành cho hệ thống cloud storage.
- API CBS và công cụ dòng lệnh yêu cầu đặc tả mô-đun, tên người dùng và giá trị xác thực.
- Bài viết cung cấp chi tiết về mô-đun "azure" và cách tạo SAS token để xác thực.
- Mô-đun "google" yêu cầu project ID và access token để kết nối CBS với Google Cloud Storage.
- Bài viết đề cập đến truy cập đồng thời từ nhiều client và nhu cầu poll container để kiểm tra các thay đổi.
- Blockcachevfs hỗ trợ ba câu lệnh PRAGMA: bcv_upload, bcv_poll và bcv_client.
- Giao diện virtual table bao gồm các bảng bcv_container và bcv_database.
- Bảng bcv_container chứa thông tin về các container đã kết nối, còn bảng bcv_database chứa thông tin về cơ sở dữ liệu của từng container.
- Bài viết thảo luận về cấu trúc và chức năng của nhiều bảng khác nhau trong cơ sở dữ liệu blockcachevfs.
- Bảng "bcv_database" chứa thông tin về các thay đổi cục bộ đối với cơ sở dữ liệu.
- Bảng "bcv_http_log" ghi lại các yêu cầu HTTP do VFS hoặc daemon đã kết nối thực hiện.
- Bảng "bcv_kv" cho phép ứng dụng ghi dữ liệu vào container cloud storage.
- Bảng "bcv_kv_meta" cung cấp quyền truy cập chỉ đọc tới các HTTP header của máy chủ cloud storage.
- Bài viết cũng cung cấp tham chiếu dòng lệnh cho nhiều thao tác khác nhau trong cơ sở dữ liệu blockcachevfs.
- Lệnh daemon cho phép tiến trình blockcachevfsd chạy như một server và chấp nhận kết nối từ client.
- Tiến trình daemon hỗ trợ nhiều tùy chọn cho cấu hình và logging.
1 bình luận
Ý kiến trên Hacker News
sql.js-httpvfshỗ trợ quy trình nàytmpfsrồi sao chép lên object storagepg_dumpvàmysqldumphay không.