ブックマーク / qiita.com/saisa6153 (5)

  • Riakで値が衝突したらどうなるのか - Qiita

    例えば2台で構成されたRiakクラスタがあったとして、ちょうどLANケーブルが引きぬかれたタイミングで、それぞれのノードにkeyが同じでvalueが異なる値がコミットされたとする。 その後LANケーブルをさしてクラスタが復旧し、アプリケーションが問い合わせを行うとどうなるのか みたいな話。 同じkeyを入れたらどうなるのか 「ここに書き込んでおけば安心確実」というMasterという名のシングルポイントは、Riakには無い。 とりえあえず全部入れといて、衝突が起きた時はその値をまるっと返す。 これでアプリケーションは衝突が発生したことが分かるので、ある処理で衝突を解決することができる。 それはVector Clocksという、Riak内部での論理的な時計による時間によるものだ。 (実時間を用いたCentral Clock Systemは、同じRiakクラスタ内に属する独立したHWの物理時計が

    Riakで値が衝突したらどうなるのか - Qiita
  • Riakの内部構造について - Qiita

    ネタが無くなってきたよ!saisa6153です!! 泥酔後のハイテンションで贈る、みんなでやるRiak Advent Calendar 9日目。 今日はRiakの内部構造について知ってることとかを書きます。 ソフトウェア・スタック Riakはたくさんの部品を組み合わせて構成されている。 公式ドキュメントの絵ではこんな感じだ。 順に説明していこう。 Riakクライアント 様々なプログラミング言語向けのクライアントライブラリが提供されている。 Erlangはもちろん、Java, PHP, Ruby, Python, Perl, OCamlやClojureなどBasho公式やコミュニティ・有志によるものを合わせると、仕事で使う大抵の言語では問題が無いことがわかる。 現在は2.0への過渡期であり、全クライアントで全機能が網羅されているとは言いがたいが、時間の経過と共に充実していくだろう。 充実して

    Riakの内部構造について - Qiita
  • Riakに関係するパラメータについて - Qiita

    ミドルウェアのチューニングでは、様々なパラメータを目にし、操作し、検証することになる。 データの特性やリソースなど現在の状況と目標を照らしあわせ、正解に近い値を求める作業だ。 Riakにもパラメータはたくさんある。 しかしそれは、既存のRDBとは異なる概念に基づくものが多い。 ドキュメントなどに書いてある運用に関わるパラメータの一部をまとめただけだが、今まであやふやだった部分を改めて理解しに行くきっかけになれば良いと思う。 物理ノード クラスタを構成する物理的なマシンの数は、Riakクラスタのキャパシティを決定する大きな要因だ。 数千数万という多数のマシンで構成されたクラスタが機能するかは分からないが、1台ぼっちで動かすよりは多いほうが良いだろう。 後述するn_valのデフォルト設定値が3になっているため、最低3台、番環境では5台以上での構成が推奨されている。 vnode Riakは物理

    Riakに関係するパラメータについて - Qiita
  • Riakを運用する上でちょくちょく必要になりそうな小ネタ - Qiita

    Multi Backend 設定次第では、Bucket毎に異なるバックエンドを設定することができる。 一つのRiakノード上で複数種類のバックエンドを動かすことができるので、応用の幅が一気に広がる。 セッションとかはmemory backendにしといて、重要な情報はLevelDBで永続化、とか。 consoleとattach riak consoleは、Riakを動かした上でシェルに入るコマンドだ。 ➜ riak git:(a12d5a2) rel/riak/bin/riak console config is OK -config /Users/saisa/devel/riak/rel/riak/data/generated.configs/app.2013.12.15.23.32.59.config -args_file /Users/saisa/devel/riak/rel/ria

    Riakを運用する上でちょくちょく必要になりそうな小ネタ - Qiita
  • Riak2.0とFluentdの連携 - Qiita

    みんなでやるRiak Advent Calendar 8日目。 一週間で基操作を終えたので、どんどん進もう! 今回は初の応用編。 大人気のFluentd連携だ。 今回やりたいこと 一台の開発環境で、apacheのアクセスログをriakに入れる。 つまりこれを試したい。 RubyとFluentdとfluent-plugin-riakのインストール ちなみに今までずっと書き忘れていたが、CentOS 6.4。 [vagrant@localhost ~]$ wget http://www.dnsbalance.ring.gr.jp/archives/lang/ruby/2.0/ruby-2.0.0-p353.tar.gz [vagrant@localhost ~]$ tar zxvf ruby-2.0.0-p353.tar.gz [vagrant@localhost ~]$ cd ruby-2

    Riak2.0とFluentdの連携 - Qiita
  • 1