データベースの基礎知識
IT業界では当たり前のように使われるデータベースですが、そもそもデータベースとは何でしょうか?また同じように語られるDBMSとは?そこでまずは、データベースとDBMSに関する知識と、2つの違いについて解説します。
データベースとは
データベースとは、あるルールにのっとって、データを管理するための構造そのもののことです。例えば家にたくさんの本があったとします。その本を、ただ本棚に並べるよりは、五十音順に並べたり、作家別に並べたりしたほうが、後で本を見つけやすくなります。
このようにデータベースというのは、そのような大量のデータをわかりやすく管理し、そのデータを呼び出したい時にすぐに出せるようにするシステムのことなのです。
DBMSとの違いは?
データベースと一緒に利用されるものの一つに、DBMSがあります。これは『データベース管理システム』のことで、その名の通り、データベースにある情報を管理するためのものです。ではDBMSの主な役割を詳しく見ていきましょう。
- データベースを外部から操作するための言語の提供
- データベースを管理する
- データへのアクセス制限をする
- 複数ユーザーからのアクセスを処理する
- データベースを利用する際に利用方法を標準化し、アクセスするためのツールを提供する
管理者がデータを管理するだけならば、データベースに直接保存して管理すればいいだけですが、外部の人がそのデータベースを使いたい場合には、安全性や利便性などに不便が出てきます。
そこで登場したDBMSを使えば、データベース管理者がどのような形式でデータを管理していたとしても、それを気にすることなく、外部からのアクセスが可能になったのです。
例えば大手ショッピングサイトでは、DBMSを使うことで、大量の商品データを管理しやすくし、ユーザーもデータベースの形式を気にすることなく、利用できるようになっています。
データベースの種類一覧
データベースとDBMSの違いがわかったところで、次はデータベースでデータを保存する際に、どのような形式があるのか、その種類をみていきましょう。
階層型
階層型というのは、データの保存形式の一つです。組織図のように、まず大元のデータがあり、そのデータをいくつかのグループに分け、そのグループをさらに細分化していく、というように分けていきます。
例えば日用品のショッピングサイトで、商品全体を閲覧できる場所から、キッチン用品、掃除用品などと分かれ、さらにキッチン用品が鍋やまな板などに分かれていくようなイメージです。
一見無駄のない構造に見えますが、例えば日用品の中でキッチン用品にも、掃除用品にも分類が可能な商品があった場合などに同じ商品を2か所登録することになるなどの、冗長性が発生しやすくなるというデメリットもあります。
ネットワーク型
ネットワーク型は、階層型とは違い、上から下に一方向に降りてくるようなアクセスではなく、グループが互いに結びつくことで、双方向からのアクセスを可能にしたものです。これによって、階層型にあった冗長が解消されたのですが、データ構造に依存してしまうことは階層型と同じでした。
主流のリレーショナル型
階層型、ネットワーク型と進化を遂げ、最近主流になっている形式は『リレーショナル型』です。この形式でのデータ保存は表で行い、行と列の軸を組み合わせによって、データを呼び出します。
この形式では、さきほど紹介した2つの形式とは違い、プログラムとデータが独立しているため、データの修正などが比較的容易になり、さらに『SQL』というデータベース言語を使うことで、さらに簡単にデータを呼び出せるようになったのです。
NoSQL
NoSQLは、肥大するデータを管理するにあたって生じる問題に対処するために開発されたものです。このデータベースの場合は、データの整合性よりも、処理速度に重点を置いています。
そのためNoSQLを使うのに適しているのは、それこそ世界中の人が膨大なデータをやり取りしているようなシステムとなります。
RDBMSの基礎知識
データベースのことは、だいたいお分かりいただけたと思います。次は、先ほど少しお話ししました『リレーショナル型データベース』すなわち『RDBMS』について詳しく見ていきましょう。
RDBMSとは
RDBMSは、表を使ってデータを管理する方式です。例えば顧客情報のデータがあったとして、その顧客のログイン情報の表と、顧客の住所や電話番号などが記録された表を参照し、互いの表を関連付けることで、情報を呼び出します。
もう一つの大きな特徴は、『SQL』という標準の言語があるということです。これによって、データベースによって言語が変わる、ということがなくなったため、運用や管理がよりシンプルになりました。
DBMSの大半はRDBMS
今までいろいろなDBMSを紹介してきましたが、現在利用されているDBMSの内訳はどのようになっているのでしょうか?2018年1月に発表されたデータベースランキングによると、最も使われているデータベースはRDBMSのOracleとなっています。
その次にランクインしているデータベースもやはりRDBMSのMySQLです。このことからも、RDBMSが広く使われているのがわかるでしょう。
出典:2018年1月データベースランキング、第1位は? | マイナビニュース
DBMSの有名な製品
ビックデータという言葉が常識になるほどデータが肥大化していくなか、DBMSは今や必要不可欠なものです。そこで次は、現在主流となっているDBMSを紹介します。
Oracle Database
アメリカのIT企業Oracleが開発したデータベースです。データベースと言えばOracleをイメージする人も多いでしょう。
Oracleは日本のみならず、世界中のあらゆるサイトで利用されています。最新版の『Oracle Database18c』では、機会学習によってデータを自ら保護したり、修復できるようにバージョンアップされ、さらに強力なツールとなっています。
Microsoft SQL Server
Oracleと人気を二分しているDBMSが、『Microsoft SQL Server』です。マイクロソフトのDBMSですので、Windows上で使いたい場合にはおすすめです。
マウス操作で管理できるようになっているのも大きな特徴で、データベースの扱いに慣れていない人でも比較的容易に使いこなせるようになっています。
MySQL
MySQLは、現在急速に勢力を伸ばしているDBMSです。とはいってもこのシステムはさきほど紹介したOracle が開発しています。ではOracle Databaseと何が違うのか、と言いますと、まず無料である、ということが挙げられます。
無料であっても機能は豊富で、Linux、Windows、Mac OS X上でも稼働が出来、巨大なサイトの容量にも耐えうるものとなっているため、利用者が急増するのもうなずけます。
まとめ
データベースというと、「とにかく難解」というイメージを持っている人も多いですが、GUIで操作することができたり、データベースも進化を遂げ、誰でも利用できるシンプルなものになりつつあります。
これからどんどんデータが増えることを思えば、DBMSがいかに重要なシステムであるかがわかるでしょう。