用語集に戻る
データベース上級

better-sqlite3

better-sqlite3

一言で言うと

同期 API な軽量 SQLite クライアント。

もう少し詳しく

一言で言うと

同期 API な軽量 SQLite クライアント。

もう少し詳しく

同期 API な軽量 SQLite クライアント。IT エンジニアリングの現場で頻繁に登場する概念のひとつで、関連する仕組みやベストプラクティスと合わせて理解しておくと応用が利きます。

Node.js 向けの SQLite ネイティブアドオンで、非同期 API が主流の Node.js エコシステムの中で同期(ブロッキング)API を提供する点が最大の特徴です。prepare().run() / .get() / .all() といったメソッドで SQL を実行でき、Promise なしで直感的に書けます。WAL モード(Write-Ahead Logging)を有効にするとパフォーマンスが大幅に向上し、同等の非同期ドライバに匹敵するスループットを発揮します。Bun 組込みの bun:sqlite と API 設計が似ていますが、better-sqlite3 は Node.js ネイティブアドオン(.node バイナリ)として動作し、Node.js / Electron 環境での採用が主流です。

実務でどう使うか

  • ローカル CLI ツールのデータ永続化 ── サーバーを立てずにコマンドラインツールの設定や履歴を SQLite ファイルに保存するときに使います

  • テスト用インメモリ DB ── :memory: を指定することでテスト実行ごとに揮発するインメモリ DB を簡単に作れます

  • Electron アプリへの組込み ── デスクトップアプリのローカルデータストアとして、ファイルベースの SQLite を同期 API で扱えるため Electron との相性が良いです

  • Next.js / Remix の開発サーバーサイドでのプロトタイプ ── 外部 DB なしでサーバーサイドロジックを素早く試せます
  • 関連する章

    Ch208 で詳しく学べます。

    関連する用語

    この用語を学べるコース

    この用語を実際に使ってみよう

    チョットデキルなら、5分のレッスンで実際にコードを書いて学べます。

    コース一覧を見る