NoSQLを調べて使いたい

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

将来、大規模なデータを扱うことを想定していても、実際に遭遇した時、何もできないのが目に見えるA.Mです。
今回は大規模なデータを扱うことに長けているNoSQLについて調べたので、書きたいと思います。

【NoSQLとは?】

よく聞くMySQLやPostgreSQLが分類されるRDBMS(関係データベース管理システム)とは異なる分類のDBの総称です。
単純にSQL文を使わないことから「NoSQL」と呼ばれているそうです。

RDBMSとの違い

RDBMSの苦手な点としては、スケーラビリティやインデックス作成コストなどが挙げられます。それをNoSQLは補うことができ、大量のデータが存在していても、高速な処理を実現することが可能です。
欠点としては、データの一貫性の機能がないことや、RDBMSと比べると実績が少ないことが挙げられていました。
しかし、現在では一貫性を保証できるNoSQLなども存在します。

【NoSQLの種類】

NoSQLには様々な種類が存在しますので、簡単な説明とともに幾つか紹介します。

KVS:Key-Value Store型

キーと値をペアとしてデータを保持するデータ構造の型です。
キーを指定することで、対応したデータを格納したり取得することが容易にできるため、高速な読み書きが可能です。
また、複数のストレージにデータを分散させて格納するKVSを分散KVSと呼び、データ複製や冗長化確保のための機能が備わっています。

KVS:Key-Value Store型

列指向型

RDBMSが行単位でデータを管理しているのに対して、データを列単位でまとめて管理するデータベースです。
大量の行に対して、必要なデータを効率よく検索できるため、大量なデータに対しても高速に処理を行うことができます。

列指向型

ドキュメント指向型

スキーマを持たず、データをドキュメントのように格納します。
データ格納の際に特定の構造に合わせる必要がなく、スケーラビリティが高いです。

ドキュメント指向型

グラフ指向型

ノード、エッジからデータ関連性を表現し、それぞれに属性を持ったプロパティグラフです。
SNSで見かける友達の友達を検索。などのデータ間の複雑な関連性を表現することが容易です。

グラフ指向型

どれを使うか?

いくつか、NoSQLデータベースを紹介してきましたが、それぞれ得意とするデータの使い方が違うため、目的によって使用するNoSQLも変わってきます。

また、ただ知識をつけるだけでなく、実際に触ってみないと身につかないと思うので、次回は、NoSQLソフトウェアを使用した記事を書きたいと思います。
(KVS型か列指向型について書きたいです。)




広告システムについてのお問い合わせやご相談、パッケージ製品の詳細はこちらからどうぞ。
http://admage.jp/
アプリ計測SDK admage for Appのお問い合わせ・詳細はこちら。
http://apptizer.jp/

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

コメントを残す

*