マジセミドライブ

ウェビナー関連のニュースやITサービス&ツールの最新情報を随時配信します。

OSS情報

2020.01.01

【OSS情報アーカイブ】SQLite

【OSS情報アーカイブ】SQLite

※当記事に記載されている情報は、古くなっている場合があります。オフィシャルサイトで最新情報をご確認ください。

「SQLite」とは

「SQLite」基本情報

■概要

SQLite(エスキューライト)とは、軽量コンパクトなリレーショナルデータベースシステムです。主に「組み込み用途」や「小規模システムのデータストア」として利用されています。

■基本説明

SQLiteは「小型」「高速」「自己完結型」「高信頼性」「高機能」のSQLデータベースエンジンを実装するC言語ライブラリです。

SQLiteはコードフットプリントが小さく、「メモリ」「ディスクスペース」「ディスク帯域幅」を効率的に使用でき、データベース管理者によるメンテナンスを必要としません。

単独アプリケーションとして動作でき、インストールも簡単で非常にコンパクトであるため、アプリケーションやデバイスでローカルデータストレージとして活用されています。

SQLiteは多くのスマートフォンやコンピュータに組み込まれており、無数のアプリケーションにバンドルされているため、「世界で最も使われているデータベースエンジン」と言われています。

■主要開発元

SQLiteは、SQLiteコンソーシアムを中心として開発されています。

→SQLite →The SQLite Consortium

■経緯

・2000年:初版リリース

■オフィシャルサイト情報

オフィシャルサイト

→SQLite(SQLite Home Page)

ライセンス情報

SQLiteのライセンスは「Public domain」です。

詳細について、こちらを参照ください。
→SQLite →Copyright

ダウンロード

→SQLite →SQLite Download Page

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「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」をサポートします。

→SQLite →Limits In SQLite

■安定性(100%ブランチテストカバレッジ)

SQLiteの信頼性と堅牢性は、徹底的で慎重なテストによって達成されています。

SQLiteコアは、テストカバレッジプログラム「gcov」で100%のブランチカバレッジが実施されています。

→SQLite →How SQLite Is Tested

「SQLite」の主な機能

「SQLite」の主な機能

■管理機能 コマンドラインインターフェースクライアント

SQLiteには、データベースを操作するためのスタンドアロンコマンドラインインターフェース(CLI)クライアント「sqlite3」が付属しています。

ユーザーがSQLiteデータベースに対して手動でSQLステートメントを入力して実行できます。

→SQLite →Command Line Shell For SQLite

■SQL機能

対応機能

SQLiteは「Lite」という名称が含まれているため低機能というイメージがありますが、ほぼフル機能のSQLを実装しています。

「部分インデックス」「式に関するインデックス」「JSON」「共通テーブル式」「ウィンドウ関数」などの高度な機能も備えています。

→SQLite →Full-Featured SQL

非対応機能

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 →Database File Format

■クロスプラットフォーム

SQLiteのデータベースファイルはクロスプラットフォームで利用できます。

「32ビットマシンと64ビットマシン」「ビッグエンディアンと リトルエンディアン」など、異なるアーキテクチャーを持つ別のマシン上にコピーしてそのまま使用できます。

→SQLite →LoC Recommended Storage Format

■後方互換性

SQLiteデータベースファイルフォーマットは後方互換性が維持されています。

SQLiteバージョン3のすべてのリリースは、バージョン3.0.0によって作成されたデータベースファイルを読み書きできます。

SQLiteコンソーシアムは、将来のすべてのSQLite3リリースにおいて、上記の後方互換性維持を約束しています。

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

この記事のタグ一覧

おすすめの記事

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

AIツール実験室

2023.12.27

【AIツール実験室】チャットAI対抗「添削能力」選手権🏆

各チャットAIの「添削能力」について比較確認をしています。 「ChatGPT4と同等の添削能力を発揮した無料チャットAI」にご注目ください。 また、 ChatGPTカスタマイズ機能「GPTs」を利用して作成した GPTs文章添削機能「添削師匠さん✍️」を紹介しています。 課金勢は試しに使ってみてください。

AIツール関連 記事リストポータル

AIツール

2023.10.05

AIツール関連 記事リストポータル

AI 関連の記事をまとめたポータルページです。

【IT用語解説】「 デジタルヒューマン 」とは😊

IT用語解説

2024.01.26

【IT用語解説】「 デジタルヒューマン 」とは😊

【IT用語解説】「 デジタルヒューマン 」として、「デジタルヒューマンとは何か?」「どのようにして作成できるのか?」「私たちの世界にどのような影響を与えているのか?」などについて、まとめています。