6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[初心者]cassandraについて個人的メモ

Last updated at Posted at 2017-04-17

Cassandraについて個人的メモ

はじめに

Cassandraについて

Facebookが自社の大規模DBを管理する為に開発。今は、Apache Foundationが管理しているオープンソースのNoSQLデータベース。

DiggがCassandraを選択した理由

Each system has its own strengths and weaknesses, but Cassandra has a good blend of everything. It offers column-oriented data storage, so you have a bit more structure than plain key/value stores. It operates in a distributed, highly available, peer-to-peer cluster.
それぞれのシステムには強みと弱みがあるが、Cassandraはそれらを適切なバランスで備えていた。カラム指向型データストレージであり、キーバリュー型データストアよりもややデータ構造を備えている。分散構成による高い可用性を持つピア・ツー・ピア型のクラスタで運用できる。
■参考URL
http://www.publickey1.jp/blog/10/twitterdiggnosqlcassandra.html

Cassandraの理解のために最も重要なこと

クラスタ内のノードはリング構造(コンシステントハッシング法)となっており、トークンが割り当てられている。

入門資料

###「Introduction to Cassandra」(2010年6月17日にパロアルトで行われたSilicon Valley Cloud Computing Groupのイベントで使われた資料)
https://www.slideshare.net/gdusbabek/introduction-to-cassandra-june-2010

日本語で読めるCassandraの公式ドキュメント「Cassandra Wiki」公式ドキュメントの翻訳だけでなく、主要なリソースへのリンクもここに集積されています。

Cassandra関連用語

結果整合性を実現する為の仕組み

Gossip Protocol

ノード間の情報をやり取りすることによって最終的なノードの状態をクラスタ内の全てのノードが知ることが出来るようになるアルゴリズム。
データの鮮度を判断して、自分より新しい情報をどこに持っているかを近隣のノード経由で徐々に伝播していく。

Read Repair

読み出したデータが一致しない場合、データを修正する

Hinted HandOff

本来データを保持すべきノードが応答しないとき、データを預かる

Consistency Level

速度優先か、一貫性優先かをレベルに応じて選択できる

Sharding

複数のデータベースにデータを分散して運用

Seed

クラスタのやり取りを行うサーバを設定する

ReplicaPlacementStrategyとReplicaPlacementFactor

・・・Strategyはその名の通り戦略。・・・Factorはレプリカの数を指定。

コマンド

cassandra-cliコマンド

nodetoolコマンド

データ再配置、サーバ監視、バックアップ/リストア、

loadbalanceコマンド

データ展開、他ノードへのデータ移動

関連する一般的な知識(用語)

NoSQL

製品

例えば、MongoDB、AmazonのDynamoDB、GoogleのBigtable、Apache Hadoop、Yahoo!のHBase、 Facebook発のCassandra、 LinkedIn発のVoldemortなど

特徴

RDBが搭載している機能を省き、利用目的や利用範囲を絞ることで、ノード数に素直に比例する性能、ノード数に比例しない運用コスト、伸縮自在、強い障害耐性を持つことを特徴としている。

キーバリュー型(データモデル)

個々の組を識別する情報を「キー」(Key)と呼び、もう片方の情報を「バリュー」(Value、値)と呼びます。キーバリュー型データベースは、このような「キー」と「バリュー」の組を保存するためのデータベースです。
https://thinkit.co.jp/story/2010/10/08/1786

行指向とカラム型(列指向)

最近話題の「カラム型データベース」とはどんな仕組みのデータベースか?
http://www.publickey1.jp/blog/11/post_175.html

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?