2012年8月26日日曜日

DBとRDSな話



先日、プログラマー・エンジニアではない方向けの勉強会で、データベースについて紹介させていただきました。

やはり、データベースを説明するのは大変ですねw




データベースの役割、世の中にあるデータベース、その仕組や長所・短所、設計に関わる勘所、操作に関わること。そして、運営・経営的な視点からの資源管理まで。やはり、コンピューターシステムで提供されるサービスの根幹になるようなところで利用されているので、およそ話すことも多岐にわたってしまいました。

で、下記に紹介する本は、これからデータベースの構築・運用をはじめる方に、とてもおすすめできる本です。

Linux-DBシステム 構築/運用入門

およそDBはサービスを始めたら止まらないように運用したり、万が一の対策をしたり、サービスの拡大に合わせて負荷分散したり、チューニングしたりと、運用上色々な課題が出てきます。その対応足がかりとして、この本を読んでおくといいです。内容は、かなり実践的なエッセンスが書かれています。

書かれていないのは、論理的設計/運用に関わることだけです(笑)データベース・テーブル定義やレコード関連などのことは、別の本が必要です。


で、構築/運用に様々なテクニックと経験が必要なデータベース。AmazonのWeb Serviceにもクラウドでのデータベースサービスがあります。


最近は、こちらを利用する機会が増えてきました。やはり、楽だなぁ〜と感じてしまいます。バックアップ、レプリケーション、モニタリングと全部揃っているだもん(笑)。スケールアップもインスタンスタイプを変更するだけで出来ちゃうし。DBインスタンスのパラメータ設定に癖があるけど、楽なものは楽だわ(本気で負荷がかかり出すと新たな壁にあたりそうだけどw)
あとは、インスタンスタイプにHigh I/Oなタイプ、EBSみたいにIOPSの設定ができると、かなり凄いことになるのでは。スケーラビリティやアベイラビリティに悩むDBですが、クラウドサービスが色々と助けになってくれそうです。

最後に、データベースの運用で大事なのは、データを消せるようにしておくこと。前の上司に教わった教訓ですね。Facebookの1日に扱うデータ処理量が500テラバイトってありましたが(桁違いすぎw)、データベースは、データ量をコントロールしないと際限なくどんどんデータを貯めてコンピューター資源を食って行きます。経営管理上重要なのは、データベースの資源量(コスト)とプロフィットのバランスコントロールですね。その為にも、捨てれるデータは、捨てれるようにしないといけません。データベースにも断捨離ですね。

2012年8月14日火曜日

注目の.js系・HTML5・AWSのカンファレンス・勉強会

私がこれから行く予定のカンファレンス・勉強会を紹介します。








【TechBuzz】第1回.js系勉強会 〜Angular.jsのここがアツい!!シンプルで楽しい開発の実践 / Backbone.jsでつくるWebアプリケーション(ライブコーディングあり)〜

8月29日(水)開催、注目の.js系を扱った勉強会です。すでに250人の枠は満員です。第1回目なので、どんな内容になるか未知数な部分もありますが、注目度は高いですね。
JavaScriptのMVCフレームワーク10種類をまとめて比較したブログを見つけたので、参考に。

The Top 10 Javascript MVC Frameworks Reviewed

他、Backbone.jsの紹介資料も。
Backbone.jsについてLINEのJSを書いている清水さん作のスライド







HTML5 Conference 2012

9月8日(土)開催、HTML5 Conference です。昨年、Chrome+HTML5 Conferenceで開催されたイベントが、今年はhtml5j.org主催で20のセッションが用意されています。各セッションのテーマ・スピーカーも面白そうなものばかりで、どれを聞くか迷います。私、当日の午前中はどうしても参加できなくて、午後からになる予定。あぁ〜、終日行きたい。






AWS SUMMIT TOKYO 2012

9月13、14日(木・金)開催、東京でAWS SUMMITが開催されます。この翌々週は、ラスベガスで AWS re: Invent も開催されます。最初は、ラスベガスに行ってみようかと思ってたりしましたが、東京で我慢することにしました(笑)。このあたりの週は、AWS情報が多く流れそう。仕事の調整を頑張って、基調講演とクラウドデザインパターンを中心に聞いて来ようと思ってます。

参加したら、また色々とまとめを書こうと思います。


2012年8月13日月曜日

AWS EC2へApacheセットアップ、RDSのセットアップまとめ







今回は、私の備忘録のような内容ですが、これからEC2・RDSを使う方のためにも、これまでのセットアップをまとめておこうと思います。

■EC2上にApacheを立ち上げるまで
※AMIは、Amazon Linux 64bit。


【タイムゾーン設定】
# cp -i /usr/share/zoneinfo/Japan /etc/localtime
インスタンスを立ち上げた時点でタイムゾーンは、USになっているようなので。

【デベロッパーツールあれこれ】
# yum install gcc gcc-c++ make zlib-devel openssl-devel mysql mysql-devel curl-devel libxml2-devel libjpeg libjpeg-devel libpng libpng-devel install freetype freetype-devel install libicu libicu-devel install libmcrypt libmcrypt-devel libedit libedit-devel readline-devel libxslt-devel
最初は、ほとんど何も入っていない。

【Apache2.2】
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.22.tar.gz
# tar zxvf httpd-2.2.22.tar.gz
# cd httpd-2.2.22
# ./configure --enable-mods-shared=most --enable-so --enable-modules=proxy --enable-ssl --enable-deflate --enable-rewrite=shared -with-ssl=/usr/local/ssl
# make
# make install

【ついでにS3をmount】
# wget http://s3fs.googlecode.com/files/s3fs-r130-source.tar.gz
# tar zxvf s3fs-r130-source.tar.gz
# cd s3fs
# make
# make install
S3のバケットをマウント
#s3fs s3-bucket-name /hoge -o default_acl=public-read

■RDS関連
文字コードをUTF-8にするあれこれ。
DBをcreateしたあとに、
ALTER DATABASE hoge DEFAULT CHARACTER SET utf8;


DB Parameter Groups を新規に作って、RDS CLIで変更を実施する。
#rds-modify-db-parameter-group hoge --region ap-southeast-1 --parameters   "name=character_set_database, value=utf8, method=immediate"
# rds-modify-db-parameter-group hoge --region ap-southeast-1 --parameters  "name=character_set_client, value=utf8, method=immediate"
# rds-modify-db-parameter-group hoge --region ap-southeast-1 --parameters  "name=character_set_connection, value=utf8, method=immediate"
# rds-modify-db-parameter-group hoge --region ap-southeast-1 --parameters  "name=character_set_results, value=utf8, method=immediate"
# rds-modify-db-parameter-group hoge --region ap-southeast-1 --parameters  "name=character_set_server, value=utf8, method=immediate"

OSからセットアップして来た人は、最初に色々と戸惑うことが多いかも。インストール時に自分で選んでいれていたオプションとかね。

上記、あくまで参考まで。





2012年8月11日土曜日

P.S. don’t get bought by Amazon.なSSD Nodesに興味あり。


今回は、クラウド情報です。
SSD Nodesの人からメールが来て、気になって調べて読んだ記事。

Amazon AWS vs SSDNotes – SSD Nodes Rocks




AWS RDS => 3min 15sec
SSD Lepton => 0.024sec

え?! マジですか。All SSDのHaasですが、ここまで差がでるのかなぁ〜。
SSDとioDriveの比較記事は以前に読みましたが、AWSと他の比較事例はあまり調べてなかった。

サービスメニューですが、
Laptonは、4×3.4GHz 8GB SSDをOS・データ領域に選べて$69.99 Fixed Monthly。
Micro Node のTauは、$17.99 Fixed Monthly。

で、記事の中にある文章を引用。
>SSD Nodes allowed us to essentially run queries in 1/100th of the time of that which they were running on AWS.
...
>P.S. don’t get bought by Amazon.
そりゃ、100倍のパフォーマンスを得れば、そう書きたくなるわ。

ということで、メールに『マジですごいね』って返信したら、
SSD Nodes Founder のMatt Conner氏から即レスがきて、引き続き色々と質問中。

All SSDのHaas、面白そうです。

2012年8月5日日曜日

LL decadeに行って思うこれからの10年








LL decadeに行ってきたよ。
以下のTweetで、会場の空気を掴んでみてね。
「LL Decadeのツイート」をトゥギャりました。@mad_p
LL decade のプログラミング言語処理系を自作してわかったこと & 俺たちの継続的hogehogeは始まったばかりだ!のまとめ: @rmacchoj7

Perl、PHP、Python、Rubyと4言語の重鎮が集まっての講演、言語開発者同士の質疑応答、そしてLTと濃〜い内容のイベント。

■PHPが自虐的www
基調講演でのスーパーギーク miyagawaさん
「転職する時にPHPやってる会社は最初から候補にいれない。DISじゃなく自分がやりたくないだけ。」

PHPエンジニア、高齢化の流れは避けられそうにないねw。4言語ごとに仕事で使ってる年代層を調べたら、確実にPHPが上にいるだろうなぁ〜。PHPはレガシーコードとして、臭いものには蓋をしろ的扱いにされそうだwww

個人的には、これからの10年は、JavaScriptが益々話題豊富で活性化して欲しいと思っているのと、Rubyが2013年2月に2.0をリリースすることで、またRails絡みのアップデートが熱いだろうと。10年もかからない間に、JavaScriptの元でデザイナーとフロントエンジニアのスキルが統合されて、WebCreatorとして深く活躍できる人材がもっと出て欲しいと期待。Ruby人気は・・・止まらなそうだねw

■クラウドワーク
Shibuya.jsの@takesakoさんのLTでちょっと触れた、シリコンバレーでのクラウドワークが盛り上がりなところが響いた。日本でもクラウドワークス、ランサーズとサービスが盛り上がり初めていますからねぇ〜。プロとしてのソロエンジニア、プロジェクトオーナーとしての企業、企業につとめるエンジニアチーム、その関係も10年で大きく変化しそうですね〜。外注・内製にこだわらず、『いいものを作る』ということをどんな形で実現するかですね。

ということで、これからの10年、益々プログラミングを楽しんでいける世の中になりそうです。

2012年8月2日木曜日

エンジニアの成長



久しぶりの投稿は、今日のZIGExN Books開発裏話です。
α版は、私がインフラ・ミドルウェア・アーキテクチャ等々を設計(一部実装w)して、チームに開発してもらったのですが、β'は数週間前の時点で設計はなかったわけで(^^;

調査・設計からすべてお願いして実現したのです。私は、機能の要求事項とアーキテクチャの要点をアドバイスすることに終始。
DB,NoSQL,API,IndexEngine等々、未経験なことを短期間で実現する成長スピードはすごいですね。経済成長の数字よりも、およそ人の成長の方がすごいです。

中心メンバーは、当たり前ですが私より10歳以上は年下。まぁ、あっという間に吸収して抜かれて行きますね。今後が楽しみです。そして、それは強烈なインパクトになるでしょう。

日本のWeb系エンジニアの皆さんは、戦略立てて、ポジション・ブランドをセルフマネジメントしないと。ジョブズが講演したように、『古きものを消し去り、新しきものへの道をつくりだす』で、一気に波にのまれちゃいますね。


仕事しながら、そんなことを感じちゃいました。大きな変化の中にいる感じがして、面白い時代だと思います(笑)