Hatena::ブログ(Diary)

tomiyanの自由帳 RSSフィード

2014-02-25 Couchbase MeetUP Tokyo - #7

『Couchbase MeetUP Tokyo - #7 - 祝ver 2.5!ユーザ事例もあるよ -』に行ってきたのメモ

2014/02/25 19:00

品川フロントビル 株式会社ネクストで開催

http://couchbasejpcommunity.doorkeeper.jp/events/8914

=============================================

couch base@viber

ユーザー事例

DB Architecture

1st

in-memory DB

2nd

redis cluster

mongo cluster

mongo dosen't scale

redis with no sharding

redis sharder not manageable and robust

3rd

Couchebase clusters

Couchebase backup clusters

over 300 application servers

6 couchebase clusters

total 100-120 couchebase servers

=============================================

CouchebaseとDEVOPS

WZICORP

モバイルソーシャルゲーム

ネイティブアプリハイブリッド

CLIインターフェイスが揃っているのでDEVOPSしやすいよ

=============================================

Ameba Couchebaseの利用事例

高塩さん

サイバーエージェントでは開発した人が運用している

アメーバブログを当初始めた

その後アメーバピグの開発を始めた

ガールフレンド(仮)

当初会員の情報、ブログの情報、認証情報すべて同じDBに入れていた

その後認証情報を切り分けた

アプリケーションごとにログイン画面があったが、

守るべき場所をひらすために認証画面を一本化した

ログインアプリログインさせたい側のアプリケーション

ログインアプリ側とログインセッションにそれぞれCouchbaseを利用している

CouchbaseのドキュメントIDを受渡している

8core 32GB SAS HDD * 8台

リプレース前は4core 12GB SATA * 8台だった

Centos6.2

Couchebase Server 2.0.1 CE

Bucket * 1

トラブル

2.0.0から2.0.1

RPM updateでCompaction Daemonがcrashする

ディスクの容量が増え続けてしまった

clean installで解消した

Metadata Purge

MetadataがDiskに残る

2.2.0にUpgradeで解消予定

カウチベースを選んだ理由

expireが効くから

memcacheプロトコルが使えた

=============================================

Couchebase Server Release Note 2.5解説

土田さん

2014/2/14 EE2.5.0リリース

2014/2/14 CE2.2.0リリース

build番号は一緒

2.2のおさらい

XDCEのプロトコルmemcachedプロトコルに変更

metadata purge設定が追加(削除されたアイテムのメタデータを除去することが可能に)

閲覧アカウント接待可能

2.5の重要な機能

・ラック・アウェアネス(EE限定)

ラックやAZなど物理的に従属している環境を気にしながらレプリケーションしてくれる

Server Groupごとにサーバノードを定義できます

・XDCRデータセキュリティ(EE限定)

データ暗号化機能

今までは暗号化されていなかった

通信経路は信頼されているネットワーク上という前提だった

・接続制御の最適化

11210ポートからmemcachedプロトコルを通じて転送される

Client SDKは影響ないよ

Couchbase社に問い合わせたところ後方互換性はあると問い合わせ済

2.5へアップグレードする際の注意事項

・対象クラスタが2以上のレプリカを設定している場合、いくつかのvBucketはクラスタ全体に配布される

・XDCR暗号化のためにポート番号があらたに4つ予約されているので注意が必要

Releate Noteでは書かれていないこと

・RAM QuotaがWebコンソールから設定変更可能になっている

・auto failoverのデフォルト値が30秒から120秒に変更されている

・Metadata Purge Intervalが0.04(=1時間)まで設定できるようになっている

=============================================

N!QL

next generation query language

ニッケルと読みます

SQLライクに検索できる言語

標準でViewという検索のための仕組みがあり、非常に高速です

ただしViewは事前に検索する項目を特定しておく必要があり、任意の項目で自由に検索したりソートしておいたりといったことができない

SQLに慣れている人にとって、NoSQLデータベースでの検索は手を出しにくかったりした

結構なSQLが書ける

count,avg,like,group by,having by,limitなどが使える

CouchebaseはJSON形式でデータを保持しているので、必然的に検索した結果はJSON形式となります

また、結果だけでなく、項目の指定の仕方も多少異なります

構造化されていた場合は"."でつなげて指定

配列の構造を持ったデータの場合もhoge[0]やhoge[1]も指定できる

JSONのような構造化された文章むけに拡張された構文がある

配列の長さを条件に指定

・項目の存在地チェック

・ドキュメントのIDを取得

など、まだまだいっぱいある

紹介しきれる量ではない

過度な期待はNG

SQLライクであり、そのものではありません

・検索のみで、挿入、更新、削除はできません

・Developer Preview2なのであくまでも開発者向け

・お世辞にも速いとはいえません(T_T)

実際に試したい方はオンラインでものページが有ります

http://query.pub.couchbase.com/tutorial/

幾つか制限がある

スキーマレスなので テーブルのjoinといった概念がない

自分自身にジョインするような構文はある

2011-12-05 5年後の「エンジニアの働き方」

5年後の「エンジニアの働き方」

アイデム エンジニアキャリアHacks共有プロジェクト

5年後の「エンジニアの働き方」は、どう変わっていてほしいですか?

SIerや各企業のエンジニアが一斉に会社をやめて工期や金額が妥当、インフラフレームワークがまともなものだけを受注するような働きかたになって欲しい

サービス残業デスマを根絶するためにそれくらいやって良いと思う

2011-11-27 URL schemeのテスト用ツールQRコード対応しました

[][]URL schemeのテスト用ツールQRコード対応しました

URL schemeのテスト用ツールを作りました - tomiyanの自由帳の続き

iPhone/AndroidアプリをURL schemeで起動出来るか確認するためのツールでQRコードを生成できるようになりました

QRコードスマホで読みこめばテスト用のサイトへすぐに飛べます!

スマホ側でURL schemeを入力する必要がありません

http://tomiyan.net/python/urlscheme

使い方は簡単

2011-11-13 URL schemeのテスト用ツールを作りました

[][]URL schemeのテスト用ツールを作りました

iPhone/AndroidアプリURL schemeで起動出来るか確認するためのツールを作りました

いちいちHTML作成してどこかにアップロードするのが面倒だったので作りました

AndroidだとブラウザURL schemeURL直打ちしても起動しないのでテストができなかった

ホントはPCでURL入力してQRコード生成してスマホQRコード読みこめばリンク踏めるようにしたい

http://tomiyan.net/tools/urlscheme.html

アプリ側の実装時に参考にさせていただいた記事

iPhone URL schemeを使ってアプリを起動する - 強火で進め

Android http://techbooster.jpn.org/andriod/application/2748/

2011-10-10

[]Windows Phone7開発備忘録

Webブラウザを呼び出す方法

検索の仕方が悪いのかもしれないけどなかなか見つからないので

using System;

using Microsoft.Phone.Tasks;

...

WebBrowserTask task = new WebBrowserTask();

task.Uri = new Uri("http://www.tomiyan.net", UriKind.Absolute);

task.Show();

How to: Use the Web Browser Task for Windows Phone

通話機能を呼び出す方法

using Microsoft.Phone.Tasks;

...

PhoneCallTask task = new PhoneCallTask();

task.PhoneNumber = "03-1234-5679";

task.DisplayName = "ほげふが";

task.Show();

How to: Use the Phone Call Task for Windows Phone