弊社検証環境で半年ほど10数台規模のCassandraクラスタを運用してきたのですが、運用に使っているスクリプトがある程度固まってきたのでまとめてみます。更なる簡素化・便利化を進めるための棚卸しという感じです。古いものも混ざっていて若干申し訳なくはあるのですが……どなたかの役に立てば幸いです。では見て行きましょう。 スクリプトの運用体制について すべてのスクリプトはSubversionで管理され、主にJenkinsによって自動的に実行されます。多数のノードに対する同時処理を行なうためにGNU Parallelを使うことがあります。 またCassandraサーバはAWS EC2上で運用されているため、AWS SDK for RubyによってIPアドレスの取得などを行なっています。 各ノードでのnodetool ring実行結果を集約 クラスタが不安定なとき、実際は動いているのに一部のノードか
■cassandraとは NoSQLミドルウェアの代表格。 非リレーショナルデータベース。 分散データベース。 Hadoopに比べるとCassandraはリアルタイム処理を得意とし、 一貫性のかわりに可用性を重視している。 Facebookが開発したことで有名。 ■通常のSQLとの違い ・クエリ言語がない クエリ言語ではなく、Thriftを通してアクセスするAPIがあるのみ ※0.8以降でCQLというクエリ言語が登場。 ・参照整合性がない cassandraの場合は参照整合性の概念がなく、joinの考え方がない。 ・OrderByやGroupByがない。 SliceRangeクエリがあり、反転できる点でこれがorderbyと似ている。 ・Whereがないのにどうやって検索する!? select * from Hotel where name = 'royalpark'; を実現する為に H
Cassandra Wiki Cassandraは、非常に高いスケーラビリティーを持ち、イベンチュアルコンシステントな分散システム構造のKVS(Key Value Store)です。 Cassandraは、主にBerkeley DBとMySQLから構成されるAmazon Dynamo (PDF)の分散ハッシュテーブル(DHT)と、Google BigTable (PDF)のデータモデルという分散システムのテクノロジーを併せ持っています。 Amazon Dynamoのように、Cassandraはイベンチュアルコンシステントであり、Google BigTableのようにCassandraは典型的なKVS(Key Value Store)より豊かなカラムファミリーベースのデータモデルを提供します。 Cassandraは、2008年7月にFacebookによってオープンソースとして公開されました。
cassandra posted by (C)kishir さて、「Cassandra(かさんどら)」が2010年2月18日に「Apache Software Foundationトッププロジェクト」として、承認されたよっと。 ちなみにCassandraはFacebookのほか、Rackspace、Digg、Twitterなどで、利用されているようですよー。 ・分散データベースの「Cassandra」がApacheのトップレベルプロジェクトに 早速、Apache Cassandra(オープンソースの分散データベース管理システム)をMacOSXに突っ込んでみる。 インストールした環境は、「Mac OSX 10.6.3(Snow Leopard)」。 Cassandraは「Java」で動作するみたいだが、自分のMacOSXにJavaって入ってるっけかな?とまずは確認してみようっと。 $ whi
■目的 WindowsXPにCassandra0.7をインストールする ■環境 OS Windows XP Cassandra 0.7.6-2 ■JREのインストール 事前にJRE1.6をインストールし、環境変数JAVA_HOMEが設定します。 インストール手順は割愛します。 項目 設定値 JAVA_HOME JAVA_HOME=C:\Program Files\Java\jre6 ■Cassandraのダウンロード The Apache Cassandra Projectから、Cassandraをダウンロードします。 今回、ダウンロードしたファイル apache-cassandra-0.7.6-2-bin.tar.gz ■Cassandraのインストール ダウンロードしたファイルを解凍します。 解凍したファイルを任意のディレクトリに配置します。 【配置例】 D:\cassandra\ap
うちの鯖でもDBが動いているWebアプリなり何なりを作ろうかと思い、最近はやりのNO SQL系のDBを勉強。NO SQLと言うのは、「Oh! NO!! 俺たちはもうSQLなんていらないぜ!」とドラクロアの「民衆を導く自由の女神」なみに今から沢山大変だけどSQLから開放された!フリーダム!って感じや、「Oh! NO! SQL謎言語!」のNO MORE SQLの略ではなく、DBってSQLだけじゃないズラよ!のNOT ONLY SQLの頭文字をとったものらしい。で、お手軽にできそうなCassandraを勉強して使ってみたいと思います。 Cassandraって名前は、世界最大のデータベースに対抗しているのだろうか。それはいいんだけど、なんかGroovyたんとかと同じくカッサンドラたんなんてできそうな気配。 Cassandraの起動まで。 インストール 実行環境の前提 1.6以上のJDKが動いている
前々から気になっていたCassandra。 Cassandraとは何かというのは、いろいろと説明しているページがあるので そちらに譲るとして0.8.0がリリースされたみたいなのでインストールしてみた。 http://cassandra.apache.org/download/ とりあえず、Windowsで動かしてみようとCドライブ直下に解凍してみた。 [スペック] OS:Windows XP Professional メモリ:1.86GByte java:Sun JDK 1.6.0_24 binフォルダのcassandra.batをダブルクリックしてみる。 すると、コンソールに以下のメッセージが表示された。 Starting Cassandra Server INFO 18:22:34,166 Logging initialized INFO 18:22:34,213 Heap size:
NoSQLミドルウェアの特徴をもう少し細かく挙げてみます。分量の都合もあり個別には触れませんが、それぞれのNoSQLミドルウェアで差別化部分に関してはかなり詳細に説明がされていますので、ぜひそちらを参照してみてください。 高速に動作する リレーションモデルではないデータモデル スケールアウト型アーキテクチャ コモディティサーバによって構築される スキーマフリー SPOF(単一故障点)を持たない 自動的に複数台へレプリケーションする イベンチュアルコンシステンシまたは一貫性の選択が可能 SQLのような強力なクエリ言語を持たず、シンプルな問い合わせしかできない Cassandraとは何か NoSQLミドルウェアの筆頭といえばGoogle BigTableやAmazon Dynamoですが、オープンソースの世界でもいろいろなものが出てきています。その中でも最近特に注目を集めているのが、Apach
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く