コース: データサイエンス入門:基本を理解する

NoSQLに見る新しい手法

コース: データサイエンス入門:基本を理解する

NoSQLに見る新しい手法

リレーショナルデータベースは今も オンライン処理の中核を担っています。 データウェアハウスは今でも 企業分析の基盤と見なされています。 それで成功してきたのですが、 このモデルを超える 新しいアプリケーションが 現在の課題となっています。 データの格納方法に柔軟性が 求められているのです。 リレーショナルデータベースは スキーマに依存するため、 データをよく理解してから 保存する必要があります。 事前の計画が必要です。 まず、どのようなファイルかを確認し、 そのフィールドをテーブルに整理します。 最後に、テーブル間の関係が必要です。 例えば、靴を販売するウェブサイトでは、 顧客が欲しい靴を見つけます。 ウェブサイトが靴と配送先を結びつけ、 注文ページでの精算準備が整います。 そこでは、4つのテーブルに アクセスします。 靴のテーブル、顧客のテーブル、 住所のテーブル、配送のテーブルです。 データベースは大忙しです。 負荷がかかると処理が遅くなります。 処理速度を上げるのは容易ではありません。 高性能なサーバを買うか、 テーブルを複数のサーバに分割するか、 ネットワーク上で同期できる サーバを使います。 大規模なウェブサイトの場合、 どれがよいか簡単には決められません。 ここで、1回のトランザクションで すべての情報を格納するとします。 靴、顧客、住所、配送の情報を 一度に入れるレコードを作ります。 データをテーブルに 分ける必要はありません。 関係を作ることも考えません。 データを入れるだけです。 これが NoSQL です。 ツイッターのハッシュタグとして 始まったもので、 拡張性とパフォーマンスに優れています。 NoSQL では SQL で行うことの 多くが必要ありません。 リレーショナルデータベースモデルには 制限がありますが、 NoSQL は非リレーショナルで、 スキーマレス、クラスター向きで、 多くがオープンソースです。 魅力的な特徴を備えています。 非リレーショナルのデータベースは、 変更が簡単で使いやすいのです。 データベースのデータの格納方法が、 ウェブアプリケーションの 仕組みと似ています。 別のビューを作るのに、 テーブルを作ったり分割したりと 面倒な処理は必要ありません。 データベースの正規化と 呼ばれる作業ですが、 スキーマがなければ、 把握する必要はありません。 靴を販売するウェブサイトを、 大手企業が買い取り、その顧客を 自社の常連客プログラムに 追加するとします。 リレーショナルの場合、 アーキテクチャ上、 大きな課題が生じます。 顧客テーブルで常連客を 特定する必要があります。 おそらく常連客テーブルの 新規作成が必要でしょう。 1人で2つの顧客番号があったり、 別の人が同じ番号を 共有していたりするため、 こうしたことを解決して整理し、 不足データの修正方法を検討します。 スキーマがなければ、 フィールドの追加も簡単で、 1回のトランザクションで格納できます。 常連客番号がある場合、 トランザクション時にロードされ、 ない場合、そのフィールドはありません。 また、クラスターに適しています。 データは、数百から数千もの データベースサーバに 格納できる必要があります。 トランザクションで保存されたレコードは、 集計と呼ばれます。 あらゆるデータが保持されます。 靴、顧客の住所、配送情報が含まれます。 集計は、データベースサーバ間で 容易に同期できます。 多くのサーバが、 クラスターで同期して、更新内容を ほかのクラスターに送信します。 クラスターはご存じですよね。 Hadoop のデータ処理でも使われます。 Hadoop の多くは、 NoSQL データベースの HBase を基に 構築されています。 データサイエンスチームにいれば、 NoSQL に遭遇するでしょう。 多くの組織にとって、 大規模なデータの処理に最適です。 シンプルで、ウェブアプリケーションの 作成も簡単です。 作成したアプリケーションは、 エンタープライズ規模まで 素早く拡張できます。

目次