リレーショナル・データベースは、データを行と列に編成し、データ・ポイントが相互に関連するテーブルを集合的に形成するデータベースの一種です。
データは通常、複数のテーブルにわたって構造化されており、主キーまたは外部キーを介して結合できます。 これらの一意の識別子は、テーブル間に存在するさまざまな関係を示します。これらの関係は通常、さまざまなタイプのデータ・モデルを通じて示されます。 アナリストはSQLクエリを使用してさまざまなデータ・ポイントを結合し、ビジネス・パフォーマンスを要約することで、組織がインサイトを得て、ワークフローを最適化し、新たな機会を特定できるようにします。
たとえば、貴社が顧客情報を含むデータベース・テーブルを管理しており、そのテーブルにはアカウント・レベルの会社のデータが含まれているとします。 そのアカウントに対応するすべての個々のトランザクションを説明する別のテーブルが存在する場合もあるでしょう。これらのテーブルを組み合わせると、特定のソフトウェア製品を購入するさまざまな業界に関する情報が得られます。
customerテーブルの列(またはフィールド)は、Customer ID、Company Name、Company Address、Industryなどです。トランザクション・テーブルの列は、Transaction Date、Customer ID、Transaction Amount、Payment Methodなどです。 これらのテーブルは、共通のCustomer IDフィールドで結合することができます。 したがって、テーブルをクエリして、業界別または企業別の販売レポートなどの価値のあるレポートを作成し、見込み顧客にメッセージを伝えることができます。
リレーショナル・データベースは通常、コマンドまたはトランザクションを集合的に実行するトランザクション・データベースとも関連付けられています。 これを説明するためによく使用される例は、銀行振込です。 定義された金額が1つの口座から引き出され、別の口座に入金されます。 全額が引き出され、預け入れられ、この取引はいかなる部分的な意味でも発生しません。 トランザクションには特定のプロパティがあります。 ACIDという頭字語で表され、ACIDプロパティは次のように定義されます。
これらのプロパティにより、信頼性の高いトランザクション処理が可能になります。
リレーショナル・データベースは、リレーショナル・データモデルに基づいてデータを整理しますが、リレーショナル・データベース管理システム(RDBMS)は、ユーザーがデータを管理できるようにする基盤となるデータベース・ソフトウェアへのより具体的な参照です。 これらのプログラムにより、ユーザーはシステム内のデータを作成、更新、挿入、または削除でき、次の機能が提供されます。
一般的なRDBMSシステムの例には、MySQL、PostgreSQL、IBM DB2などがあります。 さらに、リレーショナル・データベース・システムは、データをテーブルに保存するのに対し、DBMSは情報をファイルとして保存するという点で、基本的なデータベース管理システム(DBMS)とは異なります。
生成AIの主な利点と、組織が生成AIと機械学習をビジネスに組み込む方法について学びます。
データリーダー向けガイドを読む
IBMのDon ChamberlinとRay Boyceによって発明された構造化照会言語(SQL)は、リレーショナル・データベース管理システムと対話するための標準プログラミング言語であり、データベース管理者がデータの行を簡単に追加、更新、削除できるようになります。 元々はSEQUELとして知られていましたが、商標の問題によりSQLに簡略化されました。 SQLクエリを使用すると、ユーザーはわずか数行のコードを使用してデータベースからデータを取得することもできます。 この関係を考慮すると、リレーショナル・データベースが「SQL データベース」とも呼ばれる理由が簡単にわかります。
上記の例を使用すると、次のコードを使用して、特定の年の企業ごとの上位10件のトランザクションを検索するクエリを作成できます。
SELECT COMPANY_NAME, SUM(TRANSACTION_AMOUNT)
FROM TRANSACTION_TABLE A
LEFT JOIN CUSTOMER_TABLE B
ON A.CUSTOMER_ID = B.CUSTOMER_ID
WHERE YEAR(DATE) = 2022
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10
この方法でデータを結合できるため、データ・システム内の冗長性が軽減され、データチームが顧客用に1つのマスターテーブルを維持できるようになり、将来に別のトランザクションが発生した場合に、この情報を複製することができます。さらに詳しく知りたい方は、Donがこちらの論文(ibm.com外部へのリンク)でSQLの歴史について詳しく説明しています。
リレーショナル・データベースが登場する以前、企業はデータ・テーブルにツリー状の構造を備えた階層データベース・システムを使用していました。これらの初期のデータベース管理システム(DBMS)により、ユーザーは大量のデータを管理できるようになりました。ただし、それらは複雑で、多くの場合、特定のアプリケーションに固有のものであり、データ内で発見できる方法は限られていました。これらの制限により、最終的にIBMの研究者、Edgar F. Coddは、1970年にリレーショナル・データベースモデルを理論化した「大規模共有データ・バンクのためのデータのリレーショナル・モデル」という論文(Ibm.com外部へのリンク)を発表しました。この提案されたモデルでは、コンピュータの専門知識がなくても情報を取得できます。彼は、タプル、つまり属性と値のペアとして意味のある関係に基づいてデータを配置することを提案しました。タプルのセットはリレーションと呼ばれ、最終的にテーブル間のデータのマージが可能になりました。
1973 年、サンノゼ研究所(現アルマデン研究センター)は、このリレーショナル理論を「業界に耐えうる強力な実装」と呼ばれるもので証明するために、システムR(リレーショナルのR)と呼ばれるプログラムを始動しました。 最終的にはSQLの実験場にもなり、短期間でより広く採用されるようになりました。 ただし、OracleがSQLを採用しても、データベース管理者の間での人気は損なわれませんでした。
1983年までに、IBMはリレーショナル・データベースのDB2ファミリを導入しました。DB2ファミリは、IBMの2番目のデータベース管理ソフトウェア・ファミリであるため、この名前が付けられました。 現在、これはIBMの最も成功した製品の1つであり、クラウド・インフラストラクチャ上で毎日数十億のトランザクションを処理し続け、機械学習アプリケーションの基盤を構築しています。
リレーショナル・データベースはデータを表形式に構造化しますが、非リレーショナル・データベースにはデータベース・スキーマほど厳密ではありません。 実際、非リレーショナル・データベースは、データベースの種類に基づいてデータを異なる方法で管理します。 非リレーショナル・データベースの種類に関係なく、これらはすべて、テキスト、ビデオ、画像などの非構造化データ形式には理想的ではないリレーショナル・モデルに固有の柔軟性と拡張性の問題を解決することを目的としています。 これらのタイプのデータベースには、次のものが含まれます。
NoSQLデータベースも、一貫性よりも可用性を優先します。
コンピュータがネットワーク上で実行される場合、一貫性のある結果(すべての回答が常に同じ)を優先するか、または「可用性」と呼ばれる長いアップタイムを優先するかを必ず決定する必要があります。これは「CAP理論」と呼ばれ、一貫性、可用性、またはパーティション・トレランスの略です。リレーショナル・データベースにより、情報が常に同期され、一貫性が保たれます。 Redisなどの一部のNoSQLデータベースでは、常にレスポンスを提供することを好みます。つまり、クエリから受け取る情報は、数秒、場合によっては最大30秒ほど不正確になる可能性があります。ソーシャルメディア・サイトでは、最新のプロフィール写真がほんの数分前に投稿されたばかりなのに、古いプロフィール写真が表示されることになります。代わりに、タイムアウトまたはエラーが発生する可能性があります。一方、銀行や金融取引では、古くて不正確な情報よりも、エラーを出して再送信する方がよい場合があります。
SQLとNoSQLの違いの詳細については、「SQLとNoSQLデータベース:その違いとは」を参照してください。
リレーショナル・データベース・アプローチの主なメリットは、テーブルを結合することで意味のある情報が得られることです。 テーブルを結合することで、データ間の関係(リレーション)、つまりテーブルがどのようにつながっているかを理解することができます。 SQLには、クエリのカウント、追加、グループ化、および結合を行う機能が含まれています。 SQLは、基本的な数学関数、小計関数、および論理変換を実行できます。 アナリストは、日付、名前、または任意の列で結果を並べ替えることができます。 これらの機能により、リレーショナル・アプローチは、今日のビジネスにおいて最も使用されているクエリ・ツールとなっています。
リレーショナル・データベースには、他のデータベース形式と比較していくつかの利点があります。
その製品寿命のおかげで、リレーショナル・データベースを中心としたコミュニティがより多く存在し、部分的に継続使用が継続されています。 SQLを使用すると、複数のテーブルからデータ・セットを取得したり、フィルタリングや集計などの単純な変換を実行したりすることも簡単になります。 リレーショナル・データベース内でインデックスを使用すると、選択したテーブルの各行を検索しなくても、この情報をすばやく見つけることができます。
これまで、リレーショナル・データベースはより柔軟性に欠けるデータ・ストレージ・オプションと見なされてきましたが、テクノロジーとDBaaSオプションの進歩により、その認識は変わりつつあります。 NoSQLデータベース製品と比較して、スキーマを開発するにはまだ多くのオーバーヘッドがありますが、リレーショナル・データベースはクラウド環境に移行するにつれて柔軟性が高まっています。
リレーショナル・データベースは2つの方法で冗長性を排除できます。 リレーショナル・モデル自体は、正規化と呼ばれるプロセスを通じて、データの冗長性を低減します。 前述したように、顧客テーブルでは、顧客情報の一意のレコードのみをログに記録する必要があり、複数のトランザクションに対してこの情報を複製する必要はありません。
ストアド・プロシージャは、反復作業の削減にも役立ちます。 たとえば、データベースへのアクセスが特定の役割、機能、またはチームに制限されている場合、ストアド・プロシージャはアクセス制御の管理に役立ちます。 これらの再利用可能な機能により、アプリケーション開発者は時間を有効活用して、よりインパクトの大きい業務に取り組むことができます。
リレーショナル・データベースはトランザクションに対応しており、システム全体の状態がいつでも一貫していることが保証されます。ほとんどのリレーショナル・データベースには、簡単なエクスポートとインポートのオプションが用意されているため、バックアップと復元が容易になります。これらのエクスポートはデータベースの実行中でも実行できるため、障害が発生した際の復元が簡単になります。最新のクラウドベースのリレーショナル・データベースは継続的なミラーリングを実行できるため、復元時のデータ損失を数秒以内に抑えられます。 IBM Cloud Databases for PostgreSQLなど、ほとんどのクラウド管理サービスではリード・レプリカを作成できます。これらのリード・レプリカを使用すると、データの読み取り専用コピーをクラウド・データセンターに保存できます。レプリカは、災害復旧のために読み取り/書き込みインスタンスに昇格することもできます。
IBM Db2は、低遅延のトランザクションと大規模なリアルタイム分析を強化するために構築された、クラウドネイティブのデータベースです。
IBM Cloud へのネイティブ統合によりエンタープライズ対応に構築されたサービスとしての PostgreSQL をご覧ください。
Hyper Protect Virtual Servers for Virtual Private Cloud(VPC)は、完全に管理された機密コンピューティング・コンテナー・ランタイムであり、技術保証付きの高度に分離された環境で機密性の高いコンテナ化されたワークロードの展開を可能にします。
オープンソースのPostgreSQLに基づく、セキュリティが強化されたエンタープライズ・クラスのデータベースで、アプリケーションを開発し、実行できます。