この投稿はCloud Computing 基礎シリーズの一部です。 Cloud Computing 入門認定コースを受講して、さらにスキルを磨いて ください。
データベースについては、クラウドのリソース・タイプについての記事で覚えているかもしれない。
念のため復習しておこう。
データベースは構造化された情報の集合体であり、サーバーに保存され、必要なときに簡単にアクセスできる、図書館のようなものである。クラウドデータベースはサードパーティのクラウドプロバイダーによってホストされ、スケーラビリティと災害復旧機能を提供し、通常はデータベース管理システム(DBMS)によって制御される。データベースは、データを取り出す必要のある人、特に大量のデータを扱う人なら誰でも利用する。
重要なのは、データのコレクションを持つことと、そのデータに対するインターフェースを持つことは異なるということだ。例えば、犬の散歩アプリはデータを収集し保存するかもしれないが、DBMSはデータベースやデータを必要とする他のサービスと通信できるシステムとして機能し、インターフェースとして機能する。
データベース管理システムにはいくつかの種類があるが、リレーショナル型(SQL)と非リレーショナル型(NoSQL)の2種類が一般的である。
リレーショナル・データベースは構造化されており、含まれるデータはテーブルで整理されている。データは互いに関連している。NoSQL(非リレーショナル・データベース)は文書指向であり、データは必ずしも関連していない。
この2種類のデータベースを見てみよう。
SQLデータベース
構造化クエリー言語(Structured Query Language:SQL)は、リレーショナル・データベース管理システム(RDBMS)内のデータを操作するために使われるプログラミング言語である。RDBMSは、データベースの管理、保存、照会、およびデータベースからのデータ取得に使用するソフトウェアです。
リレーショナル・データベースとは、複数のテーブル(データが格納されている場所)にまたがるさまざまなデータの間に、さまざまな関係を作り出すことができるという事実を指す。
上の表を見てみよう。あるソーシャルメディア・ウェブ・アプリケーションが、データベース内にユーザーのID、名前、生年月日を格納する1つのテーブルを持っているとします。各ユーザーIDは一意であるため、あるテーブル内のユーザーデータを、ユーザーのメッセージ履歴を持つ別のテーブルに接続するために使用することができます。このタイプのリレーションシップは 1 対多のリレーションシップと呼ばれます。ただし、複数のプロファイル ID からメッセージを送信することはできません。
SQLはリレーショナル・データベース内のデータを管理・操作するのに役立つ。SQLによって、データベース内のテーブルを作成、変更、そしてそこからデータを取得することができ、また異なるテーブル間のリレーションシップを管理することもできる。
PostgreSQLとMySQLという名前を聞いたことがあるかもしれない。これらはどちらもSQLを使用する2つの有名なRDBMSです。両者が何をするのか、どう違うのかを簡単に見てみよう。
PostgreSQL(単にPostgresと呼ばれることも多い)は、そのスケーラビリティと正確性で知られ、複雑なクエリや大規模なデータセットを処理できることで知られています。PostgreSQLはまた、高度なインデックス作成や全文検索をサポートするなどの高度な機能でも知られており、高度なデータ分析を必要とするアプリケーションによく選ばれています。
一方、MySQLはそのスピード、柔軟性、スケーラビリティ、使いやすさで知られている。MySQLは、コンテンツ管理システムやeコマース・プラットフォームなど、データへの高速な読み書きアクセスを必要とするWebアプリケーションによく使用されます。
2つのシステムの主な違いは、データ整合性に対するアプローチが異なることです。PostgreSQLはデータ完全性の強制に厳しいことで知られています。PostgreSQLはデータの一貫性と正確性を保証することに重点を置いています。一方、MySQLはより甘く、データの取り扱いに柔軟性を持たせることで知られています。これは、MySQLが誇るスピードにも通じています。ほとんどのツールがそうであるように、それぞれのシステムには長所と限界がある。
NoSQLデータベースに飛び込もう。
NoSQLデータベース
NoSQLデータベースは、非リレーショナル・データモデルを使用してデータの保存と検索を行う。固定された列と行を持つテーブルを使用するリレーショナル・データベースとは異なり、NoSQLデータベースは、キー・バリュー形式、ドキュメント形式、カラム・ファミリー形式、グラフ形式など、さまざまな形式でデータを格納することができる。
NoSQLデータベースの主な利点のひとつは、SQLデータベースよりも柔軟性が高いことだ。データベース構造に大きな変更を加えることなく、データの追加や変更が簡単にできる。このため、NoSQLデータベースは大規模な非構造化データセットの保存に最適です。
NoSQLデータベースはスケーラブルで、大量のデータやトラフィックの多い領主を扱うことができる。多くの
NoSQLデータベースの一般的な種類を見てみよう。
キー・バリュー・ストア
キー・バリュー・ストアは、データに迅速かつ効率的にアクセスする必要がある場合によく使用されます。シンプルな構造であるため、非常に高速で拡張が容易であり、高性能が要求されるアプリケーションに適しています。
ドキュメント・ストア
ドキュメント・ストアは柔軟なデータ・モデリングを可能にし、コンテンツ管理システム、ソーシャルメディア・プラットフォーム、eコマース・サイトに最適です。
コラム・ファミリー店
これらのデータベースは行単位ではなく列単位でデータを保存するため、大規模なデータセットを効率的に保存・検索することができる。カラムファミリーストアは、分析やデータウェアハウスによく使用されます。
グラフ・データベース
グラフ・データベースでは、データはノードとエッジとして保存されるため、複雑に相互接続されたデータセットの保存と分析に最適である。グラフ・データベースは、ソーシャル・ネットワーク、レコメンデーション・エンジン、不正検知などによく使われている。
さて、データベースの種類を一通り学んだところで、実際の世界でデータベースがどのように使われているのかを見てみよう。
データベースはどのように使われるのか?
データベースは、大量のデータを一箇所に保存することを可能にする。ほとんどの企業がオンライン上で存在感を示す中、データベースは想像しうるほとんどすべての業種で使用されています。
eコマースのウェブサイトがあるとしよう。顧客の注文履歴、商品詳細、顧客データを一箇所に保存することができる。あるいは、携帯電話を見てみよう。データベースを使って連絡先のリストを保存している。データベースは検索や並べ替えが可能なので、必要なデータを素早く簡単に見つけることができる。例えば、受信トレイからメールを探すとき、私たちはデータベースに照会して目的のメッセージを探している。
Cloud Computing 認定コースを受講して、クラウド・コンピューティングで成功するためのスキルを身につけましょう。
コメント