主要DBMSとその機能【前編】
いまさら聞けない「RDBMS」と「非RDBMS」の違いを歴史から学ぶ
DBMSにはRDBMS以外にもさまざまな種類が存在する。どのDBMSを使用するかを決める前に、それぞれの長所と短所を知っておくことが大切だ。RDBMSをはじめとする主要DBMSを解説する。
データベース管理システム(DBMS)は業務システムや分析システムの中核だ。データの処理、保存、管理、アプリケーションやエンドユーザーへのデータ提供といった、一連のデータ管理を担う。
現在広く使われているのが、データをテーブル形式で管理する「リレーショナルデータベース管理システム」(RDBMS)だ。RDBMSはクエリ(データベース操作)言語「SQL」を用い、データの一貫性と信頼性を重視したトランザクション(一連の処理をまとめて実行すること)を実現する。そのため、業務アプリケーションで扱う定型的なデータの処理に適している。
ただしRDBMSにもデータ構造の厳密性や維持コストといった課題がある。ビッグデータの処理が求められるようになってから、これらの課題はより顕著になった。そうした課題に対処するために、RDBMS以外のDBMSが次々と誕生している。
企業はRDBMSをどう活用してきたのか。RDBMS以外の選択肢には何があり、それぞれの強みは何か。以下で、RBDMSを含む主なDBMSの種類を見ていこう。
1.RDBMS
かつてDBMSといえば、RDBMSがほぼ唯一の選択肢だった。だがビッグデータやIoT(モノのインターネット)、データストリーミング(リアルタイムデータ処理)といった新しい技術の台頭によって、用途別に代替となるDBMSが登場した。とはいえ市場規模やシステム導入の規模から見ると、現在もRDBMSが主流だ。
RDBMSは1970年代後半に商用化された。業務処理や分析処理など、多岐にわたるアプリケーションにおいてデータの管理、操作、保護を実現している。
1990年代半ば以降、RDBMSは基幹システム向けDBMSの中心的存在となった。主要製品としては「Oracle Database」「Microsoft SQL Server」「IBM Db2」がある。クラウドサービスへのシステム移行が進む中、「Amazon Web Services」(AWS)や「Google Cloud」といったクラウドサービスが、「MySQL」「PostgreSQL」「MariaDB」などのオープンソースDBMSのクラウド版を提供しており、RDBMS市場で存在感を増している。
データ分析基盤となるデータウェアハウス(DWH)の普及後も、RDBMSは広く採用されている。Oracle、Microsoft、IBM、SAP、Teradataなどのベンダーが提供する従来のDWHに加え、クラウド版DWHとして列(カラム)指向ストレージを採用して分析処理を最適化した「Amazon Redshift」「BigQuery」「Snowflake」なども台頭してきた。
RDBMSは順応性、安定性、信頼性に優れる。大小さまざまな企業における使用実績が、その成熟度を裏付けている。特筆すべき特徴は「ACID特性」(原子性:Atomicity、一貫性:Consistency、独立性:Isolation、永続性:Durability)の保証だ。全てのトランザクションの完了を保証し、障害時には以前の状態に復旧(ロールバック)できる仕組みによって、データの一貫性を維持する。
このように優れた特徴を持つRDBMS以外のDBMSにも、企業は目を向けるようになったのはなぜか。それは大規模なWebアプリケーションでのデータ処理やビッグデータ活用、AI(人工知能)技術の普及によって、RDBMSの限界が見えてきたからだ。こうした変化の激しい状況では、融通が利くデータ構造、弱い一貫性、低い処理負荷を特徴とする他のDBMSが適する場合がある。RDBMSの安定性と信頼性を実現するためには、相応のコストが必要になる点も一因だ。
2.NoSQL
NoSQLは2000年代半ばに登場した。当初は「SQL不使用」を意味していたが、さまざまなベンダーがNoSQLでSQLクエリを実行できるようにしたことで、「Not Only SQL」(SQLに限定されない)という意味で定着した。RDBMSが厳密なスキーマ(データベースの定義情報)を必要とするのに対し、NoSQLはデータベース内の各要素(エンティティ)が同じ構造を持つ必要がない。あいまいな構造や、時間とともに変化する可能性のあるデータを扱う場合、RDBMSよりNoSQLの方が適する場合がある。
RDBMSとNoSQLの重要な違いの一つは、データの一貫性と整合性の確保方法だ。ほとんどのNoSQLは「結果整合性」を採用している。これは、分散型データベースのノード(サーバ)間でデータが常に一貫している必要はなく、更新が落ち着いた時点で整合性を確保するモデルだ。一部のベンダーは、NoSQLでもRDBMSのような完全なACID特性を実装している。ただし一般的に、NoSQLはRDBMSよりも緩やかな整合性モデルを採用することで、処理の高速化を図っている。
これらの特徴によって、NoSQLは非構造化データや半構造化データ、さまざまな形式のデータが入り交じったデータセット、スパース性が高いデータの大量処理など、RDBMSが苦手とする操作に対処できる。スパース性が高いデータとは、データベース内の要素の多くが空値のデータを指す。
特定のデータ処理に適したNoSQLだが、トランザクションの一貫性と整合性のデータの内容や特徴を整理して検索しやすくする「インデックス化」、クエリ実行の容易さではRDBMSに及ばない場合がある。NoSQLは単一の種類のDBMSを指すものではなく、主に以下の4種類に分類される点にも注意が必要だ。
- キーバリュー型
- キー(識別子)とバリュー(値)のペアでデータを格納する。
- 例としては、「Aerospike」「Amazon DynamoDB」「Redis」「Riak」がある。
- ドキュメント型
- 「JSON」「XML」などの形式で、ドキュメントとしてデータを格納する。
- 例としては、「Couchbase Server」「Apache CouchDB」「MarkLogic Server」「MongoDB」がある。
- ワイドカラム型
- 複数の列を持つ表形式でデータを格納する。
- 例としては、「Apache Accumulo」「Bigtable」「Apache Cassandra」「Apache HBase」「ScyllaDB」がある。
- グラフ型
- エンティティ間の関連性を表現する「グラフ」形式でデータを格納する。
- 例としては、「Amazon Neptune」「ArangoDB」「Memgraph」「Neo4j」「TigerGraph」がある。
これらの各タイプにはそれぞれ適した用途があり、それぞれ長所と短所を持つ。
3.インメモリDBMS
インメモリDBMSはメインメモリDBMSとも呼ばれ、ストレージではなく主にメモリにデータを保持するDBMSだ。これによって、データベース内の情報に素早くアクセスできるようになる。
主なインメモリデータベースの用途としては、高速なスループット(データ伝送速度)が必要なアプリケーションがある。データをメモリに保持することで、磁気ディスクの機械的な動作、シーク時間(目的のデータが格納されている位置に磁気ヘッドが移動する時間)、バッファー(一時的な記憶領域)へのデータ転送といった過程が不要となり、データ入出力レイテンシ(遅延)を削減できる。インメモリDBMSは一般的にストレージにデータを格納するDBMSよりも単純なアルゴリズムを使用し、CPU命令数が少なくなりやすい。そのため、オーバーヘッド(処理にかかる余分な負荷)の削減も可能だ。
インメモリデータベースは独立した製品カテゴリーではない。「SAP HANA」「Oracle TimesTen In-Memory Database」「Volt Active Data」「SingleStore」などはインメモリのRDBMSである一方、Aerospike、RedisはインメモリのNoSQL DBMSの例だ。Oracle、Microsoft、IBMといったベンダーは、それぞれの主力RDBMS製品にインメモリ機能を実装している。
4.マルチモデルDBMS
マルチモデルDBMSは、複数のデータモデルを扱えるDBMSだ。ドキュメント型とキーバリュー型を組み合わせたものなど、一部のNoSQL製品がマルチモデルDBMSに該当する。「Azure Cosmos DB」やMarkLogic Serverのように、当初からマルチモデルDBMSとして開発されたものもあれば、アップグレードの一環としてマルチモデルDBMSになったものもある。リレーショナルデータに加えてドキュメント型やグラフ型などのNoSQLデータを扱えるようになったRDBMSもある。
次回も引き続き、主要なDBMSの概要と、企業がDBMS製品を導入する際に検討すべき項目を紹介する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社MatrixFlow] 「物流リソース最適化」ガイド:人員・配車・傭車を出庫依頼の確定前に決めきる -
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
2
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
3
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
4
「IBM iはDXのボトルネック」は誤解 意外と知らない今風モダナイズの効果
-
5
「朝8時にバッチが終わらない」データ爆発の危機をJPX総研はどう乗り越えたか
-
6
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
7
AI導入後に発覚する「社内文書を読めない」問題 情シスは何を直せばいい?
-
8
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
9
「中堅・中小企業のネットワーク・セキュリティ運用実態」に関するアンケート
-
10
IT製品の導入に関するアンケート「PC&デバイス」編
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
プログラミング不要で誰でも実現できる、ネットワーク運用管理の自動化とは
-
5
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
6
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
-
9
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
10
“あのファイル転送”で暗躍するノーウェアランサム
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー