RDBMSの他にもこれだけある「主要DBMS」の種類と特徴:主要DBMSとその機能【後編】
RDBMS以外にも、企業は用途に応じてさまざまなDBMSを選択できる。どの用途にどのDBMSが適するのかを判断するために、主要なDBMSの種類とそれぞれの長所、短所を知っておこう。
企業システムを支えるのがデータベース管理システム(DBMS)だ。代表的なDBMSである「リレーショナルデータベース管理システム」(RDBMS)は、データをテーブル形式で管理する。クエリ(データベース操作)言語「SQL」を用い、データの一貫性と信頼性を重視したトランザクション(一連の処理をまとめて実行すること)を実現するといった特性から、業務システムや分析システムで活用されている。
一方でRDBMSには、データ構造の厳密性や維持コストといった課題があり、これらの課題に対処するために、RDBMS以外のDBMSが台頭してきた。どのような選択肢があり、それぞれどのような強みを持つのか。主要なDBMSを解説する。
5.NewSQL DBMS
併せて読みたいお薦め記事
連載:主要DBMSとその機能
さまざまなDBMS
NewSQL DBMSは明確な基準や標準を持つカテゴリーではない。これは水平スケーリング(サーバ数を増減させる拡張方法)、リアルタイム処理、大規模データ処理などのニーズに応えるため、ACID特性準拠の分散型データベース機能を備えたRDBMSとして開発された。「CockroachDB」「NuoDB」「YugabyteDB」、Google Cloudの「Spanner」、Volt Active Dataなどが代表例だ。一部のベンダーはNewSQLという呼称を避け、「分散SQL」(Distrubuted SQL)と表現している。
6.列指向DBMS
列(カラム)指向DBMSは、大量の行から特定の列をまとめて読み取る処理に最適化されたDBMSだ。この仕組みによって、SQLクエリの実行を高速化できるため、データウェアハウス(DWH)に適している。従来のRDBMSは行単位でデータを格納する。これ対して列指向DBMSは、列単位でデータを格納する。この方式は列ごとにデータを集計する分析に有用な一方で、トランザクション処理やデータ更新を伴うアプリケーションには適さない。
1990年代に開発された「Sybase IQ」(後に「SAP IQ」に名称変更)は、列指向RDBMSの一例だ。オンプレミスDWH向けとして、列指向DBMSは従来のRDBMSほど普及していなかった。そうした中、クラウドDWHが列指向DBMSを採用するようになったことで、列指向DBMSの利用が拡大した。「IBM Db2」や「Microsoft SQL Server」などの一部のRDBMS製品は、業務処理と分析処理の両方を実行できるようにするため、行指向ストレージと列指向ストレージを選択可能にしている。このような機能を持つ製品は「トランスリティカルデータベース」または「HTAP(Hybrid Transaction/Analytical Processing)データベース」と呼ばれる。
7.クラウドDBMS
クラウドDBMSは、名前の通りクラウドサービスで動作するDBMSだ。企業のデータセンターにインストールして管理するオンプレミスのDBMSとは異なり、クラウドDBMSはクラウドベンダーがホストする。
インメモリDBMSと同様、クラウドDBMSも独立した製品カテゴリーではなく、前述のDBMS技術を含む。データベースのクラウドサービス移行は全体的なトレンドであり、大半のオンプレミスDBMSのベンダーはクラウドサービス版や派生版を提供している。一方で、クラウドサービス専用のDBMS製品を開発するベンダーも存在する。
クラウドDBMSの特徴は機能や提供プラン、価格体系で異なる。一般的に共通するのは、高可用性機能が組み込まれており、処理の負荷やコンピューティングリソース要件の変化に応じてスケールアップないしスケールダウンできる点だ。オンプレミスDBMSと比較して、新規データベースの展開や不要なデータベースの停止を素早く実行できる。
目的に応じて導入オプションを調整可能な点もクラウドDBMSの特徴だ。クラウドベンダーがシステムを運用管理するフルマネージドサービス(DBaaS:Database as a Service)と、自社で運用管理するセルフマネージドサービスを選択できる。フルマネージドサービスでは、クラウドベンダーがインフラのプロビジョニング(展開)と保守、データベース管理を担当するとともに、ユーザー企業のデータベース管理者もシステムを監視し、必要に応じて関与する。パブリッククラウド、プライベートクラウド、ハイブリッドクラウド(オンプレミスシステムとクラウドサービスの併用)の選択や、従量課金制、サブスクリプション制などの料金モデルの選択も可能だ。
その他のデータ管理技術
ここまでに挙げたもの以外で、特定の用途に特化したデータベースおよびDBMSを以下に挙げる。
- 時系列データベース
- 継続的に生成されるデータを時系列順に格納する。
- 時間経過に伴うデータの変化を分析可能にする。
- 検索データベース
- エンタープライズサーチ(企業内データの横断検索)、アプリケーション監視などの用途に向けて設計された特殊なデータストア。
- ベクトルデータベース
- 大規模な類似性検索のため、非構造化データを多次元の数値表現として格納する。
- 類似性検索は、データセット内の要素(エンティティ)が求めるエンティティとどれだけ似ているのかを特定する検索。
- テキストや画像を生成するAI(人工知能)技術「生成AI」を支える技術として採用が進んでいる。
- 大規模な類似性検索のため、非構造化データを多次元の数値表現として格納する。
- XML DBMS
- XML形式のデータをそのままのデータ構造で格納する。
- ただし現在のRDBMS製品やドキュメント型のNoSQL DBMSは、XML形式のデータも扱うことができるのが一般的。
- NoSQL DBMSは、SQLに限定されないデータ操作が可能なDBMS。データをドキュメント形式で扱うNoSQL DBMSがドキュメント型のNoSQL DBMSとなる。
- オブジェクト指向DBMS
- 値と機能を1つにまとめた「オブジェクト」としてデータを表現し、オブジェクト指向プログラミング言語(オブジェクトを基本要素とするプログラミング言語)との連携を想定して設計された。
- オブジェクト指向とリレーショナルデータベースを組み合わせたハイブリッドオブジェクトリレーショナルデータベースもある。
- プレRDBMS
- RDBMSが普及する前に、メインフレームで動作するように開発されたDBMS。階層型DBMSとネットワーク型DBMSがある。
- IBMの「IBM Information Management System」(IMS)、Broadcomの「IDMS」が代表例。
DBMSの選定で考慮すべき事項
DBMSの種類を検討し、具体的な製品購入を計画する際、考慮すべき事項の一つが、DBMSが稼働可能なサーバ製品およびOSだ。現在主流のOSである「Linux」「Windows」「UNIX」やメインフレーム用OSで、全てのDBMS製品が稼働するわけではない。
2つ目の考慮事項は、ベンダーによる保守と技術サポートだ。ソフトウェアの保守とサポートは重要だが、継続的に大きな費用がかかる可能性がある。DBMS、特にNoSQLは、オープンソースで提供されているものがある。オープンソースはカスタマイズしやすく、初期コストを抑制できる。ただし商用版を採用しない限り、ベンダーからのサポートがない。運用管理にかかるコストを考慮すると、総所有コスト(TCO)は結果的に高くなる可能性がある。
クラウドDBMSを選択することで、DBMSの導入と管理の負担を軽減できる場合がある。そのためには、プライベートクラウドまたはパブリッククラウドでセルフマネージドシステムを構築するか、クラウドベンダーやデータベースベンダーが提供するマネージドDBMSをDBaaSとして使う。DBaaSでは、ユーザー企業がDBMS技術のインストール、設定、管理を実施する必要がない。DWHのマネージドサービスであるDWaaS(Data Warehouse as a Service)という選択肢もある。一部のDBaaSとDWaaSは、ユーザー企業がオンプレミスのデータセンターにDBMSやDWHをインストールして、ベンダーにリモートで管理してもらうことも可能だ。
企業がDBMSの購入を検討する場合、具体的なニーズを明文化し、どのDBMSが自社に適するのかを判断した上で、そのカテゴリーの製品を検討する必要がある。そのためには、さまざまな種類のDBMSと、それらの用例を詳細に調査するとよい。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.