投稿

ラベル(db)が付いた投稿を表示しています

Dropbox のスケールとか

イメージ
Python なサービス みんな大好き Dropbox のスケールとかメモ。以下のページ辺りからピックアップ。Parted? みたいなので、続編がでたら追記するかも。 Scaling lessons learned at Dropbox, part 1 ( comment ) Dropbox - Startup Lessons Learned (slideshare) Dropbox -Yコンビネーターが生んだスタートアップの軌跡と未来 - スケール関係ないですが、 2006 年当時はオンラインストレージサービスがいっぱいあった ようで、VC から資金調達したときのやり取りがおもしろい VC "クラウドストレージサービスなんて腐るほどある" Drew "なにか使ってるのありますか?" VC "NO" Drew "..." 完璧で、スケーラブルで、クロスプラットフォームなクラウドストレージ!当時、プライベートベータのビデオが 12000 digg (<- 懐かしい) され、ベータリストの登録が 1 日で 5 千人から 7 万人に増えたことも。 現在 、 5000 万人のユーザ が、 2 億 5 千万デバイス から、 48 時間で 10 億ファイル 保存してるとのこと。 ファイルの POST/PUT で 5787 rps となると GET を合わせると。。。すごいですね! スケールの記事を書かれているのは、2011 年まで Dropbox でスケールを担当されていた Rajiv Eranki (← URL w) 氏です。Dropbox のバックエンドはほとんど 1 ~ 3 人で面倒を見ていたとのこと。順不同で以下抜粋。なお、Dropbox さんは有効であるのは間違いないですが、ストイックと思われる箇所もあるので、18 最未満の方は保護者の同意の下w >>> 利用しているテクノロジー 言語: ほとんど Python, ちょっとだけ C データベース: MySQL WSGI: Paster / WAF: Pylons / テンプレートエンジン: Cheetah ファイルブロックの保存と提供: S3/EC2 キャッシュと...

Pinterest のスケール

V 先生から 教えて頂いたので、Instagram 同様 Django/AWS 構成の Pinterest のスケールをメモ。 Pinterest はいつものアカウント名が初めて 先取 されたサービスなので、今後使わないと思います 。 本題に入る前に、Python には The Zen of Python ( 日本語 ) という思想があります。私はこの思想を Python でのプログラミングだけでなく、インフラの構築の際も意識するように心がけています。" Simple is better than complex " です。Instagram や Pinterest のスケールを見て、この思想がもっと好きになりました。 Instagram はよりシンプルなインフラに更改していくことで、ただスケールするだけでなく、運用や変更のコストも最小限になるように最適化していると思います。結果的に Android アプリ公開等のサービス拡大時にも少ないエンジニアリングで柔軟に対応できたのかと。これはあくまでもイメージでしかありませんが、AWS 上でスケールアップできるところまでスケールアップし、限界が見えたところでスケールアウトで最小限のエンジニアリングコストをかける。インフラで解決できるところはインフラで解決しているというイメージです。Pinterest のスライドでは、インフラをシンプルに更改した過程が紹介されています。 >>> インフラの遷移 2010/05: 創設 RackSpace 小規模な Web Engine × 1 小規模な MySQL DB × 1 2011/01: AWS へ フロントに nginx を立て垂直分割、MySQL をマスタースレーブ構成に垂直分割、ヘビーな処理をタスクキューに分割、MongoDB を導入。 Amazon EC2 + S3 + CloudFront nginx × 1 Web Engine × 4 MySQL: Master × 1 / Slave × 1 Task Queue × 1 / Task Processors × 2 MongoDB × 1 2011 年後半: ターニングポイント LB, Web サーバを増加、MySQL をシャー...

ubuntu に couchdb の trunk をインストール

couchdb をインストールした。 erlang のインストール sudo apt-get install erlang 依存パッケージ類のインストール sudo apt-get install gcc libtool automakehelp2man libicu38 libicu-dev libmozjs-dev spidermonkey-bin libcurl4-gnutls-dev couchdb の最新版をチェックアウト svn co http://svn.apache.org/repos/asf/couchdb/trunk couchdb couchdb の build とインストール cd couchdb ./bootstrap ./configure make && sudo make install /etc/init.d/ に couchdb のシンボリックリンクをはっておく sudo ln -s /usr/local/etc/init.d/couchdb /etc/init.d/ couchdb 系のスクリプトの所有者を couchdb にする /usr/local/var$ sudo chown -R couchdb /usr/local/var couchdb の起動 sudo /etc/init.d/couchdb start curl 経由でアクセスを確認してみる curl http://localhost:5984/ {"couchdb":"Welcome","version":"0.11.0b"} と表示されます。 追記: @voluntas 先生より Ubuntu 9.10 なら couchdb 0.10.0 が aptitude で入るよ。  とのことです。ありがとうございました。絶対にこっちが楽ですw