ちょっと硬派なコンピュータフリークのBlogです。

カスタム検索

2014-09-22

OSC広島と中国地方DB勉強会に参加しました。

かねてから予告していた通り、OSC広島と中国地方DB勉強会(第5回)に参加させて頂いた。両方のイベントがこの土日で連続して行われたので、いずれのイベントにも遠方からの参加者がたくさんいて盛況だったように思う。OSC広島ではデモマシンの展示を、中国地方DB勉強会ではスライド(MySQLのトラブルシューティングについて)の発表をそれぞれやらせて頂いたので、今日はその報告をさせて頂こう。

OSC広島に持っていったデモマシン

既にツイッターやFacebookで目にされた方もいらっしゃるかも知れないが、今回展示したマシンのコンセプトは「持ち運べるMySQL Clusterのデモ環境」というものだ。MySQL Clusterを動作させるためのBeagle Bone Black 6台と、コンソール用のRaspberryPi、100Mbpsのネットワークスイッチ、薄型のモバイルモニター、トラックポイントつきのキーボード、電源ケーブルという、デモに必要な機材を全てひとつのアタッシュケースに詰め込んだブツである。いつでもどこでも(電源さえあれば)アタッシュケースを開けば、直ぐにMySQL Clusterの動作デモ環境が出来上がるというスグレモノだ!!


OSC広島では何度もBeagle Bone Blackの電源を引っこ抜き、MySQL Clusterがそのまま動き続けるというデモを披露した。シングルボードコンピュータを利用しているので性能には一切期待できないのだが、ひとつのマシンの電源が物理的に喪失しても、残ったマシンだけで動き続けるデモをするには都合が良かった。マシンが落ちてるというのが見た目で分かるというのは相手に伝えやすい。

さて、このデモマシンの設定について少しだけ紹介しよう。Beagle Bone Black x6はそれぞれ次のような構成になっている。

  • CPU: AM3359AZCZ100(1GHz)
  • メモリ: 512MB
  • ディスク: microSD(16GB)
  • OS: Gentoo Linux

非力なCPUなので、Gentoo Linuxでのパッケージやカーネルの更新は結構辛い。また、マシンの構成はそれぞれ全く同じであるため、今回はdistccを導入してパッケージはひとつのマシンで分散コンパイルするようにし、ついでにバイナリパッケージを作成して、その他のマシンにはバイナリパッケージを適用するようにすることで、若干パッケージの更新作業が楽になったように思う。ただ、いくらdistccでコンパイルを高速しても、やはりAutotoolsの実行には結構時間がかかるので、それほど旨味は大きくないかも知れない。ちなみに、BeagleBone BlackのほうがRaspberryPiよりもかなりCPUは速く、体感でもかなりの差がある。

RaspberryPiのほうは次のような環境でデモを行った。

  • CPU: ARM1176JZF-S(700MHz)
  • メモリ: 512MB
  • ディスク: microSD(32GB)
  • OS: Raspbian
  • デスクトップ環境: LXDE

やはり非力なマシンなので、GUIの操作はどうしてもモッサリ感が否めない。LXDEの前にWeston(Waylandのリファレンス実装)上で動作するMaynardという開発途上のデスクトップ環境を入れて試してみたが、機能的にはまだまだ作りこまれておらず、これを使ってデモをするのは諦めざるを得なかった。ただ、LXDEよりはるかに快適に動作した点については言及しておこう。まだ実用段階ではないが、やはりWaylandの実力は本物だ。各種デスクトップ環境がWaylandに対応するのが楽しみである。

せっかく作ったのでこのデモマシンはこの後も何度かイベント等で披露したいと思う。マシンの実物を見たい!!という人はぜひイベントへ足を運んで頂きたいと思う。(呼んで頂いても構わない。)

MySQLのトラブルシューティングについてのスライド@中国地方DB勉強会

MySQLのトラブルシューティングについて人前で話すのはとても久しぶりである。書籍の方で大事なことは割としっかり書いたので、たいていの場合はMySQLのトラブルシューティングについて知りたいなら書籍を見てくれという一言で済んでしまうからかも知れない。ただし、書籍は基本的にMySQL 5.1の時代に書いたものなので、既に内容が古くなっている部分がある。執筆当時、MySQL 5.6などの昨日については知り得なかったので、今回のスライドではその辺の内容もたくさん含まれている。


今回のスライドでは省いた内容もあったのだが、発表時間をオーバーしてしまった。他の発表者および受講者の方には迷惑をかけてしまった。大変申し訳無い。リハーサルが足りなかったと反省している。

他の発表者の方の発表も非常に興味深いものであった。今回の勉強会では、Oracle Database、MySQL、PostgreSQL、SQL Server、MongoDBについてそれぞれ詳しい人が、トラブルシューティングというお題でスライドを発表するというものだったのだが、これだけのデータベースが、しかも自由なソフトウェアあるいはオープンソースとプロプライエタリが勢ぞろいするというのは、なかなか珍しい光景ではないかと思う。私自身も他の方の発表を聴き、貴重かつ有意義な時間を過ごすことができた。

スライドの補足

スライドでは、MySQLで起こりうる様々なトラブルの概要と、それについての対処法などを紹介している。どれだけそれらのトラブルを迅速に対処できるかは、どれだけ多くの引き出しを持っているかにかかっていると言っても過言ではない。引き出しが多ければ多いほど、対処法が分かるケースも増えるし、類似の問題についての勘も冴えてくる。そういった勘を身につけるにははMySQL自信に対する知識や経験だけでなく、コンピュータシステムそのものについての深い知見や洞察が必要となる。そういったものは一朝一夕で身につくものではなく、結局のところ、日々どれだけ技を磨くかという地道な努力を通じてのみ育まれるのである。

勘だとか技だとか、かなりアナログな単語を用いて語っているが、それは正直言って致し方ない。何故なら、どのようなトラブルがあるのかということは無限の可能性があり、原因を解明したり、あるいは対処法やプログラムの修正に至るまでのアプローチに制限はないからである。つまり、トラブルシューティングとは、誰もが何かの法則に従ってによって出来ることではなく、長年の経験や研ぎ澄まされた勘、そして調査対象への深い洞察があって初めて実現できるなのである。その技を磨く道は、日々の修練しかないのである。

かくいう私も道半ば。日々着実に修行の道を歩んでいきたいと思う。

0 コメント:

コメントを投稿