タグ

2009年11月11日のブックマーク (11件)

  • 「NoSQL」は「Not Only SQL」である、と定着するか?

    非リレーショナルモデルのデータベース全般を指す「NoSQL」という用語について議論が巻き起こっています。 グーグルのBigTableやアマゾンのSimpleDBなど、クラウドへの注目が高まると同時にキーバリュー型データストアにも関心が集まり、さらにHadoopなどの新しいソフトウェアも登場してきました。このPublickeyでも、一昨日、昨日と記事で紹介してきました。 データベースは目的別に使い分けるべし NoSQLデータベースを40種類以上リストアップ、キーバリュー型にもいろいろある こうした非リレーショナルなデータベースを指す一般的な名称が求められてきたときに登場したのが「NoSQL」という名前です。 なんとなく考案された「NoSQL」 「NoSQL」という用語を考案したとされるEric Evans氏は、この名称は特に何も考えずに適当に思いついた言葉だとブログに書いています。ブログ「E

    「NoSQL」は「Not Only SQL」である、と定着するか?
    aki77
    aki77 2009/11/11
  • 実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ

    レプリケーションしてるMySQLで、マスタやスレーブが障害停止した場合のリカバリプラン でも掲げたゴールである、「マスタが落ちてもぐーすか寝ていられるようにしたい」がほぼできたので、ほとんどサービスが停止することなく、フェイルオーバする様をスクリーンキャストに収めました。 埋め込みプレイヤーだと、小さくてわからないと思うので、リンク直接でみてください。 http://www.irori.org/pub/mysql-mm.mov 登場するホスト 登場するホストは2台、db901db902です。 最初は、db901が更新系クエリを受けるプライマリでdb900の浮動IPアドレスを持っています。 画面分割 画面は5分割しています。 左上 = 「select sysdate(),@@server_id」をdb900に対して(sleep 1しながら)延々と実行しまくりんぐ 右上 = ping -n

    実録、ほぼ無停止なMySQLのフェイルオーバ (動画もあるよ) - (ひ)メモ
    aki77
    aki77 2009/11/11
    レプリケーション
  • 早速 Go 言語を試してみる! - IT戦記

    はじめに Google から新プログラミング言語 The Go Programming Language が発表されましたね! というわけで、さっそく試してみたいと思います。 環境は Mac OS X 10.6 インストール さっそくインストール Getting Started - The Go Programming Language を見ながら 環境の準備 ディレクトリを作る amacbook% cd ~ amacbook% mkdir go amacbook% mkdir bin環境変数の設定をする。~/.zshrc に以下を追加 # Go 用 export GOROOT=$HOME/go export GOOS=darwin export GOARCH=amd64 export GOBIN=$HOME/bin export PATH=$GOBIN:$PATH Mercurial を

    早速 Go 言語を試してみる! - IT戦記
  • Debugging your ~/.emacs and Elisp

    (最初に戻る) | emcws | 索引 | 準備 | make | 動作一覧 | SEMI | Semi-gnus | IM/Mew | Mew でニュース | X-Face | tcode | 個人環境/書体 | load-path | Debug | Mailing List | 参照カード | 20.7 情報 | 21.3 情報 | emcws patches | 動作確認 | 速攻設置 | Mule/Emacs の歴史 | MacOS | たまご | 変更履歴 | 逆 link | 全文検索 | 特徴 | dot.emacs | application | URL 検索 ~/.emacs・環境設定などに問題がある時の解決への糸口をいくつか書いて見ます。 Error in init file: End of file during parsing などと言われた時は ~/.emac

  • ユーザーの体感速度をGoogle Analyticsで可視化する – cyano

    ユーザーがページをロード開始してから閲覧できるようになるまでのロード時間はユーザーが自分のページを快適に閲覧できているかどうかを示す重要なファクターです。Google Analyticsのイベントという機能を使用することで、ユーザーの実際の体感速度を可視化することができます。 たとえば、このブログのある期間における体感速度のグラフはGoogle Analytics上で以下のように出ています。 44.84%のユーザーは100〜499msでロードできており、1秒未満でロード完了しているユーザーは合わせて73.49%であるとわかります。また、3秒以上かかっているユーザーも7.42%居ることも分かります。3秒以上ロードにかかるようだと離脱率も高くなるので、7.42%のユーザーに対して何かの施策が必要であるということも分かります。 このように、ユーザーが実際感じている体感速度を可視化することで、この

  • oinume journal

    大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codemodで機械的に書き換えたい。 BEFORE package main import ( "slices" "testing" ) func TestContains(t *testing.T) { type args struct { ss []string s string } tests := []struct { name string args args want bool }{ { name: "empty: false", args: args{[]string{}, ""}, wan

    oinume journal
  • [Emacs]そんなことよりeval-after-load使おうぜ

    もっと使われてもいいのにと思うEmacsの設定周りのメモ。 [関数] (eval-after-load FILE FORM) この関数は、指定されたライブラリFILEがロードされているときにのみ2番目の引数FORMを評価するというもの。 例えばmigemoをロードする時の自分の設定はこんな感じ。 ;; migemoを読み込む。存在しない場合はnilを返す (load "migemo" 'noerror) (eval-after-load "migemo" (quote (progn ;; この辺がmigemoをロードした後に評価される (defadvice isearch-mode (before migemo-off activate) "初期状態は常にnil" (setq migemo-isearch-enable-p nil)) (fset 'toggle-migemo #'mige

  • NoSQL – SQLはもう古い?

    Photo by shindotv ここ最近、海外のブログで「NoSQL」という単語をちょこちょこと見るようになりました。 これは新しいデータベースのムーブメントで、「SQL=リレーショナル」ではないデータベースの事を指しています。 NoSQL DBサーバの有名な物は、Facebookがリリースした「Cassandra」、Erlangで書かれた「CouchDB」、日からは、mixiがリリースしている「TokyoTyrant」があります。 またGoogle App Engineでは、DataStoreというBigTableベースのNoSQLサービスが提供されています。 ある程度ユーザを集めたコンシューマ向けサービスは、大抵の場合パフォーマンスとの戦いとなります。 技術誌の中でも「スケールアウト技法」的な記事を目にすることが増えてきたことからも、多くのサイト運営者が、パフォーマンスの問題を抱

    NoSQL – SQLはもう古い?
    aki77
    aki77 2009/11/11
  • Expectの使い方 - (・∀・)イイ!!Memo

    例 expect&ssh † sshで接続して、lsを実行。 #!/usr/bin/expect set timeout 5 spawn ssh somehost.example.com expect "password:" send "YOUR PASSWD\r" expect "Last login" send "ls\r" interact ↑ 例. expect&sendmail † sendmailをexpectで叩いてメール送信。テスト送信を何回もやるとき便利。 #!/usr/bin/expect set timeout 5 spawn telnet somehost.example.com 25 expect "somehost.example.com" send "helo somehost.example.com\n" expect "pleased to meet yo

  • Google App Engine入門:Datastore上で「ユニーク制限」を実現する方法

    Google App Engine のDatastoreには、通常のリレーショナルデータベースと比べた時にいくつかの制限があるが、その一つが「このプロパティの値は常にユニークでなければならない」という指定(ユニーク制限)ができないことである。 Invoice IDのように自動生成するものであれば、アプリケーション側でなんとかすることも簡単だが、メールアドレスやハンドル名など、ユーザーが入力するものになると、ユニークであることをきちんと判定した上でEntityを作ることが必要になる。 もちろん、単純に「有無をチェックして、なければ作る」というプログラムではスレッド間の競合に対応できないので、そこはトランザクションを使ってアトミックに処理をする必要がある。 App Engine上でトランザクションを実現するには、エンティティグループという仕組みを使って行うが、気をつけなければいけないのは、エン

  • サンタクロースの服が赤いのはコカコーラの会社がが最初に赤い服をサンタに着せたって - サンタクロースの服が赤いのはコカコーラの会社が... - Yahoo!知恵袋

    間違いだと思います。 サンタクロースのイメージは1931年にコカ・コーラ社が自社のコーポレートカラーである赤と白に合ったサンタクロースを宣伝キャラクターとして起用、画家のハッドン・サンドブロムに依頼して描かせたことで世界中に広まったとされ、多くのメディアによってこの逸話が紹介されてきました。 しかし、コカコーラ社が宣伝に起用した1931年より15年以上前の大正3年(1914年)には、日の『子供之友』に赤い帽子に白い髭、白い縁取りのある赤い服を着た、現代とまったく違いのない大人の背丈のサンタクロースの姿が描かれており、また、この時代の日で作られていた輸出用(当時、日は世界一のクリスマス用品生産国であった)のサンタクロース人形はこの姿でもあり、「コカコーラ社を起源とする逸話」は、完全な間違いである(出典:『クリスマス~どうやって日に定着したか』角川書店)。 サンタクロースの赤い服はもと

    サンタクロースの服が赤いのはコカコーラの会社がが最初に赤い服をサンタに着せたって - サンタクロースの服が赤いのはコカコーラの会社が... - Yahoo!知恵袋
    aki77
    aki77 2009/11/11