「DBMS」の仕組みやメリット、課題とは?

ユーザー企業のIT担当者を対象に、IT製品/サービスの導入・購買に役立つ情報を提供する無料の会員制メディア「TechTargetジャパン」。このコンテンツでは、DBMSに関する技術解説の記事を紹介します。製品/サービス選定の参考にご覧ください(リンク先のページはPR記事を含みます)。

DBMS(データベース管理システム)とは

 「データベース管理システム」(DBMS)は、データベースを作成して管理するためのシステムだ。基本的には、データベースそのものと、エンドユーザーまたはアプリケーションの間のインタフェースとして機能する。エンドユーザーはDBMSを使い、データベース内のデータの作成や保護、読み取り、更新、削除ができるようになる。DBMSは一定のルールに従ってデータを整理し、簡単にアクセスできる状態に保つ。(続きはページの末尾にあります)

DBMS関連の技術解説

いまさら聞けない「データレイク」とは? データウェアハウスとの違いは

ビジネスにおけるデータ活用が求められる中、クラウドデータレイクへの注目が高まっている。なぜデータレイクをオンプレミスシステムではなくクラウドサービスで運用する必要性があるのか。

(2025/2/6)

“似ているもの”を探せる「ベクトルデータベース」が活躍する10個の用例

商品のレコメンドや画像認識といったシステムの性能を向上させるのが「ベクトルデータベース」だ。さまざまな業界での活用例から、ベクトルデータベースがどのようにビジネスを変えようとしているのかを読み解く。

(2024/11/27)

なぜAIは“意味”が分かる? 「ベクトルデータベース」が秘める可能性とは

AI技術の活用には、画像や文章などの非構造化データを大量に管理しなければならない。そうした際に不可欠なのが「ベクトルデータベース」だ。なぜ重要であり、どう役立つのか。

(2024/11/20)

「生成AI+RAG」の“鬼門”を突破するための基礎知識とは

RAGとベクトルデータベースが企業の注目を集める一方で、導入に伴う課題も顕在化している。本稿では、ベクトルデータベース導入の技術的課題を乗りこえるための取り組みや、今後のデータベース市場の動きを解説する。

(2024/9/11)

「生成AIとデータの関係」をより深く理解できる、“ベクトル”の基礎知識

生成AIを活用するための基礎知識として重要性が高まっているのが「ベクトルデータベース」だ。“ベクトル”とは何かを踏まえて、ベクトルデータベースの基本を解説する。

(2024/9/4)

RAGにも役立つ「ベクトルデータベース」とは? RDB、グラフDBとの違いは?

RAG(検索拡張生成)実装にも使われる「ベクトルデータベース」は、AI技術の活用が広がる中で企業の関心を集めている。他のデータベースとの違いを交えて、ベクトルデータベースがなぜ必要なのかを解説する。

(2024/8/28)

生成AI時代に「ベクトルデータベース」が脚光を浴びるのはなぜ?

生成AI活用の広がりに伴い、「ベクトルデータベース」が注目されている。ベクトルデータベースを使うことで企業はどのようなメリットを得られるのか。基本的な仕組みと併せて解説する。

(2024/8/21)

メインフレームが“消える”どころか「AI時代に息を吹き返す」のはなぜ?

これからメインフレームが再び注目を集める可能性がある。それを促す要因の一つが、AI技術の活用が進むことだ。メインフレームの活用にどのような影響を与えるのか。

(2024/3/29)

「脱メインフレーム」に踏み切れない企業の“3つの本音”とは?

クラウドサービスの発展によりメインフレーム脱却の機運が高まるが、企業はまだしばらくの間メインフレームを使い続ける見込みだ。脱メインフレームが難しい3つの理由を解説する。

(2024/3/22)

「メインフレーム脱却」を拒み続ける“亡霊”の正体

終わりが近いとささやかれてきた「メインフレーム」は、依然として現役で企業ITの中心的な役割を担っている。企業が“脱メインフレーム”に踏み切らない背景には、何があるのか。

(2024/3/15)

トヨタの工場停止で考える「データベース管理」が“甘くない”理由

データベース管理は何が難しいのか。適切に管理するにはどのようなポイントに注意すべきなのか。トヨタ自動車で発生したシステムエラー事例を基に、考察を交えて解説する。

(2023/11/21)

トヨタは「データベース管理」の何を間違えた? あの工場停止の原因

トヨタ自動車の部品発注システムにエラーが生じ、同社の国内全工場が一時稼働を停止する事態に陥った。原因はデータベース管理にあったとみられる。エラーを招いた要因を考察する。

(2023/11/15)

「グラフデータベース」と「リレーショナルデータベース」の決定的な違いとは?

「グラフデータベース」と「リレーショナルデータベース」は、それぞれ扱うのに向いているデータや適切な用途が異なる。両者の主な違いや活用例、選び方のヒントを紹介する。

(2021/4/7)

いまさら聞けない「グラフデータベース」「リレーショナルデータベース」の基礎

代表的なデータベースである「グラフデータベース」と「リレーショナルデータベース」。それぞれの仕組みや取り扱うデータ構造を説明する。

(2021/3/31)

「NoSQL」が存在する理由と、無視できない“欠点”とは?

RDBMSではないDBMS「NoSQL」は、高いスケーラビリティが特徴だ。NoSQLの基本的な仕組みと、NoSQLが抱える課題を解説する。

(2020/12/16)

いまさら聞けない「ACID特性」「オンライントランザクション処理」(OLTP)の基礎

DBMSの新たな選択肢として浮上した「NewSQL」とは何なのか。それを探るために、NewSQLが備える「ACID特性」と、NewSQLが力を発揮する「オンライントランザクション処理」(OLTP)をおさらいしよう。

(2020/12/4)

データベースの自動化はデータベース管理者を滅ぼすのか

Oracleのマーク・ハードCEOは、Oracle Databaseの自動化によってデータベース管理者は全員失業すると言い放った。現実問題として、データベースはそこまでの自動化を実現しているのだろうか。

(2019/8/30)

DBMSの用途と役割

 DBMSは、データの変更管理やデータベースの監視、調整、セキュリティ対策、データのバックアップと復元といった、データベースの管理に必要な作業を実行可能にする。DBMSによってはデータベース自体のアクティビティー(操作や処理)と、データベースにアクセスするアプリケーションのアクティビティーのログを取得し、監査する機能も備える。

 エンドユーザーにデータの表示画面を提供することもDBMSの役割だ。複数のエンドユーザーが、複数の場所から同一のデータを利用できるようにする。IT管理者はエンドユーザーに表示するデータやその表示方法を制限したり、1つのデータベーススキーマ(データベースの設計)に対して、複数の表示方法を用意したりできる。

 データベースに対する操作をDBMSが一手に担うので、エンドユーザーやアプリケーションは、データの物理的な格納場所やデータが配置されているストレージの種類を意識する必要がなくなる。DBMSが提供するAPI(アプリケーションプログラムインタフェース)を使用する限り、データベースに変更が加わるたびに、開発者がアプリケーションのプログラムを修正する必要はない。

 DBMSの一つである「リレーショナルデータベース管理システム」(RDBMS)では、データベースの操作に「SQL」を利用する。SQLは、データの定義、保護、アクセスを実行するためのプログラミング言語だ。

主なDBMSの種類

  • RDBMS

 RDBMSは「SQLデータベース」とも呼ばれる。データを固定のスキーマ(データ構造)を持つテーブル(表)の行として表現し、キー列の値によって関係性を定義する。高価な製品もあれば、「PostgreSQL」のようなOSS(オープンソースソフトウェア)の選択肢もある。

 主なRDBMSには、IBMの「IBM Db2」やMicrosoftの「Microsoft SQL Server」、オープンソースの「MySQL」などがある。「SingleStore」は、AI(人工知能)技術を活用したアプリケーションやシステム運用データの分析用に設計されたクラウドネイティブデータベースだ。

  • NoSQL DBMS

 NoSQL DBMSは、時間とともに変化するデータ構造に適する。ただしスキーマを管理するために、アプリケーションの改修が必要になることがある。NoSQL DBMSには主に4つの種類がある。

1.ドキュメントデータベース

 ドキュメントデータベースは、半構造化データ(厳密な構造が決まっていないデータ)を保存するためのデータベースだ。一般的に、データを「JSON」形式のドキュメントとして保存する。コンテンツ管理やモバイルアプリケーションなど、さまざまなスキーマ要件を満たす必要があるシステムに適するデータベースだ。代表例としてはMongoDBの「MongoDB」や、OSSの「Couchbase Server」がある。

2.グラフデータベース

 グラフデータベースは、データをテーブル(表)やドキュメントではなく、「ノード」と「リレーション」(関係)で表す。データ同士のつながり(関係性)を重視する特徴のために、SNSや予約システム、顧客関係管理(CRM)など、データの関連性を扱うシステムに適する。グラフデータベースの具体的な製品例として、Neo4jのOSS「Neo4j」がある

3.キーバリュー型データベース

 キーバリュー型データベースは、「キー」(識別子)と「値」(データ)を1組として保存する。この単純さから、処理速度が速く、大規模なアプリケーションの開発に向いている。具体的にはWebアプリケーションのセッション管理やキャッシング、オンラインショッピングのカートの管理などの用途がある。Redisが開発した「Redis」やDanga Interactiveが開発した「Memcached」といったOSSは、主なキーバリュー型データベースの一例だ。

4.ワイドカラムストア

 ワイドカラムストアは、一般的なRDBMSのようにテーブルとカラム(列)、レコード(行)でデータを表現しつつ、各行が異なるカラムを持つことができる。列ごとにデータを保存するため、特定の列のデータを素早く検索する処理に適している。この特徴から、レコメンデーションエンジンやカタログ管理、不正検出、イベントログ管理などの用途に適する。Meta Platforms(旧Facebook)が開発したOSSの「Apache Cassandra」やApache Software FoundationのOSS「Apache HBase」がその一例だ。

  • NewSQL DBMS

 NewSQL DBMSは、SQLを使用する新しい種類のRDBMSだ。一部のベンダーはNewSQLという名称を使わず、「分散SQLデータベース」と呼ぶ。NoSQLのような拡張性を備えると同時に、ACID特性(原子性、一貫性、独立性、耐久性)によってデータの整合性を確保する。NewSQL DBMSは、RDBMSの仕組みを持ちながら、分散処理や耐障害性の向上が可能な設計になっている。インメモリ処理の機能を備えていたり、クラウドインフラで利用できたりする点も特徴だ。RDBMSよりも機能がシンプルで軽量なため、運用や管理がしやすいという利点もある。

 代表的なNewSQL DBMSとして、Cockroach Labsが開発したOSS「CockroachDB」、Googleのデータベースサービス「Google Cloud Spanner」、NuoDBの「NuoDB」、YugabyteDBの「YugabyteDB」などが挙げられる。

  • インメモリDBMS

インメモリDBMSは、データを主にメモリ(RAM)で処理するDBMSだ。一般的なDBMSはHDDなどのストレージにデータを保存し、必要に応じて読み書きを実行するが、インメモリDBMSはそのプロセスを省略し、メモリで直接データを処理するため、応答時間を高速化できる。そのためDBMSはリアルタイムでデータ処理が求められるアプリケーションに適する。特に向いているのが、データのトランザクション処理(OLTP)と分析処理(OLAP)を同じデータベースで同時に実行するHTAP(ハイブリッドトランザクショナルアナリティカルプロセッシング)を必要とするシステムだ。HTAPはデータ処理とデータ分析の両方を、単一のDBMSで実行するための技術を指す。ただしインメモリデータベースはメモリの消費量が一般的なDBMSよりも増えるため、サーバのリソース管理が重要になる。インメモリデータベースの例として、SAPの「SAP HANA」やRedisが挙げられる。

  • 列指向DBMS

 列指向DBMSは、データをカラム単位で保存するDBMSだ。一般的なRDBMSはレコードごとにデータを保存するが、カラム指向データベースは列ごとにデータを保存するため、特定の列のデータだけを素早く検索することができる。この特徴から、データウェアハウス(DWH)のように、大量のデータを効率よく分析する用途に適する。特に同じ種類のデータが大量に格納される場合、データ圧縮の効果が高く、ストレージの使用効率の向上が見込める。カラム指向データベースの代表的な製品としては、Snowflakeの「Snowflake」やAmazon Web Services(AWS)の「Amazon Redshift」がある。

  • マルチモデルDBMS

 マルチモデルDBMSは、単一のDBMSで異なる形式や構造のデータを扱えるDBMSを指す。ユーザー企業は異なるDBMSに切り替えることなく、1つのDBMSで複数のデータ構造を管理できる。IBM Db2はRDBMSだが、列指向でデータを処理する機能も提供する。OracleのRDBMS「Oracle Database」やMongoDBなどのDBMSも、拡張機能を適用することでマルチモデルDBMSとして使える。Microsoftの「Microsoft Azure Cosmos DB」やProgress SoftwareのNoSQL DBMSの「MarkLogic」などの製品は、最初からマルチモデルDBMSとして開発された。

  • クラウドDBMS

 クラウドDBMSは、クラウドインフラで実行されるDBMSを指す。RDBMSやNoSQL DBMSなどさまざまな種類のDBMSがあり、ユーザー企業が構築や管理をする形態のものと、クラウドベンダーが運用を代行するマネージドサービスがある。

 必要に応じてリソースを拡張、縮小できる点が、クラウドDBMSの利点だ。インフラとなるハードウェアの管理が不要なため、システムの運用負担を軽減できる。Microsoftの「Microsoft Azure」やGoogleの「Google Cloud」、AWSの同名サービスなどのクラウドサービス群が、サービスの一つとしてクラウドDBMSを提供している。

  • ハイブリッドDBMS

 ハイブリッドDBMSは単一の製品で複数のデータベースエンジンを利用できるDBMSを指す。一般的に、RDBMSと複数のNoSQLエンジン、APIを組み合わせた構造になっている。例えばAltibaseのDBMS「Altibase」はインメモリデータベースとディスクデータベースの両方が利用可能なハイブリッドDBMSだ。DataStaxのハイブリッドDBMS「DataStax Enterprise」は、ハイブリッドクラウド(オンプレミスインフラとクラウドインフラを併用する形態)で利用可能なことが特徴だ。

DBMSの進化

 DBMSの関連技術は進化を続けており、データベースの構築方法やサービスの提供方法に影響を与えている。主なトレンドを紹介する。

  • オープンソースDBMSの普及
    • 調査会社Gartnerは、DBMS市場においてオープンソースDBMSのシェアが拡大傾向にあると指摘した。
    • DBMSのランキングサイト「DB-Engines」が作成したランキングでは、2014年から2025年3月時点まで、トップ5のうち3つがオープンソースまたはDBMSとなっている。
  • DBMSへの支出増加
    • Gartnerは2023年、DBMSに対する全世界のユーザー企業の支出は、2022年から2027年の間に年平均成長率16.8%で拡大すると予測した。
  • HTAPの台頭
    • HTAPは、従来別々のDBMSが実行していたデータ処理とデータ分析を、単一のDBMSで実行するための技術を指す。
    • DBMSベンダーはHTAPを実現するために、ハイブリッドDBMSの開発、提供を進めている。