Get to know MDN better
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
メモ: この機能はウェブワーカー内で利用可能です。
IndexedDB は、ファイルや blob を含む大量の構造化データをクライアント側で保存するための低レベル API です。この API はインデックスを使用して、高パフォーマンスなデータの検索を行うことができます。ウェブストレージは比較的少量のデータを保存するのに有用ではありますが、構造化された非常に多くのデータを扱うには不十分です。IndexedDB が解決策を提供します。ここでは、完全な API リファレンスと使用ガイド、ブラウザーの対応の詳細、および重要な概念の説明へのリンクを提供します。
IndexedDB は SQL ベースの関係データベース管理システム (RDBMS) と同様に、トランザクションのあるデータベースシステムです。しかし、SQL ベース の RDBMS が固定された列を持つテーブルを使用するのに対して、IndexedDB は JavaScript ベースのオブジェクト指向データベースです。IndexedDB では、キーでインデックス付けされたオブジェクトを保存および取り出すことができます。構造化複製アルゴリズムに対応した、任意のオブジェクトを保存することができます。データベースのスキーマを定義し、データベースへの接続を確立し、そして一連のトランザクションでデータの取り出しや更新を行う必要があります。
メモ: たいていのウェブストレージ技術と同様に、IndexedDB も同一オリジンポリシーに従います。よって、保存済みデータは同一ドメイン内からアクセスできますが、異なるドメインにまたがってデータへアクセスすることはできません。
IndexedDB を扱う操作は非同期に実行しますので、他のアプリケーションを妨げません。
クライアント側 (すなわちローカルディスク) に何らかのデータを保存するウェブ技術はいくつかあります。IndexedDB はそのような技術としてもっともよく語られます。ブラウザーがどれだけの容量をウェブデータストレージに割り当てるかや、容量の上限に達したときにどのデータを削除するかのプロセスは単純ではなく、またブラウザーにより異なります。ブラウザーのストレージ容量と削除基準で、少なくとも Firefox ではどのようにしているかの解説を試みています。
データベースへのアクセスを行いたい場合は、 open() をwindow オブジェクトの indexedDB プロパティ上で呼び出してください。このメソッドは IDBRequest オブジェクトを返します。IDBRequest オブジェクト上で発行されたイベントによってアプリケーションが呼び出されることにより、非同期操作が行われます。
データベースへのアクセスを提供します。グローバルの Window.indexedDB および WorkerGlobalScope.indexedDB プロパティによって実装されており、従って API へのエントリーポイントになります。
IDBOpenDBRequestデータベースを開くリクエストを表します。
IDBDatabaseデータベース接続を表します。データベースとのトランザクション処理を行う唯一の方法です。
トランザクションを表します。(アクセスしたいオブジェクトストアの) スコープを指定し、(読み取り専用または読み書き可能といった) アクセスの種類を定義して、データベースへのトランザクションを作成します。
IDBRequestデータベースへのリクエストの処理、および結果へのアクセスを提供する汎用インターフェイスです。
IDBObjectStoreIndexedDB 内のデータセットにアクセスできるオブジェクトストアを表し、主キーを使用して探索します。
IDBIndexこちらも IndexedDB データベース内のデータのサブセットにアクセスできますが、レコードの探索に主キーではなくインデックスを使用します。IDBObjectStore より高速に動作する場合があります。
IDBCursorオブジェクトストアとインデックスを反復処理します。
IDBCursorWithValueオブジェクトストアとインデックスを反復処理して、カーソルの現在の値を返します。
IDBKeyRangeデータベースから一定の範囲のデータを取り出すために使用可能な、キーの範囲を定義します。
本仕様では、以下のカスタムインターフェイスでイベントが発生します。
IDBVersionChangeEventIDBVersionChangeEvent インターフェイスは、IDBOpenDBRequest.onupgradeneeded イベントハンドラー関数によってデータベースのバージョンが変更されたことを表します。
| Indexed Database API 3.0 |
This page was last modified on 2025年9月25日 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.