2013年2月23日土曜日

#CouchConf Tokyo 2013 に行ってきた!


個人的興味で、「CouchConf Tokyo 2013」に行って来ました。

CouchConf Tokyo | Couchbase
http://www.couchbase.com/couchconf-tokyo-jp

今回、
  • 私自身「Couchbase」を使い込んでいない
  • 内容の理解することが出来ていない部分もある
  • 英語同時通訳だったけど、やっぱりネイティブじゃないとわからない部分がある

ので、ただのメモ書きで以下の情報は正確性に保証はありません。



Couchbase Server 2.0の最新機能ツアーとデモ


  • 登壇者
    Sharon Barr, Couchbase社 VP

途中参加だったので、ほぼ終わりから聴講

メモ書き



スマートフォン向けソーシャルゲームの開発事例 "Playing with Couchbase"



メモ書き


  • Couchbase導入前の構成
    PHP,MySQL,memcached,HTML5
  • リアルタイムが難しかった。
  • システムは読み書きが頻繁に行われる
  • CouchBase 1.8から使っている
  • memcachedによく似ている(API)
  • オペレーションがシンプル
  • 現在の構成:
    Couchbase + node.js
  • node-memcached + Moxi(Proxy)
  • 運用
    • Puppet
    • Graylog2
    • Nagios + Observium
  • トラブル
    • 「1 NodeDown all system down」
      データにもよるが自分たちのデータの格納が悪かった
  • 原因
    • Rebalance bugs (1.8) -> 2.0で?改善された
  • シンプルではあるが、実は、簡単ではなかった。
  • 改善
    • スカラ値からドキュメント格納にした
  • node-memcached fix
  • node-Couchbase 作成
  • ネイティブライブラリが、必要
  • API経由で、書き込むのではなく、どこに書くか指定したかった。
  • ノード管理
  • レプリケーションの考え方がRDBMSとは違う
  • Operations
    • Polyglot Persistence
    • Loadtest
    • HotBackup
    • better rebalance strategy
  • NagiosForCouchbase
  • Nagira - Nagios REST API

まとめ



Getting Started with Couchbase App Development



メモ書き


  • Couchbase client から、クラスタ情報をとることができる
  • 1つのノードで、10,000の接続をサポート

App Development with Documents, their Schemas and Relationships


  • 登壇者
    Matt Ingenthron, Couchbase

メモ書き


  • Document DB は暗黙のスキーマがある

実世界の例(サプライチェーン):レシート

スキーマの違いを分かりやすく説明した例

  • US
    • DATE
    • 商品名
    • 金額 $
  • 日本で展開するとなる 別のレシート
    • 日付
    • 商品名
    • 金額 円
  • typeを設定することが出来る。
  • スキーマの大きな変更に、関わったことがあるか?
  • スキーマの柔軟な変更が可能
  • FAST MULTI-KEY LOOKUP
  • beer = ...  
    comments = client.multiget(beer.comment_ids)
    
  • 同時アクセスに対して、casを用いる

忍者ツールズのCouchbase導入事例


実は一番聞きたかった、セッション!日本語だしw



  • アジェンダ


  • メモ書き


    • 会社紹介、サービス紹介
      株式会社サムライファクトリー

    • Couchbase をどう利用しているか

      • 構成

        LB -> App -> memcache -> DB


        memchached -> スケール出来ない

      • CouchBaseでた!
        memchachedから移行
        移行時期がDC移行時期だった
      • 現状
        CouchBse 1.8.0
        mem 16GB
        SSD x2 (RAID0)

        8node
    • Couchbase 導入後、どう良くなったか

      • memcached時代は各々、確認
      • 監視項目も多かった、なぜか落ちる
        daemontoolsでmemcached上げたりしていた
      • CouchBaseでスケール出来る!
      • 監視が一元管理できる
    • 運用して困ったこと

      • Rebalanseがおかしかった
        Upgrade手順

        (会場内)CouchBaseから
      • 1.8.0 -> 1.8.1
        リバランスが進捗していても、UIに反映されない事がある
      • 1.8.1 -> 2.0
        上記は解消されている
    • 運用していてわかったこと

      Bucket types

      • Buckets type
      • 「memcache type」「CouchBase type」がある
        memcached 使っていたから、「memcached type」を使っていた
      • 「ネットワーク障害時のデータ不整合懸念」
        ネットワーク障害時の挙動

        挙動例

        不整合が起きたので、複数台構成(スケールする)なら「CouchBase type


    感想


    CouchBaseをdatastore視点で見ていたが、
    * memcached がスケールしづらい事(しづらいんだ!) * データのAtomicに不安

    スケールする、memcachedとして使うのはベストプラクティスなんではないか。



    Couchbase Server 2.0 in Production 24x365  


    • 登壇者
      Sharon Barr, Couchbase

    メモ書き


    • サイジング次第でパフォーマンス違うからよく考えましょう

      • データ量とメモリのバランス
        Workingset (データ量に対するメモリ割合) ソシャゲ 1%くらい ビジネスアプリ 30%くらい Ad Network 100%
    • CouchBaseは最低3nodeがあったほうがいい
    • ReplicationはTCPで通信 (2.0現在)

      • TAPも検討中

    おまけ

    ランチセッション(Lunch Session)


    コーヒータイム


    結構頭いっぱい(´・ω・`)


    Macの電池なくなった・・・w

    まとめ


    • Couchbase と CouchDBは名前が似てるけど違うもの
    • 2.0になって「View」が使えるようになり、より実用的になった
    • スケール出来る、memcached として使うには最適

    参考リンク


    資料はそのうち、こちらにアップされるのではないかと思います!

    Presentations | Couchbase
    http://www.couchbase.com/presentations


    Zenback