turso.tech 昨日 21:02

Concurrent Writes in Practice: Building High-Throughput Apps with Turso's MVCC

Turso Cloudが早期プレビューとしてMVCCベースの並行書き込み(BEGIN CONCURRENT)を提供開始。SQLiteの単一ライター制約を回避し、行レベルでの競合検出によりチェックアウト処理や高頻度データ取り込みなどのワークロードでSQLite比最大4倍のスループットを実現する。tursodbデータベースの作成とダッシュボードでの有効化が必要で、TypeScript/Python/Rustでの実装例と競合リトライ、ホットロー問題への対処法を解説している。

Turso Cloudが早期プレビューとしてMVCCベースの並行書き込み(BEGIN CONCURRENT)を提供開始。SQLiteの単一ライター制約を回避し、行レベルでの競合検出によりチェックアウト処理や高頻度データ取り込みなどのワークロードでSQLite比最大4倍のスループットを実現する。tursodbデータベースの作成とダッシュボードでの有効化が必要で、TypeScript/Python/Rustでの実装例と競合リトライ、ホットロー問題への対処法を解説している。
↗ 元記事を開く
blog.cybozu.io 3日前

20 年以上動き続ける SQLite ベースのアプリケーションを Kubernetes に移行しています

サイボウズ Office とメールワイズという20年以上動くSQLiteベースのCGIアプリケーションをKubernetes基盤Necoへ移行した事例。fcntl(2)ロックとページキャッシュがPod間で機能することをカーネルレベルで検証し、Pod AffinityとReadWriteOnceボリュームを組み合わせたダウンタイムなしのローリングアップデート構成を採用。CGIのコマンドライン呼び出しはサイドカーでgRPC化し、数億ファイル規模のデータ移行は事前転送と最終転送の2段階でmtimeベースの差分転送の安全性もbpftraceで検証。バックアップはMantleを利用し、外形監視は書き込み+fsyncを行うエンドポイントとexporterで再設計した。

サイボウズ Office とメールワイズという20年以上動くSQLiteベースのCGIアプリケーションをKubernetes基盤Necoへ移行した事例。fcntl(2)ロックとページキャッシュがPod間で機能することをカーネルレベルで検証し、Pod AffinityとReadWriteOnceボリュームを組み合わせたダウンタイムなしのローリングアップデート構成を採用。CGIのコマンドライン呼び出しはサイドカーでgRPC化し、数億ファイル規模のデータ移行は事前転送と最終転送の2段階でmtimeベースの差分転送の安全性もbpftraceで検証。バックアップはMantleを利用し、外形監視は書き込み+fsyncを行うエンドポイントとexporterで再設計した。
↗ 元記事を開く
dgl.cx 5日前

SQLite as a Document Database (2020)

SQLite 3.31.0で追加されたgenerated columns機能を使い、JSONカラムからフィールドを抽出・インデックス化してドキュメントDBのように扱う方法を紹介。VIRTUAL/STOREDの違い、NOT NULL制約によるJSONバリデーション、ALTER TABLEでの後からのカラム追加とインデックス作成についても解説している。

SQLite 3.31.0で追加されたgenerated columns機能を使い、JSONカラムからフィールドを抽出・インデックス化してドキュメントDBのように扱う方法を紹介。VIRTUAL/STOREDの違い、NOT NULL制約によるJSONバリデーション、ALTER TABLEでの後からのカラム追加とインデックス作成についても解説している。
↗ 元記事を開く