自分の為に纏めた。
公式なものはUpgrading to 2.0に公式ドキュメントが在る。
クライアント
Riak2.0と通信する為には2.0に対応したBashoの公式なクライアントを使うのが良いとのこと。
これらの最新版を使えばdata types
や新しいRiak Search
のような機能が使えるよって。
Bucket Types
1.4系以前のRiakではデータの位置はbucket
とkey
で決まってて、bucket properties
でそれらに関する設定が行われてた。
Riak2.0から追加されたbucket type
はデータの位置を示す追加のネームスペースであり、同時によりシステマティックな設定方法を提供する...という訳でいいんだろうか。
要するに2.0より前のものでは
/buckets/<bucket>/keys/<key>
という指定だったのが、
/types/<type>/buckets/<bucket>/keys/<key>
というような指定になる。
同時に、type
に対してプロパティを設定すると、そこに属するbucket全てに反映されるので効率的に管理できるよって。
ちなみに、古いクライアントを使ったりして2.0より前の/buckets/<bucket>/keys/<key>
という形式で指定した場合、それはbucket typeにdefault
を指定したことになるらしい。
つまり
/buckets/<bucket>/keys/<key>
は
/types/default/buckets/<bucket>/keys/<key>
と同じ事ってこと。
あとRiak2.0にアップグレードしてbucket typeを使い始めたら、それ以前のバージョンにダウングレードはできないとの事。
allow_multiのデフォルトがtrueに
2.0より前のRiakではallow_multiの初期値はfalseだったけど、2.0からtrueになったよって。
全てのbucket type
でデフォルトのallow_multi
の設定値はtrue
になる。
ではallow_multi
がfalse
のbucketを使いたい場合はどうすれば良いのか。
方法は2つ。
- bucket typeの
allow_multi
をfalse
に設定する。 - bucket typeを使わない。
allow_multi
を true
にした場合、Siblingsでのコンフリクトなんかの問題がでるけど、それらについてはConflict Resolutionにドキュメントがあるよって。
セキュリティ
Riak2.0のセキュリティを有効にする前に、テスト環境で十分にテストしろよって言ってる。
特にセキュリティを有効にすると(riak-admin security enable
)、Link Warking
や、古い(Yokozuna採用前の)Riak Search
などの機能は使えなくなるから注意が必要とのこと。
Authentication and Authorization
ダウングレード
Riak 2.0を使い始めてもまだ、以下のいずれも行っていない段階では2.0より古いバージョンに戻す事ができる。
- Riak Searchのためのインデックスの使用。
- 1つ以上のbucket typeの作成または有効化。これはつまり、Riak2.0の新しい機能である以下の2つのいずれかを利用した場合、必然的に2.0より前にダウングレードする事ができなくなる事を意味する。
- Strong consistency
- Riak Data Types
それ以外の新機能、例えばRiak Security
や新しい設定ファイルなどを使っている段階では、まだ2.0より前のバージョンへのダウングレードは可能。
設定
Riak2.0からは新しい設定システムが採用されてる。
riak.conf
は今までapp.config
とvm.args
に書いていた内容を新しいシンタックスで記述するファイル。
ちなみに設定に関する詳細はConfiguration Filesにある。
なお、Riak 2.0をつかう場合に、設定には2つの選択肢が在る。
- 手動で新しいRiak 2.0に設定を移す(この場合は
riak.conf
を使う事になる)。 - 古い形式の設定ファイルをそのまま使う。Riak 2.0ではまだ古い形式の設定ファイルが使える(この場合は
advanced.conf
を使う事になる)。
Searchのアップグレード
2.0より古いバージョンのRiakを使っている場合はSearchのインデックスを新しいSearchのインデックスへ移行しないといけない。詳しい方法はUpgrading Search from 1.x to 2.x
にドキュメントがある。