Blog

NoSQL基本

2014.10.21Cat:MySQL プログラマー

NoSQLとは

データベース管理システム(DBMS)の種類を表す用語で、現在最も普及しているリレーショナルデータベース(RDB/RDBMS → Mysql,PostGre,Oracleなど)とは異なる新しい方式の総称。RDBでデータの問い合わせや操作に用いる言語であるSQLを用いない(使えない)ことからこのように呼ばれる。主にビッグデータを扱うときに用いる。

NoSQLの種類

KVS(Key-Value Store型)

キーと値をペアにして保持するシンプルなデータ構造を持つ。キーと、格納したいデータを紐付け、キーを指定することでそれに対応したデータを格納/取得することができる。
例:Memcashed

列指向型(テーブル指向型)

列方向のデータのまとまりを効率的に扱えるように設計されたデータベース。列データをファイルシステム上の連続した位置に格納することによって、大量の行に対する少数の列の集約処理や、同一の値をまとめるデータ圧縮などを効率的に行うことができる。大量のデータを対象とした分析やデータマイニングなどに特に適していると言われている。
例:Cassandra

ドキュメント指向型

XMLやJSONなどのように半構造化されたドキュメントデータの格納に特化したデータベース。ドキュメント自体に関するメタデータも含め、全てドキュメント内に保存される点が特徴となっている。
例:MongoDB

グラフ指向型

ノード、エッジ、プロパティから構成されるグラフ構造でデータを格納するデータベース。データ同士の複雑な関連性を表現することができる。
例:Neo4j

NoSQLの特徴

・RDBMSと比べて高速に動作する(大量のデータの読み書きが得意)
・スケールアウト(サーバを増加させることで性能をアップ)をすることを想定した作り
・トランザクションやテーブル間のジョインのような仕組みがないものが多く、シンプルな設計&機能

Author Profile

  • Launch Cart次世代ECサイト構築システム 初期月額無料
  • LaunchMovie ECに特化した動画制作サービス

Archive

ページTOPへ