SQLITE3 ファイル形式とは?
.sqlite3 ファイルは SQLite 3 リレーショナルデータベース です。これは、単一のクロスプラットフォーム・バイナリファイルに保存された、完全で自己完結型のサーバーレスデータベースです。この形式は、バイトオフセット 0 にある 16 バイトのヌル終端ヘッダー文字列 SQLite format 3 によって識別され、ファイル拡張子に関係なくすべての SQLite 3 データベースで共通です。
データは、ビッグエンディアン整数を使用した固定サイズの B-tree ページ(デフォルトは 4,096 バイト、実際のページサイズはヘッダーの 16-17 バイト目に記録)で構成されています。最初のページには常に sqlite_schema テーブルが含まれており、これはデータベース内のすべてのテーブル、インデックス、ビュー、トリガーのカタログです。
.sqlite3 拡張子は、同一のバイナリ形式に対するいくつかの慣習の1つです。.sqlite、.db、.db3、.s3db ファイルはバイト単位で全く同じです。WAL モード(ライトアヘッドロギング)のデータベースは、メインファイルと一緒に保持する必要がある -wal および -shm サイドカーファイルを生成します。
SQLite 3 には暗号化機能が組み込まれていません。オプションの暗号化は、商用の SQLite Encryption Extension (SEE) またはオープンソースの SQLCipher ライブラリを介して利用可能です。スキーマとデータは、sqlite3 シェルの .dump コマンドを使用して .SQL スクリプトにエクスポートできます。
SQLite は 世界で最も広く導入されているデータベースエンジン です。Android、iOS、macOS、すべての主要な Web ブラウザ、および無数の組み込みデバイスに搭載されています。SQLite チームは形式の長期的な安定性を保証しており、今日書き込まれたファイルは数十年後も読み取り可能であることを意図しています。
セキュリティと安全性
リスク: MEDIUM.sqlite3 ファイルはデータであり、実行可能コードではないため、ビューアで開くことは安全です。ただし、その「内容」は機密情報として扱ってください。アプリやブラウザの SQLite データベースには、プライベートメッセージ、連絡先、閲覧履歴、セッショントークン、位置情報データが保存されていることが一般的です。個人のデータベースをオンラインビューアにアップロードしないでください。また、信頼できないソースからの SQL をデータベースに対して実行しないでください(データが削除される可能性があります)。最新の未コミットの変更が含まれる -wal/-shm ファイルが存在する場合があるため、メインファイルと一緒に保管してください。
形式の詳細
概要SQLITE3 ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルシグネチャ | 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 - バイトオフセット 0 の «SQLite format 3» (ヌル終端) |
| バイトオーダー | ビッグエンディアン(ヘッダーおよび B-tree ページの整数) |
| ページサイズ | 1ページあたり 512-65,536 バイト(デフォルト 4,096 B)。ヘッダーの 16-17 バイト目に保存 |
| ストレージエンジン | カスタム B-tree ページドストレージ(汎用コンテナ形式ではない) |
| テキストエンコーディング | UTF-8 (コード 1)、UTF-16LE (コード 2)、または UTF-16BE (コード 3)。データベースヘッダーに記録 |
| 暗号化 | デフォルトではなし。SQLite Encryption Extension (SEE) または SQLCipher を介して利用可能 |
| WAL モード | 有効にすると、-wal (ライトアヘッドログ) および -shm (共有メモリ) サイドカーファイルが追加される |
| スキーマカタログ | 最初のページにある sqlite_schema テーブルに、すべてのテーブル、インデックス、ビュー、トリガーがリストされる |
| 整合性チェック | PRAGMA integrity_check が完全な B-tree スキャンを実行。自動的な埋め込みチェックサムはなし |
| 一般的なサイズ | 数 KB(空の状態)から数百 GB まで。厳密な上限はなし |
| STRICT テーブル | SQLite 3.37.0+ (2021) 以降、列の型指定を強制する STRICT テーブルをサポート |
| 関連 OS | Windows, macOS, Linux, Android, iOS, 組み込みシステム |
| リリース日 | 2004 (SQLite 3 file format; SQLite itself since 2000) |
| 最新バージョン | SQLite file format version 3 (stable; backwards-compatible since 2004) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.sqlite.org |