• 検索結果がありません。

iamnatsuTest NoSQL

N/A
N/A
Protected

Academic year: 2018

シェア "iamnatsuTest NoSQL"

Copied!
15
0
0

読み込み中.... (全文を見る)

全文

(1)

1

NoSQL

スミセイ情報システム

BP システム開発部

和田 夏帆

(2)

0.目次

1.データベースの種類

2. NoSQL とは

3. NoSQL の種類

4.まとめ

(3)

3

1.データベースの種類

a.階層型データベース

データを木構造で表したデータモデル。

親は複数の子をもてるが、子は一つの親しかもてない。

信頼性・可用性が高い。プログラミングが容易。

複雑なデータを扱おうとすると、データが重複しがち。

(データ構造を組織図に見たてた場合、ある人が複数チームに

兼務

するケースを考えるとデータが重複する。)

⇒ IMS等の実際のDBMSではポインタを実装し回避している

データの絞込み( WHERE 句に相当)の機能が

弱い。

子 子 子

孫 孫 孫 ・・・

(4)

1.データベースの種類

b.ネットワーク型データベース

データの重複を解決するために登場。

子も複数の親を持てるようになる。

データの関連が複雑でデータ構造を容易に変更できない。

子 子 子

孫 孫

・・・

(5)

5

1.データベースの種類

c.リーレーショナルデータベース

(6)

2. NoSQL とは

NoSQL とは、 SQL を用いず、また、関係モデルに

基づかずに構築されたデータベースシステムの

総称である。

(引用: IT 用語辞典バイナリ)

現代的な関係データベースは、小規模の高頻度なトランザクションか、 巨大だが書き込みをほとんど伴わないトランザクションに最適化されて 設計されているため、近年必要とされてきている大規模データに基づく 応用事例では性能が劣化してしまう。そのような応用の例として、

検索のための文書のインデキシング、トラフィックの高いウェブサイトの サーバ、

ストリーミングデータの配布などがあり・・・ (引用: WikiPedia )

要するに RDBMS は大量のデータの読み書きは得意でな

い。

それを「補完する」技術が NoSQL 。

( RDBMS に取って代わるものではないというのが今のところの見解。)

(7)

7

2. NoSQL とは

NoSQL は RDBMS と比較し以下のようなことが 一般的に言われている。

・分散環境を前提としているものがほとんどで、クラウドと相性がよい。( Hadoop とも)

  ⇒複数サーバにデータ保存し、レプリケーションをとるものが多い。

  ⇒ RDBMS はサーバ台数を増やしすぎるとレイテンシ(遅延時間)が悪化。

(8)

3. NoSQL の種類

NoSQL には次のようなものがある。

・揮発性 KVS ( Key-Value-Store )

memcached,(Redis)

・永続性 KVS

Tokyo Tyrant,Flare,ROMA,(Redis)

・ドキュメント思考 DB

MongoDB,CouchDB

・列指向 DB

Apache Cssandra,HBase,HyperTable

(9)

9

3. NoSQL の種類

a. memcached :

揮発性 KVS

(1)特徴

シンプルな key-value 型のデータストア。 データはすべてメモリ上に保持される。

通信も非常に簡単で、 telnet 接続からデータの読み書きが可能。 扱うことのできるデータ型は文字列のみ。

(2)ユースケース

主に、 RDBMS から取得したデータのキャッシュとして利用される。

(その想定で開発されており、 memcached 自体をデータストアとし

利用する場合、 memcachedDB というものがある。)

(3)導入事例

・ Wikipedia

・ Twitter

・ Youtube

・ Mixi

・ Flicker

(10)

3. NoSQL の種類

b. Redis : 揮発性&永続性 KVS

(1)特徴

揮発性 KVS と永続性 KVS のいいとこどりをした NoSQLDB 。 数値型や配列形式のデータを取扱える。

アトミックに処理を行うための命令が多数用意されている。

一定量以上の変更が加えられた場合、非同期でディスクに書き出 し

永続性を実現する。

(2)ユースケース

リスト型等の配列形式のデータを扱う場合。 タイムラインを表示するような Web アプリ。 まだ新しい技術であり、導入事例も少ない。

(3)導入事例

・ニコニコ動画

・ github

・ digg

(11)

11

3. NoSQL の種類

c. MongoDB : ドキュメント思考 DB

(1)特徴

スキーマレス(スキーマ定義が不要)

⇒ データの保存時にはデータを構造を含めてまるごと BSON 形 式

⇒ で保存し、それを value として key にひも付ける。

⇒ (ドキュメント指向 DB と言われる由縁) JOIN やトランザクションは行えない。

ディスクへの書き込みは非同期。

(2)ユースケース

カラムを固定できない、または流動的なデータを保存する場合。

(3)導入事例

・アメーバピグ

・ foursquare

・ Preferred Instructure

(12)

ご参考: JSON

{

“key” :“value”,

“test” :“hello”,

“test2”:“world”,

“test3”:[“ 配列も” ,

“OK”],

“test4”:{“test5” : “ ネストも” ,

“test6” : “OK”}

}

(13)

13

3. NoSQL の種類

d. Apache Cassandra :列指向 DB

(1)特徴

一貫性制御に自由度がある。

  ⇒ 一貫性と遅延はトレードオフな関係

マスタノードが存在しない。( P2P 型)

  ⇒ 単一故障点が存在せず可用性が高い。

比較的リッチなデータモデル。

(2)ユースケース

大規模なデータを取り扱う場合。

( データウェアハウス、 BI 等の OLAP 要素を持つもの)

(3)導入事例

・ Facebook

・ Twitter

・ digg

(14)

ご参考: Cassandra のデータモデル

引用 :  http://d.hatena.ne.jp/terurou/20100411/1270912571

(15)

15

4.まとめ

・基幹業務等、クリティカルな分野への適用は難しい

 (今のところ。一貫性を強固にするためのパッケー

ジも

  登場しつつある。)

・単一のリソースを複数のプロセスが奪い合うような

場合は

適用が難しい。

 (セミナーセッションの予約のような…)

・各 DB の特性(制約)を把握して適用する必要がある

参照

関連したドキュメント

1)まず、最初に共通グリッドインフラを構築し、その上にバイオ情報基盤と

前回パンダ基地を訪れた時と変わらず、パンダの可愛らしい姿、ありのままの姿に癒されまし

弊社または関係会社は本製品および関連情報につき、明示または黙示を問わず、いかなる権利を許諾するものでもなく、またそれらの市場適応性

基準の電力は,原則として次のいずれかを基準として決定するも

第一五条 か︑と思われる︒ もとづいて適用される場合と異なり︑

基準の電力は,原則として次のいずれかを基準として各時間帯別

では恥ずかしいよね ︒﹂と伝えました ︒そうする と彼も ﹁恥ずかしいです ︒﹂と言うのです

これらの事例は、照会に係る事実関係を前提とした一般的