.NET 開発基盤部会 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

NoSQLに関する情報をまとめる。

背景

Volume & Velocity

RDBで、大量データの高速処理を行う場合の課題として、

という点があげられる。

Variety

  • 非定型なメタデータの管理が困難
  • RDBに格納困難な非構造化データが増加しているらしい(主にはJSON)。

NoSQLが適合するケース

非構造化データ

  • 非構造化データの例
    • 商品情報
    • 物件情報
    • デバイスの生成するデータ
    • 最近、非構造化データが急増している。
  • 非構造化データの増加に伴う影響
    • スキーマ変更の影響が大きい(多分、主に列を足す作業)
      • 時間がかかる
      • オフライン

大量データの高速処理

  • 原因
    • モバイル端末からのアクセス数の増加。
  • 対応
    RDBでは、
    • スケールアップが限界を迎える(若しくは高価過ぎる)。
    • しかし、スケールアウトにも課題がある。
    • そこで、スケールアウト可能なNoSQLが採用される。
    • 減らせるRDBの運用コスト > NoSQLクラスタの運用コスト

プロダクトのタイプ

KVS型

特徴

  • データアクセスが高速
  • 小さい多数のデータの蓄積が得意
  • ハードディスクにデータを永続化
  • ノードを追加することでスケールアウト可能

アーキテクチャ

  • マスタ型(Hibari)
    • チェインレプリケーションという独自アーキテクチャにより「強い整合性」を保証
  • P2P型
    • Amazon Dynamoは、可用性を重視した「結果整合性」
    • VoldemortとRiakは、Quorumにより整合性が調整可能

用例

  • キャッシュサーバ
  • ログ蓄積
  • オブジェクトストレージ

KVSイネーブラ型

特徴

  • オンメモリなので高速だが永続化されない。
  • 他のNoSQLデータベースと組み合わせて永続化を可能にできる。

アーキテクチャ

  • イネーブラ型オンメモリタイプ
  • イネーブラ型オンディスクタイプ(TokyoCabinet?/Tyrant)

用例

列(カラム)指向型

特徴

通常のRDBは、行(ロウ)指向型

  • 拡張性と永続性がある。
  • カラムを動的に追加できるデータモデル
  • 一部のものはスキーマ定義が必要
  • カラム指定での範囲検索・集計処理が得意
  • データ構造(LSM-Tree)により高い書き込み性能を実現
  • データマート
    • MPPデータベースは並列クエリを実行できる。
    • 対話型クエリ・エンジンは、ストレージにHadoopを利用する。
      (Hadoop上で列指向ストレージを構築するライブラリがある。)

アーキテクチャ

  • マスタ型
    • 「強い整合性」を保証
  • P2P型
    • 「Quorumによる整合性の調整」が可能

用例

  • ログ蓄積
  • ログ分析
  • 大規模データ処理

ドキュメント指向型

特徴

  • ドキュメント毎に異なるデータ構造を持てる
  • 属性に対する検索・集計が可能
  • キーバリュー型や列(カラム)指向型で紹介したような特性を有していない。
    • ビッグデータ対応というよりは、使いやすさに優れたNoSQLデータベース

アーキテクチャ

用例

  • ログ分析
  • Webシステム
  • オンラインゲーム

グラフ型

特徴

  • 3つの基本構成要素
    • ノード(頂点)
    • リレーションシップ(エッジ)
    • プロパティ(属性)
  • データベース側で、データとデータの
    関係性(オブジェクトであるノード間の関係性)を表現する。
  • 「知人を探す」「知人の知人を探す」「最短経路を探す」と言った
    クエリの答えを得るために最適化されている(RDBでは大量のJOINを行う)。

アーキテクチャ

用例

時系列型

特徴

アーキテクチャ

用例

プロダクトの種類

mongoDBCassandraRiakが有力なのでそれらを其々ピックアップ。

mongoDB

Cassandra

Riak

特徴

事例

マニュアル

参考

参考

@IT

Think IT(シンクイット)

Qiita

昨今のトレンド

NoSQLはOSSよりサービスのほうが流行っている感ある。

なお、API互換性は探したが発見できず(有識者曰く互換性は無さそう)。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-05-16 (木) 00:11:33 (100d)