キーの部分一致を利用した削除について

112 views
Skip to first unread message

Satoyuki Tsukano

unread,
Apr 17, 2014, 8:41:12 PM4/17/14
to couchb...@googlegroups.com

束野です。

Couchbaseでマルチテナントを実現したいと考えています。
ただ、bucketは最大10程度のようですので、
テナント毎にbucketを分けると、bucketが不足します。

そのため、key=<テナントID>_<テナント内でのキー>という形にして、
1bucketにデータを保持しようと考えています。
 
このとき、テナントID単位で全検索、全削除等の
オペレーションを行いたいと考えています。

全検索はViewやN1QLを利用すれば(部分一致が使えるので)実現できそうに見えますが、
全削除できるAPIはあるのでしょうか?

このあたりの情報について、ご存知ないでしょうか?

Koji Kawamura

unread,
Apr 18, 2014, 1:22:44 AM4/18/14
to couchbase-jp
束野さん

河村です。

ViewやN1QLを利用すれば、テナント毎のKey一覧を検索することはできますが、更新系のAPIはなく、クエリのみです。
別途、取得したKey一覧から、1Key毎にdelete操作を行う必要があります。

件数にもよりますが、大量のドキュメントがある場合には、
データのドキュメント以外に、テナントの有効性を管理するドキュメントを一つ追加して、そのドキュメントの属性を変更することで、テナントの一括無効・有効を管理するという手もあります。
無効に切り替えた上で、ゆっくりと一件ずつデータドキュメントを削除するという方法です。

何か他に良い案があれば、私も知りたいです!
> --
> You received this message because you are subscribed to the Google Groups
> "couchbase-jp" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to couchbase-jp...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Satoyuki Tsukano

unread,
Apr 18, 2014, 11:09:12 AM4/18/14
to couchb...@googlegroups.com
束野です。

河村さん、回答ありがとうございました。

キーの部分一致で削除するAPIは無いのですね。
でも、

 テナントの有効性を管理するドキュメントを使い、
 切り替えた上で、ゆっくりと一件ずつデータドキュメントを削除する

という代替は良さそうに見えます。
ありがとうございました。


それと、4/21のCouchbase&Elasticsearchの話も楽しみにしています!

それでは失礼します。

2014年4月18日金曜日 14時22分44秒 UTC+9 Koji Kawamura:
Reply all
Reply to author
Forward
0 new messages