データベースとは

2020年11月24日

データベースとは

データベースの定義

データベースとは、構造化した情報またはデータの組織的な集合であり、通常はコンピューター・システムに電子的に格納されています。データベースは通常、データベース管理システム(DBMS)で制御します。データとDBMS、およびそれらに関連するアプリケーションをまとめてデータベース・システムと呼びます。多くの場合は単にデータベースと呼んでいます。

現在運用されている最も一般的なタイプのデータベースに格納されているデータは、処理とデータのクエリを効率化するために、一連のテーブルの行と列でモデル化されていることが普通です。このようにデータをモデル化すれば、アクセス、管理、変更、更新、制御、および整理が容易になります。ほとんどのデータベースでは、データの書き込みとクエリに構造化クエリ言語(SQL)を使用します。

構造化クエリ言語(SQL)とは

SQLは、データをクエリ、操作、定義するほか、アクセス制御を提供するためにほとんどすべてのリレーショナル・データベースで使用されているプログラミング言語です。SQLは、Oracleを主な協力組織として1970年代にIBMで最初に開発され、SQL ANSI標準の発行に結実しています。それ以来、IBM、Oracle、Microsoftなどの組織がSQLから多くの拡張機能を作り出してきました。SQLは現在でも広く使用されていますが、新しいプログラミング言語も登場し始めています。

データベースの進化

データベースは、1960年代初頭の登場以来、劇的に進化してきました。階層型データベース(ツリー形態のモデルを基本として、1対多の関係のみを許可)などのナビゲーショナル・データベース、およびネットワーク・データベース(複数の関係を使用できる、やや柔軟性があるモデル)は、データの保存と操作に使用する原形といえるシステムでした。このような初期のシステムは、簡潔ではあっても柔軟性に欠けていました。1980年代にリレーショナル・データベースが普及し、つづいて1990年代にはオブジェクト指向データベースが一般的になりました。さらに時代が進むと、インターネットの成長、およびデータ処理の高速化と非構造化データの処理に対するニーズに呼応してNoSQLデータベースが登場しました。現在、データの収集、保存、管理、利用の方法に関しては、クラウド・データベース自律運転データベースが新境地を開いています。

データベースとスプレッドシートの違いとは

データベースとスプレッドシート(Microsoft Excelなど)は、どちらも情報を保存する便利な方法です。これらの主な相違点は次のとおりです。

  • データをどのように保存し、操作するか
  • データにアクセスできるのは誰か
  • どの程度の量のデータを保存できるか

スプレッドシートは本来1人のユーザー向けに設計されており、その点を反映した特性を備えています。ユーザーが1人または少人数で、過剰に複雑なデータ操作を大量に実行しないのであれば、スプレッドシートは十分に機能します。一方、データベースは、整理された情報の大規模な集合を保持するように設計されていて、そのデータが膨大な量になることもあります。データベースを使用すると、同時に複数のユーザーが迅速、安全にデータを利用でき、きわめて複雑な論理と言語を使用してデータに対するクエリを実行できます。

データベースの種類

データベースにはさまざまな種類があります。特定の組織に最適なデータベースは、その組織がデータをどのように利用しようとしているかによって異なります。

    リレーショナル・データベース

  • リレーショナル・データベースは1980年代に主流となりました。リレーショナル・データベースの各項目は、列と行を持つテーブルの集合として編成されています。リレーショナル・データベースのテクノロジーは、構造化された情報にアクセスする最も効率的で柔軟な方法を提供します。
  • オブジェクト指向データベース

  • オブジェクト指向データベースに保存した情報は、オブジェクト指向プログラミングの場合と同様に、オブジェクトとして扱われます。
  • 分散データベース

  • 分散データベースは、さまざまなサイトにある2つ以上のファイルで構成されています。このデータベースは、物理的に同じ場所にある複数のコンピューターに格納できるほか、さまざまなネットワークにわたって分散配置することもできます。
  • データ・
ウェアハウス

  • データの中央リポジトリであるデータウェアハウスは、高速なクエリと分析に特化して設計されたデータベースです。
  • NoSQLデータベース

  • NoSQLデータベース(非リレーショナル・データベース)では、非構造化データと半構造化データを格納し、操作できます(これとは対照的に、リレーショナル・データベースではデータベースに挿入するすべてのデータの構成方法が規定されています)。Webアプリケーションが広く使用され、複雑になるに伴い、NoSQLデータベースが普及するようになりました。
  • グラフ・データベース

  • グラフ・データベースは、エンティティの観点とエンティティ間の関係の観点からデータを格納します。
  • OLTPデータベース。OLTPデータベースは、複数のユーザーが実行する大量のトランザクション向けに設計された高速で分析的なデータベースです。

これらは、現在使用されている数十種類のデータベースのほんの一部です。これらのほかに、広く使用されてはいないものの、科学や財務などの機能に特化して作成されたデータベースもあります。このように多彩な各種データベースが存在することに加え、テクノロジー開発手法の変化とクラウドや自動化などの劇的な進歩により、データベースはまったく新しい方向に進んでいます。最新のデータベースとして、次のようなものがあります。

    オープンソース・データベース

  • オープンソース・データベース・システムは、ソースコードがオープン・ソースであるデータベースです。SQLデータベースであることもあれば、NoSQLデータベースであることもあります。
  • クラウド・データベース

  • クラウド・データベースは、プライベート・クラウド、パブリック・クラウド、またはハイブリッド・クラウドのコンピューティング・プラットフォーム上に置いた構造化データまたは非構造化データの集合です。クラウド・データベース・モデルには、従来型とDatabase as a Service(DBaaS)の2つのタイプがあります。DBaaSでは、管理タスクとメンテナンスをサービス・プロバイダーが実施します。
  • マルチモデル・データベース

  • マルチモデル・データベースは、さまざまな種類のデータベース・モデルを、単一の統合バックエンドに結合します。したがって、多彩な種類のデータに対応できます。
  • ドキュメント/JSONデータベース

  • ドキュメント・データベースは、ドキュメント指向の情報を格納、取得、および管理することを目的としており、行や列ではなくJSON形式でデータを格納する最新の方法です。
  • 自律運転データベース

  • 最新で最も革新的な種類のデータベースである自律運転データベース(自律型データベースとも呼ばれます)はクラウドベースであり、データベースのチューニング、セキュリティ、バックアップ、更新をはじめとして、従来はデータベース管理者が担当してきた日常的な管理タスクを機械学習によって自動化します。

データベース・ソフトウェアとは

データベース・ソフトウェアは、データベースのファイルとレコードの作成、編集、メンテナンスに使用されて、ファイルとレコードの作成、データの入力、データの編集、更新、レポートの作成が容易になります。また、データの保管、バックアップとレポート、マルチアクセス制御、セキュリティ確保にも使用されます。データの盗難が頻繁になるにつれて、強力なデータベース・セキュリティが今日特に重要になっています。データベース・ソフトウェアは、「データベース管理システム」(DBMS)と呼ばれることもあります。

データベース・ソフトウェアにより、ユーザーはデータを構造化された形式で保存でき、構造化データにアクセスできるようになるため、データ管理が簡素化されます。データベース・ソフトウェアでは、通常、データの作成と管理に便利なグラフィカルインターフェイスが備わっており、場合によって、ユーザーは独自のデータベースを構築できます。

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

多くの場合、データベースには、データベースの包括的なソフトウェア・プログラムであるデータベース管理システム(DBMS)が必要です。DBMSは、データベースとそのエンド・ユーザーまたはプログラムとの間でインターフェイスとして機能し、情報の編成方法と最適化方法をユーザーが取得、更新、および管理できるようにします。また、DBMSはデータベースの監視と制御を容易にし、パフォーマンスの監視、チューニング、バックアップとリカバリなどのさまざまな管理操作を可能にします。

広く使用されているデータベース・ソフトウェア(DBMS)の例として、MySQL、Microsoft Access、Microsoft SQL Server、FileMaker Pro、Oracle Database、dBASEがあります。

MySQL Databaseとは

MySQL は、SQLに基づくオープン・ソースのリレーショナル・データベース管理システムです。Webアプリケーション用に設計および最適化されており、どのプラットフォーム上でも実行できます。新しい多彩な要件がインターネットで求められるようになるに伴い、Web開発者とWebベースのアプリケーションにとってMySQLが最適なプラットフォームになっています。数百万件のクエリと数千件のトランザクションを処理するように設計されているMySQLは、複数の送金を管理する必要があるeコマース・ビジネスで盛んに利用されています。MySQLで目立つ特徴はオンデマンドの柔軟性です。

Airbnb、Uber、LinkedIn、Facebook、Twitter、YouTubeをはじめとして、世界中に多数の利用者を持つWebサイトやWebベース・アプリケーションをDBMSとしてMySQLが支えています。

データベースによるビジネス・パフォーマンスと意思決定の向上

世界中の生活と産業を変革するInternet of Thingsから得られる大量のデータにより、現代の企業はこれまで以上に多くのデータにアクセスできます。将来を見据えた組織は、基本的なデータ保管やトランザクションにとどまらず、複数のシステムから得た大量のデータを分析するためにデータベースを利用しています。データベースに他のコンピューティング・ツールとビジネス・インテリジェンス・ツールを組み合わせて使用すると、収集したデータを活用して、効率的な運用、優れた意思決定の実現、敏捷性とスケーラビリティの向上が可能になります。より多くのデータ量を追跡する必要があるため、データへのアクセスとスループットを最適化することは、今日のビジネスにとって重要です。ビジネスの成長に伴って必要となるパフォーマンス、拡張性、機敏性を提供できるプラットフォームを持つことが重要です。

自律運転データベースには、これらの機能を大幅に強化できる能力があります。経費と時間を要する手動プロセスを自律運転データベースで自動化できるので、ビジネス・ユーザーはこれらのプロセスから解放され、データをより積極的に活用できます。データベースを作成および使用する機能を直接制御できることにより、重要なセキュリティ基準に準拠しながら、データベースの制御と自律性が得られます。

データベースの課題

現代の大規模なエンタープライズ・データベースは、極めて複雑なクエリをサポートしていることが普通で、これらのクエリに対してほぼ瞬時に応答することが期待されています。その結果、パフォーマンスの向上に効果的なさまざまな手法の採用が恒常的にデータベース管理者に求められます。データベース管理者が抱える課題として、次のようなものがあります。

  • データ量の大幅な増加の吸収:センサーや接続された機器類をはじめとする多数のソースから得られるデータの爆発的な増加により、データベース管理者は組織のデータを効率的に管理および整理する作業に忙殺されています。
  • データのセキュリティ確保:近年はあらゆる場所でデータ侵害が発生しており、ハッカーはさらに巧妙になっています。データが安全であると同時に、ユーザーが容易にアクセスできるようにすることが、これまで以上に重要です。
  • 要望への対応:今日の急速に変化するビジネス環境では、タイムリーな意思決定をサポートし、新しい機会を活用するために、組織はデータにリアルタイムでアクセスする必要があります。
  • データベースとインフラストラクチャの管理とメンテナンス:データベース管理者は、データベースに問題がないか継続的に監視し、予防保守を実行するほか、ソフトウェアのアップグレードとパッチを適用する必要があります。データベースがより複雑になり、データ量が増大するに伴い、データベースの監視とチューニングを担う要員を確保するための経費が組織にのしかかります。
  • スケーラビリティに対する制限の排除:企業が生き残るにはその成長が必須であり、その成長に伴ってデータ管理も拡充する必要があります。しかし、組織に必要なデータ容量をデータベース管理者が予測することはきわめて困難です。特にオンプレミスのデータベースではそれが顕著です。
  • データ・レジデンシ、データ主権、またはレイテンシの要件を保証します。組織によっては、オンプレミスでの実行に適したユース・ケースがあります。そのような場合は、データベースを実行するために事前に構成および最適化されたエンジニアド・システムが理想的です。

これらの課題のすべてに対処するには長時間を要し、より戦略的な機能にデータベース管理者が携わることができなくなります。

自律テクノロジーによるデータベース管理の向上

自律運転データベースは今後の普及が予想されるテクノロジーであり、その実行と運用に煩わされることなく、利用可能な最高のデータベース・テクノロジーの利用を目指す組織に魅力的な可能性を提供します。

自律運転データベースは、クラウドベースのテクノロジーと機械学習を使用して、データベースの管理に必要な日常的タスクの多くを自動化します。このようなタスクとして、チューニング、セキュリティ、バックアップ、更新などの日常的な管理タスクがあります。これらの冗長なタスクを自動化すれば、データベース管理者はより戦略的な作業に時間を割くことができます。自律運転データベースの自律運転、自己保護、自己修復の機能は、データを管理および保護する手法を改革する能力を備え、パフォーマンスの優位性、コストの削減、セキュリティの向上を実現します。

データベースと自律型データベースの未来

最初の自律型データベースは2017年後半に発表されましたが、そのテクノロジーとそれがコンピューティングに及ぼす潜在的な効果を独立系業界アナリストたちが認識するまでに時間はかかりませんでした。

Wikibon 2021のレポート(PDF)は、自律型データベース・テクノロジーを高く評価し、「オラクルは圧倒的に優れたTier-1のCloud Database Platformを持っている...WikibonはオラクルがAutonomous Databaseで最強のCloud Database Platformを持っていると考えている」としています。

そして、KuppingerColeの2021 Leadership Compass(PDF)では、「データベース・インスタンスのプロビジョニング・管理・チューニング・アップグレード処理をダウンタイムなしで完全に自動化するOracle Autonomous Databaseは、Oracle Databasesに格納されている機密データのセキュリティとコンプライアンスを大幅に向上させるだけでなく、このデータをOracle Cloudに移行するべきだと思わせる大いな理由となる。」と述べられています。これは、Oracle Autonomous Databaseは、Oracle Exadataの高可用性とスケーラブルなアーキテクチャ上に構築されているため、ニーズの拡大に応じてデータベースのデプロイを容易に拡張することが可能であるためです。