id: yssk22 (CouchDB-JP)
About Me
   Yohei Sasaki (@yssk22)
     Twitter, hatena, github, google, …


   CouchDB関係のMLにたまに出没
     CouchDB-JP からやってきました。
     今年はなんかパッチかく(Erlangで…)


   developerWorks の CouchDB 連載書きました。
今日の話
   CouchDBとはなんですか?を15分で。
     いつもと変えます。


   さくさくいくので、気になったらあとで
    捕まえて聞いてください。

   To Be Relaxed...
いつものCouchDB紹介
   JSONをそのままストアできる
     最近普通。
   HTTP/RESTでデータベース操作できる!
     他のKVSでもできるのあるよね。
   MapReduceでクエリ!
     Hadoop/HBase使えばいいじゃん。
   Erlang で実装。
     Mnesiaというのが標準であってだな。。。
CouchDBとは何ですか?
CouchDBとは何ですか?
   Web時代のLotus Notes/Domino.


    Web時代のLotus Notes/Domino
Oracleさん曰く:
   Lotus Notes/Domino は、ノーツレガシー
    と呼ばれるぐらい、ロックインされてし
    まうソフトウェア(ほめ言葉)。
     ある意味中毒性のある環境




   CouchDB も邪魔者と呼ばれるようにな
    る日が来るかもしれません。
CouchDBとは何ですか?
   Web時代のLotus Notes/Domino.

   というタイトルをつけてたら、怒られるだ
    ろうなPVは伸びないだろうな、と思って非
    リレーショナルデータベースってことにし
    ました。

   最近だと非リレーショナルデータベースに
    対して、KVS/NoSQLという言葉が定着して
    きましたが...
CouchDB は KVS ですか?
CouchDB は KVS ですか?
   Web時代のLotus Notes/Domino.


            Yes, that's right.
CouchDB は KVS ですか?
 JSONを格納できます。
{
    "_id" : "yssk22",
    "_rev" : "2-xxxxxxxx",
    "name" : "Yohei Sasaki",
    "profile" : {
       "age" : 27,
       "single": true,
       "intereted_in": ["couchdb", "web"]
    }
他のKVSと何が違うんですか?
他のKVSと何が違うんですか?


   レプリケーションと
アプリケーションホスティング
他のKVSと何が違うんですか?
   レプリケーションとアプリケーションホ
    スティング

   Lotus Notes/Domino 的な思想
     See also http://bit.ly/5sbcIt
他のKVSのレプリケーション?
   key-valueストアの基礎知識 より。
     たいていは、いくつかのサーバ上に複製
     (replica)を作ります。 これによって耐故
     障性を高めます。 1台が故障で停止しても他
     のサーバから複製を読み出せる、というわ
     けです。

    http://www.shudo.net/article/Software-Design-201002-KVS/
CouchDBは世界中で複製されます




        http://damienkatz.net/pics/ubuntu_couchdb.png
Ubuntu 9.10 Desktop の台数
<= CouchDB のインスタンス数
   Ubuntu One      Canonical が提供する
                     MobileMe のような
                     サービス



                    2GB までのディスク
                     スペース、アドレス
                     帳、メモなどを複数
                     のPCで複製・同期可
                     能にする
Nokia N900 にも入る?
   http://thomas.apestaart.org/log/?p=1106&c
    page=1
     gnome-keyring から python-keyring へのポー
     トができれば。
CouchDBが目指すスケーラビリティ
        1台になっても、
  App   N台になっても対応できる
        ストレージシステム




  App
他のKVSと何が違うんですか?


   レプリケーションと
アプリケーションホスティング
ちょっと前のWeb+DB

 Web Server   Web Server   Web Server   Web Server




 App Server   App Server   App Server   App Server




              RDB Server   RDB Server
最近の Web+DB

 Web Server   Web Server   Web Server   Web Server




 App Server   App Server   App Server   App Server




 DB Server    DB Server    DB Server    DB Server
CouchDB = 1人で3役




 Relax   Relax   Relax   Relax
1人で3役?

           Web Server
 + JavaScript Application Server
         + JSON Store
サンプルサイト
   Pure CouchDB のブログ
     http://jchrisa.net


   Pure CouchDB の Twitter 複製お試しサー
    ビス
     http://www.yssk22.info/tstore
      ○ ドメイン契約更新期限切れ中orz
つまり。
   CouchDBが入ると、Webに必要な環境が
    すべて手に入る。
     スケーラブルなKVSが手に入り
     Server Side JavaScript のアプリケーションが
      くっついてきて
     画像やCSSなどの静的コンテンツも配信でき
      る
ここは Python Hackathon


           OK.
     Python + CouchDB
Mozilla Raindrop
   Twisted + CouchDB + いろいろ
Pythonで実装されたツール
   CouchApp
     CouchDBアプリケーション開発ツールキット


   python-couchdb
     管理ツールからバインディングまで。


   couchdbkit
     ライブラリ
CouchDB-JP
   CouchDB Definitive Guide翻訳
     http://dl.dropbox.com/u/673631/couchdb/html/index.html

   月1回ぐらいで勉強会的な何か。
     来月は未定
     OSC Tokyo 2010 Spring はやります。
      ○ CouchDBで作るOpenSocial Container (仮
      ○ Sheeva Plug で動かすポータブルソファ。


   今日のHandsOn資料
     http://dl.dropbox.com/u/219436/CouchDB/PythonHackathon3
      /handson/_build/html/index.html
      ○ Definitive Guide があまり初心者向けじゃないので。。
まとめ
   CouchDB は 21世紀のLotus Notes

   レプリケーションとアプリケーションホスティング
    により、他のKVSとは一線を隠す使い方ができる、
    というかもはやKVSじゃない!
     ワークフローを流したり、データ解析をしたり、とか。



   いろんな企業、団体が使い始めている。
     BBCとか。


   Python Tool もたくさんあるよ!

Couch DB in 15minutes

  • 1.
  • 2.
    About Me  Yohei Sasaki (@yssk22)  Twitter, hatena, github, google, …  CouchDB関係のMLにたまに出没  CouchDB-JP からやってきました。  今年はなんかパッチかく(Erlangで…)  developerWorks の CouchDB 連載書きました。
  • 3.
    今日の話  CouchDBとはなんですか?を15分で。  いつもと変えます。  さくさくいくので、気になったらあとで 捕まえて聞いてください。  To Be Relaxed...
  • 4.
    いつものCouchDB紹介  JSONをそのままストアできる  最近普通。  HTTP/RESTでデータベース操作できる!  他のKVSでもできるのあるよね。  MapReduceでクエリ!  Hadoop/HBase使えばいいじゃん。  Erlang で実装。  Mnesiaというのが標準であってだな。。。
  • 5.
  • 6.
    CouchDBとは何ですか?  Web時代のLotus Notes/Domino. Web時代のLotus Notes/Domino
  • 7.
    Oracleさん曰く:  Lotus Notes/Domino は、ノーツレガシー と呼ばれるぐらい、ロックインされてし まうソフトウェア(ほめ言葉)。  ある意味中毒性のある環境  CouchDB も邪魔者と呼ばれるようにな る日が来るかもしれません。
  • 8.
    CouchDBとは何ですか?  Web時代のLotus Notes/Domino.  というタイトルをつけてたら、怒られるだ ろうなPVは伸びないだろうな、と思って非 リレーショナルデータベースってことにし ました。  最近だと非リレーショナルデータベースに 対して、KVS/NoSQLという言葉が定着して きましたが...
  • 9.
    CouchDB は KVSですか?
  • 10.
    CouchDB は KVSですか?  Web時代のLotus Notes/Domino. Yes, that's right.
  • 11.
    CouchDB は KVSですか?  JSONを格納できます。 { "_id" : "yssk22", "_rev" : "2-xxxxxxxx", "name" : "Yohei Sasaki", "profile" : { "age" : 27, "single": true, "intereted_in": ["couchdb", "web"] }
  • 12.
  • 13.
    他のKVSと何が違うんですか? レプリケーションと アプリケーションホスティング
  • 14.
    他のKVSと何が違うんですか?  レプリケーションとアプリケーションホ スティング  Lotus Notes/Domino 的な思想  See also http://bit.ly/5sbcIt
  • 15.
    他のKVSのレプリケーション?  key-valueストアの基礎知識 より。  たいていは、いくつかのサーバ上に複製 (replica)を作ります。 これによって耐故 障性を高めます。 1台が故障で停止しても他 のサーバから複製を読み出せる、というわ けです。 http://www.shudo.net/article/Software-Design-201002-KVS/
  • 16.
    CouchDBは世界中で複製されます http://damienkatz.net/pics/ubuntu_couchdb.png
  • 17.
    Ubuntu 9.10 Desktopの台数 <= CouchDB のインスタンス数  Ubuntu One  Canonical が提供する MobileMe のような サービス  2GB までのディスク スペース、アドレス 帳、メモなどを複数 のPCで複製・同期可 能にする
  • 18.
    Nokia N900 にも入る?  http://thomas.apestaart.org/log/?p=1106&c page=1  gnome-keyring から python-keyring へのポー トができれば。
  • 19.
    CouchDBが目指すスケーラビリティ 1台になっても、 App N台になっても対応できる ストレージシステム App
  • 20.
    他のKVSと何が違うんですか? レプリケーションと アプリケーションホスティング
  • 21.
    ちょっと前のWeb+DB Web Server Web Server Web Server Web Server App Server App Server App Server App Server RDB Server RDB Server
  • 22.
    最近の Web+DB WebServer Web Server Web Server Web Server App Server App Server App Server App Server DB Server DB Server DB Server DB Server
  • 23.
    CouchDB = 1人で3役 Relax Relax Relax Relax
  • 24.
    1人で3役? Web Server + JavaScript Application Server + JSON Store
  • 25.
    サンプルサイト  Pure CouchDB のブログ  http://jchrisa.net  Pure CouchDB の Twitter 複製お試しサー ビス  http://www.yssk22.info/tstore ○ ドメイン契約更新期限切れ中orz
  • 26.
    つまり。  CouchDBが入ると、Webに必要な環境が すべて手に入る。  スケーラブルなKVSが手に入り  Server Side JavaScript のアプリケーションが くっついてきて  画像やCSSなどの静的コンテンツも配信でき る
  • 27.
    ここは Python Hackathon OK. Python + CouchDB
  • 28.
    Mozilla Raindrop  Twisted + CouchDB + いろいろ
  • 29.
    Pythonで実装されたツール  CouchApp  CouchDBアプリケーション開発ツールキット  python-couchdb  管理ツールからバインディングまで。  couchdbkit  ライブラリ
  • 30.
    CouchDB-JP  CouchDB Definitive Guide翻訳  http://dl.dropbox.com/u/673631/couchdb/html/index.html  月1回ぐらいで勉強会的な何か。  来月は未定  OSC Tokyo 2010 Spring はやります。 ○ CouchDBで作るOpenSocial Container (仮 ○ Sheeva Plug で動かすポータブルソファ。  今日のHandsOn資料  http://dl.dropbox.com/u/219436/CouchDB/PythonHackathon3 /handson/_build/html/index.html ○ Definitive Guide があまり初心者向けじゃないので。。
  • 31.
    まとめ  CouchDB は 21世紀のLotus Notes  レプリケーションとアプリケーションホスティング により、他のKVSとは一線を隠す使い方ができる、 というかもはやKVSじゃない!  ワークフローを流したり、データ解析をしたり、とか。  いろんな企業、団体が使い始めている。  BBCとか。  Python Tool もたくさんあるよ!