タグ

ブックマーク / developer.cybozu.co.jp (8)

  • Kazuho@Cybozu Labs: REST におけるトランザクションについて (Re: Web を支える技術)

    といいつつ、ひとつだけ理解できないというか、納得できないところが。トランザクションのところがなんだかRESTっぽくないのがすごく気になる Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESSプラスシリーズ)(山 陽平) - ただのにっき(2010-04-23) 「Web を支える技術」は自分もとてもいいだと思う (教科書としてすばらしいし復習用としても読みやすいのでイイ) のですが、トランザクションの所だけは分かりづらいなと感じました。その原因は、atomic transaction で解決できる課題を例として使っているという点と、トランザクションと更新クエリのレイヤ分割がされていない、という2つの点によるものではないでしょうか。 HTTP 上でトランザクションを表現する必要があるケースのほとんどは、atomic transaction ではなく

    takasick
    takasick 2010/04/25
  • Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法

    監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)に続きます 今日ようやく、積ん読状態だった「Software Design 2010年1月号」を手に取ったのですが、特集が「今日から使えるスクリプト満載! [プロ直伝]お手軽サーバ監視術」。興味深く拝読したのですが、もっと楽ができるのにと思うところも。ちょうど、昨年末に運用しているサービス「パストラック」のサーバを移転し、crontab と perl で書かれたスクリプト群を使った監視環境を構築したところなので、そこで使っているスクリプト cronlog を紹介したいと思います。 特集の前書きにも書かれていることですが、サーバやネットワーク機器が多数ある環境なら、Nagios を始めとする、専ら監視のために作られたソフトウェアを使って、監視システムを構築すべきです。逆に小規

    takasick
    takasick 2010/01/15
  • Kazuho@Cybozu Labs: パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ (BPStudy#25発表資料)

    先週金曜日、BPStudy#25で、「パフォーマンスとスケーラビリティのためのデータベースアーキテクチャ」という題目で話をさせていただきました。その際に使用した発表資料は以下のとおりです。 1. Happy Optimization 最初に、最適化の考え方として、上限値を予測し、それを元にリソース配分を考える、という手法を説明しました。

    takasick
    takasick 2009/09/29
  • WordPress.comが採用を発表したRSSCloudを試しました | 秋元@サイボウズラボ・プログラマー・ブログ

    WordPress.comが、ホストするブログのすべてにおいて、RSSCloudに対応したというニュースが入ってきました。 WordPress.comサービスに存在する750万個のブログすべてが、この仕様に対応したということですが、さらに、WordPress.org、つまり自分のサーバにインストールするタイプのWordPressでも、プラグインRSS Cloudが提供されています。早速自分の持っているWordPressブログの一つにインストールしてみました。 それで何が起こるかというと、RSSのソースを見たときに、cloudというタグで情報が増えます。こんな感じ。 <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <cloud domain='akimoto.jp' po

    takasick
    takasick 2009/09/11
  • Kazuho@Cybozu Labs: MySQL のボトルネックを統計的に監視・解析する方法

    MySQL のチューニング、と言った場合には、サーバーパラメータの調整や EXPLAIN コマンドを利用したクエリ実行計画の最適化が話題に上ることが多いです。しかし、発行する全ての SQL について、いちいち EXPLAIN コマンドを使って確認していては、いくら時間があってもたりません。チューニングを効率的に進めるには、まず、ボトルネックとなっている SQL クエリを特定し、次にその最適化を行うべきです。 ではどのようにして、ボトルネックを特定するのか。MySQL Conference & Expo 2009 のキーノートにおいて Mark Callaghan 氏は、Google では SHOW PROCESSLIST コマンドを使った統計的アプローチを使っていると述べていらっしゃいます (参照: MySQLConf 09: Mark Callaghan, "This is Not a

  • Kazuho@Cybozu Labs: Pacific という名前の分散ストレージを作り始めた件

    大規模なウェブアプリケーションのボトルネックがデータベースであるという点については、多くの同意が得られるところだと思います。解決策としては、同じ種類のデータを複数の RDBMS に保存する「sharding」 (別名:アプリケーションレベルパーティショニング/レベル2分散注1) が一般的ですが、最近では、分散キーバリューストア (分散 KVS) を使おうとする試みもみられるようになってきています。 分散 KVS が RDBMS sharding に対して優れている要素としては、事前の分割設計が不要で、動的なノード追加(とそれにともなう負荷の再分散)が容易、といった点が挙げられると思います。一方で、Kai や Kumofs のような最近の実装では eventually consistent でこそ無くなってきているものの、ハッシュベースの分散 KVS は、レンジクエリができなかったり (例:

  • 明日のDevelopers Summitでお話します | 秋元@サイボウズラボ・プログラマー・ブログ

    デベロッパーズサミット 2009 まだ内容を詰めているのですが(すいません)。ウェブ技術の将来ということですが、あまり技術技術はしてません。このブログで普段書いているようなことがいろいろ出ると思います。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

    takasick
    takasick 2009/02/13
  • Twitto: PHP5.3専用最小新フレームワーク | 秋元@サイボウズラボ・プログラマー・ブログ

    Twittoは、PHPフレームワークsymfonyの中心人物Fabien Potencierさんが(冗談で)作った、新フレームワークだ。 実アプリに決して使わないこと!!! フレームワークのコードは、twitterの一メッセージに収まるように、140文字以内で書かれている。(twitterでつぶやきたければ改行を取ればいい) require __DIR__.'/c.php'; if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; })) throw new Exception('Error'); $c(); サイズ以外の特徴は、デフォルトコントローラのサポート、E_STRICT(PHP5から導入された、より厳しいエラーチェック)に完全対応、存在しないコントローラへのアクセスでちゃんとエラーを出すこと、などだ。 同じフ

    takasick
    takasick 2009/01/29
  • 1