データベースとは何か?定義と種類
⚡ スマートサマリー
データベースとは? データベースとは、電子的な保存、検索、管理を可能にする、体系的で構造化されたデータの集合体です。電話帳からソーシャルネットワークまで、日常的なシステムを支えており、データベース管理システム(DBMS)と呼ばれるソフトウェアによって運用されます。

データとは何ですか?
簡単に言えば、 データ データとは、関心のある対象に関する事実のことです。あなたの名前、年齢、身長、体重はすべてあなたに関するデータです。写真、画像、ファイル、PDFなども、それぞれ保存および処理可能な情報を含んでいるため、データとみなすことができます。
データベースとは何ですか?
A データベース データベースとは、体系的に収集されたデータの集合体です。データベースは、データの電子的な保存、検索、操作をサポートし、大規模なデータ管理を容易にします。
いくつか身近な例を考えてみましょう。オンライン電話帳は、データベースを使って人名、電話番号、連絡先情報を保存しています。電力会社は、データベースを使って請求処理、顧客対応、故障履歴などを管理しています。Facebookは、メンバー、友達関係、投稿、メッセージ、広告など、あらゆる情報をデータベースに保存しています。業界を問わず、その仕組みは同じです。アプリケーションやユーザーが確実に情報を照会できるよう、情報を整理するのです。
データベースの種類
最も一般的なデータベースの種類を以下にまとめます。それぞれ特定のデータ構造とワークロードに適しています。
分散データベース
分散データベースは、データを複数のサイトまたは場所に分散させます。各サイトは独自のデータ領域を保持しますが、クライアントからは1つの論理データベースとして認識されます。このモデルは、低遅延とローカル可用性が求められるグローバルアプリケーションでよく用いられます。
リレーショナルデータベース
リレーショナルデータベースは、行と列を持つテーブルにデータを格納し、キーを使用してテーブル同士を関連付けます。RDBMSと呼ばれることも多く、依然として最も普及しているデータベースです。 DBMS 市場における家族。例としては、 MySQL, Oracle Database, PostgreSQL, Microsoft SQL Server.
オブジェクト指向データベース
オブジェクト指向データベースは、データをオブジェクトとして格納します。各オブジェクトは、データに対して許可される操作を定義する属性とメソッドを持ちます。オブジェクト指向プログラミング言語との互換性が高く、ORMレイヤーの必要性を排除します。
一元化されたデータベース
集中型データベースは、すべてのレコードを単一の中央サーバーに保存します。ユーザーは複数の場所から同じデータベースに接続するため、管理は簡素化されますが、サーバーが単一の競合ポイントとなるという問題があります。
オープンソースデータベース
オープンソースデータベースは、誰でも自由に利用、変更、再配布できるように、寛容なライセンスの下でソースコードを公開しています。 MySQL, PostgreSQL, SQLite, MariaDB, MongoDB これらは広く普及している例である。
クラウドデータベース
クラウドデータベースは、仮想化されたオンデマンドインフラストラクチャ向けに最適化されています。マネージドサービスとして提供され、ストレージとコンピューティングを柔軟に拡張でき、組み込みのレプリケーションによって高可用性を提供します。例としては、 Amazon RDS、 Azure SQLデータベース、そして Google Cloud スパナ。
データウェアハウス
A データウェアハウス 複数のソースシステムから得られる履歴データと累積データを一元管理することで、意思決定、レポート作成、予測を支援します。組織に信頼できる単一のデータソースを提供することで、分析を簡素化します。
NoSQLデータベース
NoSQLデータベースは、行と列にきれいに収まらない、非常に大規模で非構造化されたデータセットを扱います。ドキュメントストア、キーバリューストア、カラムファミリーストア、グラフストアはそれぞれ異なるアクセスパターンに対応し、従来のリレーショナルデータベースでは実現が難しい水平スケーラビリティを提供します。
グラフデータベース
グラフデータベースは、グラフ理論(ノードとエッジ)を用いて、関係性を直接保存および照会します。不正検出、レコメンデーションエンジン、ソーシャルネットワーク分析など、エンティティ間のつながりがエンティティ自体と同じくらい重要な用途に最適です。
OLTPデータベース
OLTP(オンライン・トランザクション処理)データベースは、マルチユーザー環境における高スループットかつ低遅延のトランザクション処理に重点を置いています。ACID特性を保証し、POSシステムや銀行アプリケーションなどの運用システムを駆動する、多数の小規模な読み書き処理に最適化されています。
個人データベース
個人用データベースは、単一のユーザーまたは小規模チームのために、単一のコンピュータにデータを保存するものです。 Microsoft アクセスと SQLite 典型的な例です。
マルチモーダルデータベース
マルチモーダルデータベースは、単一のエンジン内で複数のデータモデル(ドキュメント、グラフ、キーバリューなど)をサポートします。ArangoDBと Microsoft Azure Cosmos DBは、人気の高いマルチモーダルデータベースです。
ドキュメント/JSONデータベース
ドキュメント指向データベースでは、各レコードは自己完結型のドキュメントであり、通常はJSON、BSON、またはXML形式です。1つのドキュメントに、階層構造の複雑なデータや多様なフィールドを含めることができるため、変化の速いアプリケーションにも柔軟に対応できます。 MongoDB Couchbaseはよく知られた例です。
階層型データベース
階層型データベースは、親子関係を持つツリー構造を使用します。ノードはレコードを表し、ブランチはフィールドを表します。 Windows 登録 Windows XPおよび IBM IMSは階層型データベースの典型的な例である。
ネットワークデータベース
ネットワーク型DBMSは、レコード間の多対多の関係をサポートし、階層型モデルよりも複雑な構造を生成します。RDM Serverは、ネットワーク型モデルを実装したデータベース管理システムの一例です。
データベースコンポーネント
データベースの構成要素。
すべてのデータベースは、連携して動作する5つのコンポーネントから構成されています。
Hardware
ハードウェアとは、コンピュータ、入出力デバイス、記憶媒体、ネットワークなど、物理的な層を指します。これは、データベースと外部システムとの間のインターフェースを提供します。
ソフトウェア
ソフトウェアとは、データベースを管理・制御するあらゆるものを指します。具体的には、DBMS自体、オペレーティングシステム、複数のユーザーがデータを共有できるようにするネットワークソフトウェア、そしてDBMSを介してデータの読み書きを行うアプリケーションなどが含まれます。
Rescale データ
データとは、データベースに保存される生の事実、観察結果、数値、記号、画像などのことです。生データだけでは意味がありません。データベースはそれを整理・処理して、有用な情報へと変換します。
手順
手順書とは、データベースの設計、運用、保守の方法を規定する文書化された指示と規則のことです。これらは、管理者とユーザーに対し、システムを確実に運用する方法を示します。
データベース アクセス言語
データベースアクセス言語(多くの場合SQL)を用いることで、ユーザーやアプリケーションはデータの挿入、更新、削除、照会を行うことができる。ユーザーは特定のコマンドを発行し、DBMS(データベース管理システム)はそれらのコマンドを解析、計画、実行し、基盤となるストレージに対して処理を実行する。
データベース管理システム (DBMS) とは何ですか?
A データベース管理システム (DBMS) は、ユーザーがデータを定義、保存、取得、更新、保護できるようにするソフトウェア層です。 DBMS 多数のユーザーとアプリケーション間のアクセスを調整し、整合性を確保し、誰が何を見たり変更したりできるかを制御します。
DBMS技術は新しいものではない ― チャールズ・バックマン 統合データストア(IDS)1960年代初頭にゼネラル・エレクトリック社で開発されたデータベース管理システム(DBMS)は、最初のDBMSとして広く認められています。それ以来、この分野は階層型、ネットワーク型、リレーショナル型、オブジェクト指向型、そしてNoSQL型といったモデルへと進化を遂げ、それぞれが次世代のデータワークロードに対応してきました。
データベース管理システムの歴史
以下のマイルストーン trace データベース技術の進化。
- 1960s — チャールズ・バッハマンがゼネラル・エレクトリック社で最初のDBMS(統合データストア)を設計。
- 1968 - IBM 船舶情報管理システム(IMS)は、最も初期の階層型DBMSの1つである。
- 1970 — エドガー・F・コッドは「大規模共有データバンクのためのリレーショナルデータモデル」を出版し、リレーショナルモデルを紹介した。
- 1976 — ピーター・チェンは、エンティティ関係(ER)モデルを体系化した。
- 1980s - 関係モデル SQLが主流のデータベースパラダイムとなり、SQLが標準化される。
- 1985 オブジェクト指向DBMSは、オブジェクト指向プログラミング言語の台頭に合致しているように思われる。
- 1990s ―オブジェクトリレーショナル機能が主流のリレーショナルデータベース管理システム(RDBMS)に導入される。
- 1992 - Microsoft 最初のバージョンをリリース Microsoft 個人データベースへのアクセス。
- 1995 ―ウェブアプリケーションが、インターネット規模のデータベース利用を促進し始めている。
- 1997 — XMLは、フォーマットとしてもクエリ対象としてもデータベースに取り込まれる。
- 2009 — NoSQLという用語は普及しつつある tracドキュメントストア、キーバリューストア、グラフストアが急速に増加するにつれて、その傾向が強まる。
- 2010以上 — クラウドネイティブおよび分散型 SQL データベース (Aurora、Spanner、 CockroachDB)が出現します。
DBMSの利点
適切に実装されたDBMSは、組織にいくつかの実用的なメリットをもたらします。
- データを効率的に保存および取得するための多くの手法を提供します。
- 同じデータを共有する複数のアプリケーションのニーズのバランスを取ります。
- 統一された管理手順を提供する。
- アプリケーションプログラマーをストレージの詳細から保護します。
- 制約とアクセス制御を通じて、データの整合性とセキュリティを実現します。
- 同時アクセスをスケジュールすることで、有効な操作のみが成功するようにします。
- 再利用可能なサービスによって、アプリケーション開発時間を短縮します。
DBMSのデメリット
DBMSモデルにもトレードオフが存在する。
- ハードウェアとソフトウェアのコストは相当なものになる可能性がある。
- ほとんどのシステムは複雑なので、ユーザーと管理者にはトレーニングが必要です。
- データを単一のデータベースに集中させると、システム障害、データ破損、または攻撃の標的になりやすくなる。
- 同時アクセスを実現するには、更新情報の消失やデッドロックを回避するために、慎重な設計が必要です。
- DBMSは、大規模な数値計算向けに設計されていません。そのような作業負荷は、専用のツールの方が適しています。

