Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方

1,147 views

Published on

  • Be the first to comment

  • Be the first to like this

JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方

  1. 1. JAWS-UG沖縄 勉強会 第1回 前座AWS活用 / write massiveなDBの作り方 2011/12/02 西島 幸一郎 @k_nishijima
  2. 2. 自己紹介西島 幸一郎 / にしじま こういちろうtwitter : @k_nishijima● とある会社のCTOをしております● 近年の主戦場は、所謂BigData系? MapReduceとか、Cassandraとか。。。● ダイビング好きが高じて9月頭に沖縄に移住してきました● JAWS−UG沖縄の裏方、やらせて頂いてます
  3. 3. その前にアンケート!今日の勉強会、どこで知りました???今日の参加者の皆様の属性把握 ● サーバサイドエンジニア ● インフラエンジニア ● android/iOS クライアントサイドエンジニア ● エンジニア以外(経営者など) ● その他、とりあえず来てみた、とかも大歓迎懇親会に参加予定の方は何名位?第0回のキックオフに来た人!デザリング出来る人!
  4. 4. いや、まあそれぞれ勉強会によってスタイルがあると思いますが、「まずは定期的(2-3ヶ月間隔くらい?)に開催されること」を目標にしたらいいのではと思います。座学なら、アマゾンさん提供ネタとしては ● AWS初心者向けハンズオン ● 各サービス詳細解説 ● クラウド時代のアーキテクチャ設計等などがあると思いますが、皆様の中から「こんな感じに[使ってる|苦労してる]から喋らせろ!」というネタ投下があると非常にありがたいかと思います。
  5. 5. 求む会場提供!やっぱり勉強会はWiFiが無いと辛いので。。。あとは、那覇に近いと色々皆さん便がいいようです。
  6. 6. それでは、本編 AWS活用 write massiveなDBの作り方 行きます。
  7. 7. AWSとは?19時頃からの玉川さんのプレゼンでタップリと。。。ここでは順序が逆になってしまいますが、若干時間も早いですし、AWSのこんな使い方もあるよ、ということで前座をボチボチやりたいと思います。
  8. 8. 昔々、AWSのEC2といえばインスタンス(=ここではサーバと思って下さい)を止めると全部きれいに忘れちゃう、InstanceStore というディスクしか在りませんでした。サーバなのに電源切ると(OS再起動はOK)、すべてを忘れるなんて、なんて都合のいいやつなんだ。。。
  9. 9. しかし、そんな環境で、出来るだけ低価格で書き込み過多に耐えるサービスを作りたい!というわけで、あれこれ頑張ってみました in 200x年。※今ならNOSQLで Over Million writes per secだぜぇ、 という話です。 まあ、そこまで出すにはお金掛かりますけどね。。。
  10. 10. 要件● HTTPリクエストを受けて、DBに書きこむお仕事● 全サーバでユニークにID採番する必要は無し(同期不要)● お値段安価に● 基本的にサービスは止まっちゃ駄目(SPoF無し)● 今流行りのAutoScaleも、まあ要らないかな● どうせならSQL使えるといいなお値段にうるさい部分と、止まっちゃ駄目、以外は割りきってますので意外と要件低いです。
  11. 11. で、考えました● 面倒だから最上位のロードバランサはありものを使おう → ELB採用決定● ELB配下でHTTPを受けるのは nginx で、その後Proxyしよう (今ほどnginxが盛り上がってなかったですが、 テストベンチ結果もよかった)● アプリケーションサーバはServlet遅いから自前で書こう  → Apache MINAを使った自前アプリケーションサーバ● DBはMySQLでいいや。そのかわりイザとなったら BlackHoleストレージエンジンでも使う覚悟で。 常時はマスタ/スレーブでいいでしょう。
  12. 12. 更にもうひと工夫● DBのインスタンスが落ちて、接続が切れても 上位層に気づかれたくない → tcpのロードバランスに pen を採用。http://siag.nu/pen/ ※なんでpoundじゃないの?って理由があったはずなんですが  忘れてしまいました。。。アプリケーションとDBを直結せず上手くルーティングすると ● 常時は自分のゾーンに居るDBへ接続 ● そのDBが落ちてたら勝手に別のゾーンにあるDBへ接続というメリットが出てきます。また、 ● メンテが終わったDBをクラスタに戻すなんていう時にも大変便利ですね。
  13. 13. 全然AWS出てこないじゃないか!と思ったアナタ、ここからです。 お手軽価格でSPoFで 鬼のリクエストにも 耐えるにはどうするか?
  14. 14. 構成図的なもの
  15. 15. 以上、ありがとうございました 疑問、質問、相談、ツッコミなどございましたら、 twitter : @k_nishijima まで、お待ちしております。 資料は後でどこか(多分ブログ?)にアップしておきます。

×