hbstudy#7に行ってきました。

前回に引き続き、ハートビーツさん主催の勉強会に行ってきました。
IMG_0595
 
—-
【 GAEについて – 柴田さん 】
—- 
– スケーラブルなサイトを簡単に
 ・ Google Moderator
  オバマ大統領がオンライン討論会の質問を決めるのに利用
  数時間で7000の質問。うん十万の投票。
 ・ 衆議院選挙のキャンペーンサイト
 ・全裸Bot
  全裸でって付けてリツイートしてくれる
 
– クラウドの種類
 ・saas インフラ+ビジネスロジック
 ・paas インフラだけでなくプラットフォーム
 ・iaas インフラだけ
 
 GAEはpaas。
 WindowsがやってるAzureもpaas。GAEの対抗。
 
– DataStore(BigTable)
 RDBMSではない。アンチ正規化。JOINのような機能がない。
 RDBMSはいい感じにクエリするためにコンピュータが頑張るが、
 スケーラビリティを考えると。単一クエリをいかに効果的にやるか。
 
 GAEはクエリに時間がかかるとエラーになっちゃう。
 
 テーブルのロックはボトルネックになりがちなので、Serial型がない。
 ロックの機会を最小限にすることでスケーラブルなシステム。
 
 たくさんあるサーバに仕事を分散させる感じで。
 一個のマルチコアのマシンでCPU100パーセント使い切るってのは難しい。
 スレッド間のロックとか、メモリとか、IOがネックになったりとか。
 → 複数のシングルコアのマシンに頑張らせる
 
– 課金について
 CPU>帯域>データサイズ
 10GBを1月置いといても1.5ドルくらい。
 ・CPUは近年あんまり性能が上がってない→複数コアの方向で。
 ・帯域を増やすのも結構大変インフラの工事が要るし。
 ・データサイズ→ムーアの法則的に安い。
 
– 非RDBMSは怖くない→考え方変えたら?
 ObjectStore(ObjectDataBase)−Amazonとかで使われてる
 Cache-医療分野で使ってる。XMLを扱う。統一の規格があるらしい。
 
– Python
 予約語(変数として使えない単語)の数
  Perl 220, Java 50, Ruby 40, Python 31
  言語の機能が整理されているシンプルで奥が深い
 Googleの使う言語
  C++, Java, Python
  Google内の30パーセントがPythonで出来ている。
 
・チープだけどスケーラブル
 Facebookアプリとかmixiアプリとかに使われてたり
 低いレイアの運用コストがかからない
 
・全部Googleに委ねる必要がある
 機密性の高いデータは扱いづらい
 内部統制的にソースの所在は?とか言われるとちょっときつい。
 
・箱庭の窮屈さ
 外部とソケット通信とか出来ない
 Cでコンパイルされたようなライブラリを使うことが出来ない
 長時間CPUを使うようなリクエストはキャンセルされてしまう
 
・スケールのされかたは?
 リニアにされていくの?ある程度たまったらボコって上るの?
 設計によって。データが増えると長時間走行するような
 プログラム書いたらあんまりだよね。
 同時に30個のクエリしか受け付けられないって制約があるけど?
 →衆議院選挙サイトはその制限をGoogleの人が外してくれたみたい
 
・その他
 Googleの中の人に依頼するとー的な事がチョイチョイある(インデックスが削除できないとか)
 日本のGoogleには担当の人があんまりいないから、
 英語のメーリングリストに入ったりとか、
 イベントにいったりして人脈広げるとかする必要があるらしい。
 
 
—-
【バックアップの話 – 坪井さん】
—-
– バックアップについて
 最近あんまりハードは壊れない。
 最近ではインフラ構成を冗長化したりする。
 → 主に人災の時っていう用途が大きいんじゃないか。
 
– 増分と差分バックアップの違い
 ・増分・・・前回との差分だけとる。インクリメンタル。
 ・差分・・・フルバックアップからの差分を都度全部とる。
 ・リストアするには?
  増分 – インクリメンタルに戻すような感じなので面倒
  差分 – 前回のフルバックアップ+差分を戻せばいいので楽
 
– Amanda
 ・オープンソースのバックアップソフトウエア
  91年から開発されているが、日本語のドキュメントが少なかったりして、
  あんまり日本では使われていなかったりする。
  外国ではかなり使われてて、大抵のディストリビューションには入ってる。
 ・出来ること
  ダンプとかリストアとかtarとかの管理。
 ・構成
  - バックアップサーバとクライアント
  - テープサーバ
  - インデックスサーバ
  ハードディスクに置くときにも仮想テープ的な。
  AmazonS3にバックアップを取る機能もあったりするらしい。
 ・使い方
  ホスト名を使って通信するので/etc/hostsの編集が必要
  /var/lib/amanda/.amandahosts
  バックアップホストとFQDN
  バックアップセットの使い方
   DailySet1をコピって使う/etc/amanda以下にセット毎にディレクトリ。
  amanda.conf
   どんなサイクルで(世代管理も出来る。xxなタイミングでフルバックアップを上書きとか)
   何をどこに
   容量の設計や
   帯域を絞ったり(本来のサービスに影響を与えないように)
   amcheckってコマンドでApacheのconfみたいにテストできる
  リストアの方法
   amrecoverとamrestoreはinfofileっていうのが必要
   mtとddコマンドが使えれば最悪なんとかなる(よく解らんなぁ。。)
  便利なんだけど設定ファイルがかったるい
   Amanda Enterprise EditionっていうGUIがある(有償)
  ZmandaRecoveryManager
   MySQLの4系5系のスケジュールしたバックアップとか
   MySQLのバイナリログが有効になっている必要がある
   ZRMも有償のはGUIがある
   
– どうやってバックアップとる?
 ・rsyncとsh
 ・darコマンド
 ・GAEのバックアップは?
   1個データを取ると、マシン3台以上に置かれるので〜
   dumpしてローカルに持ってくることもできる。

– エピソード
 ファイルを誤って消しちゃったとかはリカバりやすいけど、
 SQLのupdateとかは結構おっかない。

– スナップショット
 便利だけど、個別のファイルを扱いたい時とかはちょっと。

コメント

タイトルとURLをコピーしました