データベース管理システム(DBMS:Database Management System)とは、データを保存および取得できるあらゆる種類のシステムです。DBMS アプリケーションは、ファイルを含むあらゆる種類のストレージ戦略を使用できます。リレーショナル・データベース管理システム(RDBMS:Relational Database Management System)は、表形式でデータを格納します。RDBMS は、情報の保存方法に厳しい制限がありますが、データの整理やクエリに便利です。
DBMS の定義
RDBMS は DBMS の一種で、DBMS はオープンソース・データベースを含むデータを保存するシステムを表す包括的な用語です。ユーザーには、データを編集、追加、レビューするためのグラフィカル・インターフェースが表示されます。メインフレーム、リレーショナル・データベース、NoSQL データベースは、DBMS のほんの一例です。
クエリできるように整理されたファイルも、DBMS を構成するものとして考えることができます。DBMS は、後でクエリや編集が可能な方法で情報を整理するストレージ・システムです。DBMS アプリケーションには、クエリ中の性能を効率的にする独自の方法でデータを整理する方法があります。しかし、全ての DBMS が、速度の低下に悩まされることなく大量のデータを処理できるわけではありません。
RDBMS の定義
RDBMS はデータベース管理システムの一種ですが、管理システムによるデータの保存方法に特化しています。RDBMS アプリケーションは、テーブルを使用してデータを格納します。各列は、データ型と各レコードに格納される内容を定義します。各レコードは行として表されます。ほとんどのテーブル設計者は、テーブル内の列数を制限しますが、テーブルには数百万行を含めることができます。
ユーザーは、ほとんどのリレーショナル・データベースの言語である構造化クエリ言語(SQL)を使用してデータベースのクエリを実行します。SQL は、データを保存するデータベース・エンジンによって若干異なりますが、SQL は一般的に全てのデータベースで同じ構文です。クエリを高速化するには、クエリ・フィルタで一般的に使用される列にインデックスを使用する必要があります。プライマリキーは、レコードを区別するために使用されます。テーブル間の関連データは、結合キーと外部キーを使用してリンクされます。
DBMS と RDBMS の主な違い
DBMS と RDBMS の主な違いは、データの保存方法にあります。RDBMS は特にテーブルを使用し、市場のリレーショナル・データベースのほとんどは独自の戦略を使用してデータを保存および取得します。ある RDBMS に精通している管理者であれば、別の RDBMS を扱う際に学習曲線が小さくなります。これらは全て、プライマリキー、テーブル、インデックスを使用してクエリを高速化します。
DBMS は単なる包括的な用語ではなく、あらゆる単純または複雑なデータベース・システムを表すために使用できます。例えば、RDBMS ではテーブルを使用してデータを保存し、DBMS ではシンプルなファイルを使用する場合があります。この例では、プライマリキーの代わりに、ファイルには単にランダムに生成された一意の文字列が名前として付けられていることがあります。DBMS によるデータ管理方法はエンジンによって異なりますが、RDBMS は常にデータをテーブルに格納します。
DBMS のユースケース
どの業界でも DBMS を使用できますが、RDBMS を含め、どの DBMS を選択するべきかはアプリケーションによって異なります。例えば、銀行は DBMS を使用して財務データを整理したり、消費者ローン用にスキャンした PDF を保存したりします。DBMS アプリケーションは、性能の設定方法や、ユーザー向けのクエリ・フロントエンド・アプリケーションの設定方法を管理者が知っている限り、優れた拡張性と大容量のデータ処理を可能にします。
分析に使用される非構造化で大規模なデータ・サイロには、NoSQL DBMS が必要です。例えば、競合他社のサイトから Web ページのリストを抽出し、マーケティングやギャップ分析のために分析したいとします。NoSQL DBMS は、特定の列に制限することなくデータを保存します。NoSQL DBMS は、保存する必要があるデータの種類やサイズがわからない場合によく使用されます。
RDBMS のユースケース
リレーショナル・データベースは、NoSQL DBMS アプリケーションよりもはるかに古いものです。データベースを選択する際には、保存するデータの種類を知る必要があります。例えば、eコマース・ストアは RDBMS と連携して、顧客情報、注文データ、製品、ユーザーの嗜好を保存できます。管理者は、テーブルを適切に構成し、クエリは数百万件のレコードをミリ秒以内にフィルタリングし、データセットをユーザーに返します。
MySQL、SQL Server、Oracle は、一般的なエンタープライズ・アプリケーションを支える RDBMS 技術の一例です。例えば、WordPress ソフトウェアは MySQL で動作します。各データ項目を特定のデータ型の列に格納できる場合は、RDBMS を使用してストレージと共通の SQL クエリ構文を作成できます。RDBMS の学習曲線はより緩やかですが、成長するビジネスアプリケーションに対しては優れた拡張性を発揮します。