クラッシュコース101
10 モジュール
5 週

データベース

クリックでコピー

データベース入門


JSONを扱いました。次は本丸であるデータベースです。データベースには、さまざまな方法でデータを格納することができます。同時に、歴史的にリレーショナルデータベースモデルが最も多く流通するように発展してきました。

リレーショナルモデルを使う場合、データは特定のデータセットを持つテーブルの形で保存され、その構造はデータベース設計の段階で厳密に指定される。リレーショナルデータベースにおけるデータ構造の記述をスキーマと呼ぶ。スキーマは、テーブルの構成、テーブル内のフィールドの構造、テーブル間の関係などを定義する。

SQL

DBMS(DataBase Management System)は、リレーショナルモデルでデータを管理するためにSQL言語を使用する。

SQL - Structured Query Language(構造化問い合わせ言語)。宣言型言語であり、コマンドには必要な動作(データを探す、削除する、変更する)だけを記述し、その実行方法は各DBMSが独自に決定する。

リレーショナルDBMSには様々なものがある。代表的なものには、Oracle、MySQL、MS SQL、PostgreSQLがある。ちなみに、AppMasterはPostgreSQLを使用しています。これは、非常に多くの異なる組織で動作し、またフリーソフトウェア(つまり、使用するために追加料金を支払う必要がない)である、最新の高度なDBMSを使用していることを意味します。

ほとんどすべてのDBMSの名前にSQLという略語があることにお気づきでしょうか?実は、リレーショナル・データベースの別名がSQLデータベースなのです。

NoSQL

しかし、別のアプローチもあります。ノンリレーショナルデータベース、つまりNoSQLです。注目すべきは、この場合のNoは「ない」の否定ではなく、「Not only」の略語であることです。つまり、「SQLだけではない」。

非リレーショナルDBMSは(SQLのような)共通のクエリーフォーマットを使用せず、それぞれが独自のデータ処理方法を実装している。

また、データの格納構造も独自に定義する必要はない。データ自体は厳密なテーブルの形ではなく、(JSONのような)任意の属性セットを持つオブジェクトの形で保存される。これは、構造が頻繁に変更されるようなデータを扱う場合に関係すると思われる。

同時に、その自由な構造により、複数のサーバーに分散したデータベースを作成する必要がある場合、NoSQLソリューションは拡張が容易である。

NoSQL DBMSの例としては、MongoDBやRedisなどがある。

Was this article helpful?
まだ答えをお探しですか?