マジセミドライブ
ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。
OSS情報
2020.01.01
【OSS情報アーカイブ】SQLite

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。
コンテンツ
「SQLite」とは
「SQLite」基本情報
■概要
SQLite(エスキューライト)とは、軽量コンパクトなリレーショナルデータベースシステムです。主に「組み込み用途」や「小規模システムのデータストア」として利用されています。
■基本説明
SQLiteは「小型」「高速」「自己完結型」「高信頼性」「高機能」のSQLデータベースエンジンを実装するC言語ライブラリです。
SQLiteはコードフットプリントが小さく、「メモリ」「ディスクスペース」「ディスク帯域幅」を効率的に使用でき、データベース管理者によるメンテナンスを必要としません。
単独アプリケーションとして動作でき、インストールも簡単で非常にコンパクトであるため、アプリケーションやデバイスでローカルデータストレージとして活用されています。
SQLiteは多くのスマートフォンやコンピュータに組み込まれており、無数のアプリケーションにバンドルされているため、「世界で最も使われているデータベースエンジン」と言われています。
■主要開発元
SQLiteは、SQLiteコンソーシアムを中心として開発されています。
→SQLite →The SQLite Consortium
■経緯
・2000年:初版リリース
■オフィシャルサイト情報
オフィシャルサイト
ライセンス情報
SQLiteのライセンスは「Public domain」です。
詳細について、こちらを参照ください。
→SQLite →Copyright
ダウンロード
■同様製品
同様な機能を提供する製品として、次のようなものがあります。
オープンソース製品:「Berkeley DB」など。
「SQLite」のユースケース
SQLiteは、さまざまなデータストア用途として利用できます。
→SQLite →Appropriate Uses For SQLite
■IoT
SQLiteは、さまざまなIoTデバイスのデータベースエンジンとして使用できます。
・スマートフォン(携帯電話)
・セットトップボックス
・テレビ
・ゲーム機
・カメラ
・スマートウォッチ
・リモートセンサー
・サーモスタット
・工作機械
・医療機器
・ロボット
・ドローン
・自動車
・飛行機 など
■アプリケーションフォーマット
SQLiteはアプリケーションファイルフォーマットとしても利用できます。
アプリケーションで使用する情報を、fopen()を使用して「XML」「JSON」「CSV」「独自形式」などの方式でディスクファイルに書き込むのではなく、必要な情報をSQLiteデータベースに格納して利用できます。
主なメリット
・データへのアクセスが容易
・トランザクション更新が可能
・パフォーマンス向上
・コスト削減
・複雑さを軽減
・信頼性向上
・パーサーを作成してトラブルシューティングする必要がなくなる
・クロスプラットフォーム など
ユースケース
・デスクトップアプリケーション
・メディアのカタログ作成および編集スイート
・財務分析ツール
・CADパッケージ
・バージョン管理システム など
■Webサイトデータベース
Webサイト用データベースエンジン
SQLiteは中程度のWebサイトのデータベースエンジンとして最適に機能します。
SQLiteは「100Kヒット/日」程度のWebトラフィックに対応でき、その10倍のトラフィック量で動作することが実証されています。
Webサイトバックアップ用データベース
SQLiteは「構成を必要としない」「通常のディスクファイルに情報を保存できる」などの特徴を持つため、中小規模のWebサイトでバックアップ用データベースとして広く使用されています。
■データ分析
SQLiteは、データ分析ツールのデータストアとして、大きなデータセットの分析処理にも利用できます。
分析結果データベースは単一ファイルとなるため、「USBメモリスティックに書き込める」「Eメールで送信できる」など、手軽にやり取りできるメリットがあります。
ユースケース
・Webサイトのログ分析
・スポーツ統計分析
・プログラミング測定基準の編集
・実験結果の分析 など
■キャッシュシステム
アプリケーション内にSQLiteを組み込むことで、エンタープライズRDBMSに対するキャッシュ機能として利用できます。
処理高速化
ほとんどのクエリがローカルキャッシュに対して実行され、ネットワークのラウンドトリップを回避できるため、処理時間を短縮できます。
また、ネットワークや中央データベースサーバの負荷も軽減できます。
オフライン動作可能
アプリケーションが使用するデータをローカルSQLite内に保存しておけるため、オフラインでも動作できるアプリケーションを構築できます。
■その他
・データ転送フォーマット
・ファイルアーカイブ
・データコンテナ
・教育(トレーニング)用データベース など
「SQLite」の主な特徴
「SQLite」の主な特徴
■ゼロコンフィギュレーション
SQLiteは設定不要のゼロコンフィギュレーションデータベースです。
インストール不要
SQLiteは使用する前にインストールする必要はありません。
設定不要
設定ファイルを使用しないため、通常のRDBMSが必要とする各種設定が不要です。
・サーバプロセス設定—起動、停止
・データベースインスタンス設定
・アクセス許可設定
・データベース回復設定—システムクラッシュや停電などによるシステム停止時 など
■自己完結型システム
SQLiteは依存性が非常に少ない「自己完結型システム」です
SQLiteライブラリ全体は単一のソースコードファイルにカプセル化されており、外部ライブラリや外部インターフェースを必要とせずに動作できるため、どのようなオペレーティングシステム上でも動作できます。
→SQLite →SQLite is a Self Contained System
マルチプラットフォーム
SQLiteは以下のOSをサポートしています。
・Linux
・BSD
・Solaris
・Windows(Win32、WinCE、WinRT)
・Mac
・Android
・iOS など
他のシステムにも簡単に移植できます。
■コンパクト&省メモリ
SQLiteの本体サイズは600KB程度と非常にコンパクトで、消費メモリも少ないため、処理能力が低い小型デバイスでも組み込めます。
■高速処理性能
SQLiteは、中小規模データベースで比較した場合、本格型RDBMSと比べても遜色ないといわれています。
ファイルシステムより35%高速
SQLiteは、ファイルシステムによるアクセスよりも35%高速に読み書きできます。
大量のサムネイル画像に対するアクセスの場合、ファイルシステムでは1ファイルごとにファイルアクセス用システムコールが発生しますが、SQLiteでは1回のシステムコールで複数のファイルにアクセスできます。
→SQLite →35% Faster Than The Filesystem
■大容量データに対応
SQLiteは「テラバイトサイズのデータベース」と「ギガバイトサイズの文字列およびBLOB」をサポートします。
■安定性(100%ブランチテストカバレッジ)
SQLiteの信頼性と堅牢性は、徹底的で慎重なテストによって達成されています。
SQLiteコアは、テストカバレッジプログラム「gcov」で100%のブランチカバレッジが実施されています。
「SQLite」の主な機能
「SQLite」の主な機能
■管理機能 コマンドラインインターフェースクライアント
SQLiteには、データベースを操作するためのスタンドアロンコマンドラインインターフェース(CLI)クライアント「sqlite3」が付属しています。
ユーザーがSQLiteデータベースに対して手動でSQLステートメントを入力して実行できます。
→SQLite →Command Line Shell For SQLite
■SQL機能
対応機能
SQLiteは「Lite」という名称が含まれているため低機能というイメージがありますが、ほぼフル機能のSQLを実装しています。
「部分インデックス」「式に関するインデックス」「JSON」「共通テーブル式」「ウィンドウ関数」などの高度な機能も備えています。
非対応機能
SQLiteが実装していない主なSQL機能としては以下のようなものがあります。
・完全な外部結合
・ALTER TABLEの完全サポート
・完全なトリガーサポート
・VIEWへの書き込み
・付与および取り消し など
→SQLite →SQL Features That SQLite Does Not Implement
■トランザクション機能
SQLiteは、組み込み用途として使用できるデータベースとしては数少ないものとして、トランザクション処理に対応しています。
トランザクションはアトミックであり、「一貫性」「独立性」「耐久性」「コミット」「ロールバック」などをサポートし、システムクラッシュや停電の後でもデータを永続的に保護できます。
■API連携機能
SQLiteはシンプルで使いやすいAPIを提供しています。
→SQLite →An Introduction To The SQLite C/C++ Interface
「SQLite」のファイルストレージ
「SQLite」のファイルストレージ
■単一ディスクファイル
SQLiteはファイルシステムをデータストレージとして使用します。データベースは単一のディスクファイルに格納されます。
「MySQL」や「PostgreSQL」のようなクライアントサーバ構成ではなく、「Microsoft Access」のようにファイルを直接読み書きするタイプです。
データベースを手軽にコピーできる利便性があります。
■クロスプラットフォーム
SQLiteのデータベースファイルはクロスプラットフォームで利用できます。
「32ビットマシンと64ビットマシン」「ビッグエンディアンと リトルエンディアン」など、異なるアーキテクチャーを持つ別のマシン上にコピーしてそのまま使用できます。
→SQLite →LoC Recommended Storage Format
■後方互換性
SQLiteデータベースファイルフォーマットは後方互換性が維持されています。
SQLiteバージョン3のすべてのリリースは、バージョン3.0.0によって作成されたデータベースファイルを読み書きできます。
SQLiteコンソーシアムは、将来のすべてのSQLite3リリースにおいて、上記の後方互換性維持を約束しています。
参考元サイト
※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。
この記事のタグ一覧
フリーワード検索
カテゴリー一覧
アクセスランキング
ランク1位
【無料で使える】「 RPA 」ツールまとめランク2位
【OSS情報アーカイブ】NW.jsランク3位
【無料で使える】「 翻訳 」ツールまとめランク4位
【無料で使える】「 ファイアウォール 」ソフトウェアまとめランク5位
【OSS情報アーカイブ】Cortezaランク6位
【ソフト紹介】無料で使える「 ウイルスソフト 」おすすめまとめ5選ランク7位
【OSS情報アーカイブ】Terraformランク8位
【無料で使える】「 ドキュメント管理 」ツールまとめランク9位
【無料で使える】API統合プラットフォーム「 Pipedream 」ランク10位
【OSS情報】プライバシー保護ポータブルLinuxOS「 Tails 」
おすすめの記事

デジタル寺田の3分用語解説
2025.03.11
【デジタル寺田の3分用語解説】 「 AIエージェント 」は、人間の管理職の代わりになるか?
「 AIエージェント 」は営業マネージャーの業務をどこまで代行できるのか?「データ分析」「フィードバック」「自動日程調整」の可能性を探り、未来の管理職のあり方を考察します。AIが進化する中で、人間の役割はどう変わるのか詳しく解説します。