2008年はMySQLにとっては激動の一年であり、実に様々なできごとがあった。その中でも特に大きなニュースといえば、
Sun Microsystems IncによるMySQL AB買収。
Drizzleプロジェクト立ち上げ
MySQL Clusterの分離
MySQL 5.1リリース
MySQL User Conference Japan 2008開催
だろう。UCJ2008の資料はイベントのホームページからダウンロードできるので、是非入手して見て欲しい。
http://jp.sun.com/company/events/mysql/report.html
この中で、個人的にもっとも
刺激的 なニュースを挙げると、MySQL Clusterの分離だろう。
今日は仕事納めだったので、一年の締めくくりとしてMySQLにおけるソートの話でもしようと思う。
今日は仕事納めだったので、一年の締めくくりとしてMySQLにおけるソートの話でもしようと思う。
DYが要らない。本当に要らない。
なんでMacOS Xではldの検索パスを指定する環境変数が
DYLD_LIBRARY_PATH なんだ。本当にDYが要らない。
ちょっとはまってしまったじゃないか。。。
最近、とある友人とGPLや著作権、そしてソフトウェアライセンスなどについて議論した。オトコのスタンスとしてはリチャード・ストールマン先生のありがたい教えに従い、「私有ソフトウェアライセンスというのはよくない」という見解を貫いた。そして友人は「ソフトウェアに関しては一部の著作権は許容するべき」という立場をとり、お互いに意見を交換しあったのであった。
最近はオープンソースという言葉が流行ってしまっているが、これはフリー(自由な)ソフトウェアを愛する人達にとっては嘆かわしいことである。特に問題なのが、フリーソフトウェアとオープンソースソフトウェアが同じものだと考えている人が多いということだ。
GPL?ああ、それってオープンソースのライセンスですよね?
などという言葉を耳にするたび
テメーの耳は塞がってんのか?!ドリルでグリグリ耳の穴かっぽじって直径5倍に広げてから耳元に拡声器を押しあてて24時間寝かさず丁寧に説明したろか?!!
などと思ったりはしないが、しっかりと両者違いを認識してもらいたいとは思わずにはいられない。
GPLソフトウェアを用いてビジネスを行うモデルの一つに、
デュアルライセンス というものがある。デュアルライセンスとは一つのソフトウェアをGPLとその他の私有ライセンスの両方でリリースするということを意味する。ちょっと意外かも知れないが、ソフトウェア配布時に同梱するライセンス条項さえ変更すれば、
一つのソフトウェアを異なるライセンスでリリースすることに特に制約はない。 (ちなみに、デュアルライセンスはMySQLがとっているビジネス形態である。)
デュアルライセンスモデルを用いると、次のようなことが可能になる。
GPLライセンスのメリットを最大限に享受して、ユーザの拡大やソフトウェア品質の向上を期待出来る。
私有ソフトウェアにはGPLソフトウェアを組み込めないので、そのようなユーザには私有ライセンスバージョンを販売することができる。
私有ライセンスを組み込むのは、OEMとも呼ばれるビジネス形態である。一見すると
「なんだ?!これは素晴らしいじゃないか!!デュアルライセンスにすれば万事解決!!」 と思うかも知れないが、デュアルライセンスにはいくつかの問題点がある。
今日も引き続き、GPLソフトウェアを用いてビジネスを行うことについて語ってみたいと思う。
GPLソフトウェアに対する批判的な意見の中に
「せっかく自分が開発したものを他の人に開放してしまったら利益が損なわれるのではないか?」 とか
「自分たちが投資して開発したのだからその成果を手放すことは企業利益に反する」 ということを耳にすることがある。これらの意見は短期的に見れば正しいかも知れないが、長期的に見れば社会全体の利益を損なうだけでなく、自らの利益も損なってしまうだろう。
最近はオープンソースソフトウェアの勢力が拡大してきている。LAMPに象徴されるサーバソフトウェアしかり、(サーバ版でない)UbuntuのようなデスクトップOSしかり、Androidのような携帯プラットフォームしかりである。携帯プラットフォームといえばSymbian OSもオープンソース化するそうである。
(SymbianOSはどのようなライセンスなるかが気になるところである。)
現在メルボルンに出張中のオトコである。
ギークでキュートでマカーな同僚Trent(オーストラリア人)から便利なツールを教えてもらったので紹介したい。そのツールとはiStat Menusである。
オトコたるものどのよう変化にも柔軟に対応しなければならない。
法律が改正されてしまったせいで、
祝日の判定がとても面倒臭いことになってしまっている 今日この頃である。祝日の判定は、一般的にはアプリケーションのレベルでおこなわれる場合が多いが、祝日の日付は年によって違うし随時変更される可能性があり、もしも日付のデータをハードコードなどしてしまっているような日には
祝日の日程が発表されるたびにアプリケーションを書き換えないといけないという羽目になってしまうから最悪である。 祝日のデータも一極集中的にデータベースで管理すると良いかも知れないが、その実装方法がマチマチであったりすると、どこにどのようにして祝日のデータを反映させなければいけないのかという管理が大変になり、結局は運用面の手間はそれほど変わらないということになる。
今日は次期バージョンであるMySQL Cluster 6.4の新機能について紹介する。いずれも魅力的な機能であり、よりMySQL Clusterが使いやすいものとなっている。少しでも新規ユーザにとっての障壁が下がればと期待している。
MySQL Cluster 6.4の最新のビルドは、bzrで入手することができる。詳細は以下のページに書いてあるので参照してほしい。ただし、6.4は本当に開発中のビルドなので、
決して本番環境では使わない ように注意すること。
(しかしオトコには時として無謀な挑戦も必要なので、自己責任でやってやるぜ!!という人を止めはしない。)
MySQLがなぜこれほどまでに普及したのかというのはその柔軟性や性能の高さ故であり、それらはストレージエンジンという仕組み無しには語れない。そして、MySQLのストレージエンジンといえばその代表格はInnoDBであろう。即ち、
InnoDBを制するものは世界を制す!! と言っても過言ではないのである!!
(世界は言い過ぎだけどな>俺)
InnoDBについて、おそらくアジアで・・・もしかすると世界でも5本の指に入るであろうほど極めたオトコが日本に居る。それが
MyNA でもお馴染みの木下氏である。
OpenLDAP 2.4.12において、MySQL Clusterがバックエンドとして追加された。Berkeley DBと組み合わせて利用されることの多いOpenLDAPであるが、MySQL Clusterがサポートされることにより選択肢が広がったと言える。興味のある方は是非試していただきたい。
MySQL Clusterには、バージョン5.1からディスクテーブルという機能が備わっているが、コイツが少し癖のあるやつなので今日はそのポイントについてまとめてみたい。
オトコたるものたまには真面目な話もしなければならないのである。
注意点。ディスクはメモリに比べてすごく遅い。以上!!
MySQLユーザコンファレンス2008も終わり、一息つきたかったのでPCのリフレッシュを行った。
オトコたるもの、リフレッシュにも真剣に取り組まなければならぬ!!
何をワケの分からないことを言ってるのか?!と思ったことだろう。高校時代のクラスメートによる次のような格言がある。彼は非常に学問が優秀で、とにかく多くの時間を勉学に費やしたのだ。その彼のひとこと。
「あー、数学疲れた。だから歴史で休憩しよう。」
最近またまた更新が滞っている。今度は一体なんだ?!というと、MySQLユーザコンファレンス2008というイベントの準備をしているからだ。
MySQLユーザコンファレンス2008 10月30日、31日開催。 http://jp.sun.com/company/events/mysql/ セッションでしゃべる予定であり、そのための準備をしこしことしているわけである。
どれ、ひとついつも変なテンションでなんかしゃべってるオトコの顔でも見物しに行こう などと思った方 MySQLの最新情報に興味がある方はぜひ来場して欲しい。上記のURLから事前登録すれば無料である。
次期バージョンのMySQL Cluster 6.4には
ndbmtd というプログラムが含まれる予定である。ndbdはおなじみのプログラムであるが、ndbmtdとは一体何者だ?!というかmtって何?!と思われることだろう。
ndbmtdのmtとはズバリ、
マルチスレッド である。つまりndbmtdとはマルチスレッド版ndbdなのだ。
えっ?!ndbdってシングルスレッドプログラムだったの?? って思ったね、そこの貴方!!
実はそうなんです。シングルスレッドだったんです。
手元の仮想マシン上のUbuntuにOurDeltaをインストールしてみた。インストール方法は
OurDeltaのホームページ にも掲載されているが、以下に日本語で紹介したい。
1. apt用の公開鍵を更新する。
2. OurDelta用のリポジトリを/etc/apt/sources.list に追加する
または
※いずれか一方にしないとダメだヨ!
3. リポジトリ更新
4. パッケージ追加 1
2
3
4
5
6
shell> apt-get install mysql-server
shell> apt-get install mysql-server-5.0
shell> apt-get install mysql-common-5.0
shell> apt-get install libmysqlclient15off
shell> apt-get install mysql-client-5.0
shell> apt-get install libmysqlclient15-dev
以上、とても簡単である。が、オリジナルのMySQL 5.0のパッケージ名を
ガッツリ上書きしてしまうのはいかがなものか 。。。
基本的にMySQLに対してパッチをあてただけなので、使い方等は同じである。興味のある人はぜひ
人柱になってみよう!
OurDeltaというプロジェクトが発足した。
http://ourdelta.org/
OurDeltaはMySQLに携わっているサードパーティ企業(連合)が主催しているプロジェクトであり、その主たる配布物はMySQLのブランチ(機能拡張版)で、MySQLコミュニティの間では
話題沸騰中のプロジェクト である。OurDeltaの初版はMySQL 5.0.67に対して、PerconaのパッチとSphyinxストレージエンジン(全文検索改良版)を搭載したもで、それほど大胆な改造が行われているわけではない。なので、ブランチというと大げさかも知れないが、GPL版のMySQLを元にしたプロジェクト(派生ソフトウェア)の名前である。
先日のDevMeetingで見てきたものの中で、最も興味深いのは
MySQL Clusterのオンラインノード追加 であろう。DevMeetingではJonasができあがっているところまでデモをしてくれたのだが、まったくもって素晴らしい。彼のブログ(下記)に詳細が載っているが、あえてここでも紹介したいと思う。
http://jonasoreland.blogspot.com/2008/08/status-of-createdrop-nodegroup.html
これまでMySQL Clusterを使わない、もしくは避けてきたユーザが口を揃えて言うセリフは
「だってデータノードを動的に増やせないでしょ?!」 であった。しかし、近い将来にリリースされるバージョンでは、オンラインノード追加という機能が追加される予定である。これは平たく言うとオンラインでデータノードを追加する機能である。
(そのまんまやんけ!) 今のバージョン(6.3.x)では動的にデータノードを追加することは出来ないのだが、もうすぐすれば
もう「データノードを動的に増やせないから」なんて決して言わせはしない!! のである。
現在のバージョンのMySQLでは、UTF-8を完全にはサポートしていない。
というと、そのことを知らなかった人は驚くかも知れない。UTF-8は1文字あたり1〜4バイトのサイズを消費する可変長文字コードなのだが、MySQLのUTF-8では4バイトを消費するようにマッピングされている文字を格納したり、取り扱ったりすることが出来ないのだ。(厳密にいうとUTF-8では6バイトまで定義できることになっているが、文字の割り当ては4バイト目までである。)MySQL 5.xまでで対応しているのは、3バイトにマッピングされた文字までである。
Solaris 10がリリースされてから随分経つが、目玉機能の一つであるSMFがあまり利用されてないように思う。理由は恐らく次のようなことからだろう。
ドキュメントが乏しい(または難解である)
XMLを編集しなければならないのが煩わしい
既存の仕組み(init.d)でも別に問題がない
しかしSMFは使いこなせば非常に有用なツールである。最も便利だと思うのは、プロセスが停止してしまった時に自動的に再起動してくれる点だ。世の中のすべてのプログラムにはバグがあり、バグによりプロセスが停止することは世の常である。従って、システム管理者たるものプロセスをすぐさま再起動するような仕組みを設けていなければならない。
既存の仕組みではそのようなことをシステムレベルで実装することができず、従って独自のプロセス監視方法などを導入する必要があった。しかしSMFを使えばその仕組みを比較的簡単に実装することができる。SMFはOpenSolarisでも利用可能であり、SMFにサービスを対応させる価値は大いにあるだろう。
DevMeetingで感じたことなのだが、MySQLの開発者にあまり若い人は居ない。日本では
「プログラマ35歳定年説」 などという俗説がまことしやかに囁かれているが、
逆に35歳以下のプログラマを見つける方が難しい という様相である。かのJim Starkey氏などは60歳の手前であるが、今でも現役でプログラムをガンガン書いている。
(正直言って驚異的ですらある。。。)
Brian AkerがDevMeetingで実際に使ったスライドをブログで公開している。
http://krow.livejournal.com/614430.html 分かりやすくDrizzleを紹介してくれているので興味のある方は是非見て頂きたい。DrizzleとMySQLの違いや、プロジェクトを立ち上げるに至った動機、そして開発の指針などが説明されている。
ただし英語なのでそこは我慢するべし!! 日本ではあまり注目されていない感があるDrizzleであるが、MySQLの開発者達は普段のフラストレーション
(MySQLサーバの最大の開発目標は安定性であり、よく言えば実験的な要素がないので刺激に欠けるのかも?) のせいか、かなりの多くの開発者達がDrizzleに
お熱 である。そこで講演を終えたBrianがひとこと。
Drizzleで遊ぶ前にまずは自分の仕事をこなすべし!!
しばらくBlogの更新を怠っていたが、実はこのほどラトビアのリガというところへ出張していたのである。ラトビアなんていう国(おそらくほとんどの日本人が知らないであろう・・・)へ何をしに行ったのか?というと、
MySQL Developer Meeting 2008 (略してDevMeeting。だたデブ ミーティングではない。) という恒例行事に参加してきたのである。その様子は
GiuseppeさんのPOST を見て頂きたい。MySQLは元々スウェーデンの会社だったので開発者はヨーロッパ人が多い。なので彼らにとって便利な場所をチョイスすることになるわけであるが、日本人の俺にとっては大変な場所である。コペンハーゲン経由の便で片道で丸一日ほど必要であった。エコノミークラスでの長時間のフライトは疲れた!!
最近注目度ナンバーワンのmemcachedであるが、そのソースコードはシンプルでありビルドも非常に簡単なのだが、リンクするべきライブラリがただ一つだけ存在する。それが
libevent である。
http://monkey.org/~provos/libevent/
libeventとはその名の通り
イベント通知ライブラリ である。と言っただけではなんのこっちゃ?!と思われることだろう。別の言い方をすると
非同期I/Oライブラリ てな感じだろうか。
※ オトコたるもの滅多なことでそもそも論をしてはいけない が、非同期I/Oについて語らねば先に進まないので致し方なしとする。
Linuxシステムプログラミング Robert Love (著)
Linuxにおけるシステムコールやglibc関数群の使い方について分かりやすく説明してくれる本。Linuxがユーザアプリケーションに提供するサービスがどのようなものかを理解するのに役立つ。初心者から熟練者まで幅広い読者層におすすめ。特にLinuxプログラマにとっては必読の本であると言える。
古典的なUNIXのインターフェイス、そしてLinuxによる独自拡張、POSIXで定義されている高度なインターフェイスの比較がおもしろく、すっきりとまとめてくれていて分かりやすい。復習にももってこいの一冊!!
サポートエンジニアに捧げる歌。
Children Of Bodom: Needled 24x7 サービスを止めないためには24時間臨戦態勢でなければならない!!オトコたるもの
いつでもどこでも24時間 ビンビンであれ!!
まさにサポートエンジニアのイメージにピッタリである。
なぜこんなに回転しているPVなのかは謎・・・。
ダウンタイムを短縮すると一口に言っても色々ある。
オトコたるとも色々という言葉でお茶を濁してはいけない のでブレークダウンしてすると、
不具合が発生した場合に原因を調査する。
不具合の一時的な回避方法(ワークアラウンドという)を提案する。
復旧までの手順が複雑である場合などに補佐する。
製品の欠陥(バグ)が見つかった際に開発部隊に連絡していっしょに解決まで導く。
などを行うのである。
俺の仕事はサポートエンジニアである。
サポートというと、以前
「サポートセンターの秘密」 などというサイトがあり、世間ではあまり良い印象を持たれてないのではないかと思う。サポートの仕事というのは甘いものではないが、それは決して「サポートセンターの秘密」で描かれているような
アンポンタンなユーザを相手しているから ではない。サポセンの秘密では対個人のサポートを描いているが、それよりも大事なのは対企業のサポートであり、アンポンタンなユーザを相手にしているのとは別の意味で、非常にシビアな世界なのである。
ふと、Drizzleのプロジェクトページを見ていたのだが、ちょっといただけないものを見てしまった。
https://translations.launchpad.net/drizzle なんと、日本語の翻訳件数が0件・・・orz
他の言語は結構進んでるのに。
こんなことではイカン!!と思い、勢い余って30件ほど翻訳した が先はまだまだ遠い。
全部で1300件以上ある・・・。 翻訳した内容はBSDライセンスとして扱われることになるので、翻訳に参加すればDrizzleに貢献した人として名前を残すことになる。Drizzleのソースコードのどこかに名前を刻み込みたい人は是非参加を!!
ITMediaの記事より
IBM、“MSフリー”なデスクトップPC提供へ http://www.itmedia.co.jp/news/articles/0808/06/news042.html オトコは記事が多少古くても気にしてはいけない。思い立ったら吉日。迷わずBlogするべし!! 往年のギークならこのニュースを読んで思い浮かべるのは
OS/2 の存在ではないだろうか。OS/2はかつてIBMとMicrosoftが開発したOSである。だがMicrosoftはOS/2から離れてWindowsを開発し、Windowsは爆発的なヒット商品となった。一方でOS/2は競争に敗北し、
IBMは煮え湯を飲まされたのだ。 そしていま、MicrosoftはVistaのおかげでこれまでにない危機に瀕している。このタイミングでIBMがMSフリーのPCを提供するその裏には・・・
積年の恨み晴らさでおくべきかァッ!!!
という声が見え隠れする。
気のせいだろうか・・・。 IBMはIT業界の巨人であり、影響力は絶大である。そのIBMがMSフリーのPCを推進しすることには大きな意味がある。IBMが出すからこそ、MSフリーのPCはMicrosoftにとって驚異なのである。
ちなみにオトコはMacユーザーであり、仕事では完全にMSフリーであるがまったく問題なく業務を遂行できている。そのことを鑑みると、MSのソフトウェアは業務に必須のコンポーネントではないと考えられる。(ちなみにオフィスソフトはNeoOfficeを利用している。)したがって、IBMの取り組みはある程度成功するのではないだろうかと予測している。
MSフリーの先には真のフリー、つまり
自由 が待っている。ぜひIBMには頑張っていただきたい。
CNetの記事より
出会い系サイト関連事件、2008年上半期は減少--警察庁調査
http://japan.cnet.com/marketing/story/0,3800080523,20378573,00.htm
だそうだが、ちょっとこの報告書は胡散臭い。とても作為的なものを感じる。
今日、自分がやった日本語から英語への翻訳をレビューしてもらったところ、「口座残高」を
outstanding amount と翻訳しているのは不自然だから
balance に変更するべきだという指摘をもらった。なるほど、アルクによると
balance というのは借金の残高などにも使用できるらしい。
http://eow.alc.co.jp/balance/UTF-8/ 話は変わるが、ここ数年やたらと消費者金融のCMが増えているように思う。そして決まって出てくるキャッチフレーズは
「バランスが大事」 である。今までは特に意識せず見ていたのだが、なるほど、
balance という言葉の意味を考えると
「もっと借金の残高を増やせ」 というメッセージを含んでいるということだろうか!!などと他愛もない深読みをしてみるオトコであった。
消費者金融のお世話にならずに生きていきたいものである。
ついにここまで(涙)——1TバイトHDDがまさかの1万円割れ (1/4) http://plusd.itmedia.co.jp/pcuser/articles/0808/03/news001.html だそうだが、
俺も涙である!! つい先日、1TB HDDを2台を1台15,000円ほどで買ったばかりなのに!!!・・・と思ったら、10台限定の特別価格だそうな。いや、それでも凄い。限定とはいえ1TBが1万円で手に入る時代になったのである。安い。これならGmailの保存容量が5GBでも頷ける。いや、もっと増えても不思議ではない。
記事によるとOCZの128GバイトSSDの価格も載っている。約8万円程度であるが、SSDにしては格安である!!スゲー安い!!本気でパフォーマンスを追求するユーザなら8万円ぐらいズバ!!と出すべきだろう。しかしSSDは順調に価格が下がってきているし、容量は倍々で増えているため、オトコ的にはもう少し様子見である。
様子見なのは決して
1TB HDDの値下がりで腰が引けてしまったから ではないのであしからず!!!
先日、Drizzleという名のプロジェクトが発表された。これはMySQLをベースにした新しいブランチであり、主にバージョン5.0で行われた拡張をそぎ落とし、パフォーマンスに特化したものを目指している。そして、マイクロカーネルアーキテクチャを採用することにより、必要な時だけ機能をプラグインで改めて追加できるようになるという。
MySQLの大改造であり、Brian Aker氏をはじめ開発者たちにとってはまさに新しいおもちゃであろう。
Drizzleがどういうものかについては、Mixiの前坂氏のBlogが分かりやすいので参考にしていただきたい。
http://alpha.mixi.co.jp/blog/?p=189
オトコたるもの三十路を越えたらダジャレである。
近頃データの容量が増えて、PCのHDDがいっぱいになってきた。そこで対策を講じるために色々と思案しまくっていたところ、せっかくなので・・・
複数のPCからデータを共有 したい。
データ共有のためにPCを起動しっぱなしにするのは電気代が勿体ない。
HDDが故障してもデータを失わない ようにしたい。
というニーズが俺の中でムクムクと育ってきた。このようなニーズを満たすのはやはり
NAS だろう、ということで物色していたのだが、つい先日俺のニーズをピタリと満たすNASが発売された。それは・・・
ITMediaのニュースより
Texas Memory Systems、RAMによるSSD製品を開発 http://www.itmedia.co.jp/news/articles/0807/24/news022.html だそうな。
なんのこっちゃ?!と思ってしまい、技術資料を散見してみた。どうやらこの製品は・・・
バッテリーバックアップつきのRAMにデータを保存 16GB RAMボードをRAID5で冗長化 バックアップ用のフラッシュディスクを内蔵 ホストとの通信はファイバチャネル という感じのシロモノらしい。非常に興味をそそるが、このような仕組みを見る限りでは非常に高価なデバイスのように見受けられる。Texas Memory Systemsのサイトを見ても価格は「セールスに問い合わせて下さい」としか書いていない。一体いくらするんだろうか。当然のごとく企業むけであるのだろうが、とりあえず
価格.comには載っていない ようだ。
(あるわけねーって。。。) メモリにデータを保持するわけだからレスポンスも帯域も速いに違いない。このストレージを使ってMySQLのベンチマークでもやりたいものである。
(それよりこのデバイスを使ってるユーザの感想を聞いてみたいので、買ったよ!という人が万が一居れば一報いただきたい!!!) 構造面では、とにかくパフォーマンスに特化しているが、しっかりと運用面まで考えてバックアップ用のフラッシュディスクを備えているところが心憎い。
仕様を見る限りでは
オトコーー!! なデバイスである。
しばらく更新が空いてしまった。オトコたるもの言い訳をしてはいけないが、決してさぼっていたわけではない。記事の執筆を頼まれたため、そちらにかかりっきりになっていたのだ。書いていたのはコレ↓
ThinkIT2008年7月特集【データベース夏の陣】MySQL Clusterを試す!
http://www.thinkit.co.jp/article/95/
およそ一ヶ月で5回分も書かなければならなかったのは大変であった。ブログの更新が止まってしまったのは不本意であるが、オトコたるもの引き受けたからには完遂しなければならぬ!!そんなわけで頑張って記事を書いたので
少しでも興味を覚えたら記事を読んでいただきたい。
CNetの記事によると、Macのシェアが急速に伸びているそうだ。
Macのシェア、急速に拡大中--Vistaは振るわず http://japan.cnet.com/marketing/story/0,3800080523,20376589,00.htm これは自分にとっては
至極当然 なことのように思える。なぜならば・・・
Vistaが使いづらい。 特にメモリ消費量とモッサリ感はいただけない。MacOS Xが使いやすい。 特にSpacesとタイムマシーンの使い勝手は最高である。(どちらもWindowsにはない機能である。) OSSやWebが普及した ことにより、Windowsでなくても問題がないようになってきた。Webが普及したわりにはInternet Explorerの出来がイマイチである。 他のブラウザ(Firefox/Opera/Safari etc)の出来がイイ。 Macの価格が昔に比べると手ごろ になってきた。正直Macで困るのはゲームが少ないぐらいであろう。PCゲーマーは当面Windowsにかじりついているだろうが、それ以外のユーザーは
Macでも何不自由ない世の中になりつつある という、ただそれだけの理由が数字に表れているということだろう。
エンジニアたるもの想像力が必要だ。
複数のmemcachedサーバーを起動させてキャッシュを分散させるような運用では、各データをそれぞれどのサーバーにキャッシュするかを自動的に選択する必要がある。そのアルゴリズムとして、
コンシステントハッシュ法 というものがあるのだが、これがなんとも見事なアルゴリズムなのである。
最近注目しているHP 2133 Mini-Note PCのレビュー記事がPC Watchに掲載されていたので読んでみたのだが、これがさすがの俺もびっくりたまげる内容であった。ここまではっきりと書いていいのか?!
これが問題の記事。
http://pc.watch.impress.co.jp/docs/2008/0610/hotrev364.htm HP 2133 Mini-Note PCは、VIA C7 1.6GHzまたは1.2GHzを搭載したオトコ前なPC であり、見た目がスタイリッシュな上に価格が手ごろで
かなり俺の食指を動かしている。 ただしIntel Core2などを搭載したメインストリーム系のノートPCと比べると非力なことは否めない。この記事ではデフォルトでインストールされているVistaと、XPへダウングレードして使ったときの印象についての比較が行われているが、
はっきり言ってXP圧勝である 。 以下は記事からの引用。
Windows XPへのダウングレードでHP 2133の印象が一変 Windows XPを入れたHP 2133はかなり速い。Windows Vistaでは重いと感じていた さまざまな操作を快適に行なえる。 HP 2133を購入するのならOSはWindows XPにダウングレードするべきだ と感じる。 まとめると、HP 2133はWindows XPへのダウングレードによって、まるで違う製品か のように高性能なミニノートへと生まれ変わる。 本当にVistaのメリットは何なのだろうかと思う。MSよ、本当に今月末でXPを販売中止にしてしまってもいいのか?!!
(逆だろ、逆?!Vista終了でいいでしょ?!!)
オトコたるもの、
ご利用は計画的に行わなければならない。 (何の?!) MySQLサーバーを高負荷に耐えるよう動作させるためには、システムメモリの有効活用が必須である。当然のごとく
メモリはディスクより高速に動作する ので、ディスクアクセスが減ればI/Oがボトルネックになっている場合の性能は向上する。MySQLには調節できるメモリ関連のパラメーターが多数あり、またそれらはデフォルトでは適切な値には設定されていない。(小さすぎる。)MySQLが自動的にバッファを割り当てて調節してくれれば非常に楽なのだが
世の中そんなに都合のイイものはない。 とはいえメモリサイズの見積もりは非常によく聞かれるTopicなので俺のWikiにまとめてみた。
MySQL Practice Wiki->MySQLサーバが消費するメモリ サーバーパラメーターを調整する際に参考にして欲しい。オトコもサーバーもたまには現状の見直しが必要である。
ちょっと古いけどCNetの記事より、
「Vista移行への機は熟した」--MSが企業ユーザーへのアピール強化
だそうな。
どうしてこの時期にこんなアピールを行うのか。ちょっと考えれば分かることだが、それは今月いっぱいでXPがローエンドPC向けを除いて販売終了になってしまうからであろう。Vista移行への機が熟したのではなく、
マイクロソフトにとっては待ったなしの状況 になってるだけであり、それを「機は熟した」と言い換えるのはまさに理論のすげ替えであると言える。
(自分はこのようなインチキPRが大嫌いであります!)
SunがSSDとZFSを組み合わせた製品を出すらしい。
http://www.itmedia.co.jp/news/articles/0806/04/news064.html
SSDの価格はまだ高いので、安価なHDDと組み合わせるそうだ。SSDとHDDを組み合わせたハイブリッドなストレージプールが利用できるそうだ。
(ストレージプールとは、ZFSがディスクを管理する単位のこと。LVMでいうところのVGのようなものと言えば分かりやすいだろうか。)
最初の書き込みをSSDに行い、バックグラウンドでHDDにコピーするというやり方が取られるだろうと想像する俺であるが、他に実装方法があるなら聞いてみたい。しかしもしそうならNetAppのNVRAMと似たような使い方になることが予想されるので、
またもやSunとNetAppの起訴合戦が勃発するだろう。。。南無三!!!
VIAの新CPUの製品名がNanoに決定した。
こいつのスペックを簡単に見てみると、
コア数:1
命令セット:64ビット
クロック周波数:1〜1.8GHz
TDP:5〜25ワット
プロセスルール:65nm
FSB:800MHz
L2キャッシュ:1MB
という感じである。
PC watchの記事より、
だそうな。
え?待てよ?
普通逆だろ!!?
オトコもサーバーもダウンタイムは許されない。
サーバーにおいて手軽にダウンタイムを低減するための仕組みと言えばクラスタリングである。しかしながらクラスタリングはかつて、それなりに高価なソリューションであった。なぜならば、以下のような理由があるからだ。
メインフレームの置き換えとして利用するパターンが多いので客層がいい。(お金をたくさん持っている。)
共有ストレージ(主にSCSIやファイバーチャネルのRAIDアレイ装置)が必要である。
市販のクラスタリングソフトはライセンス料が高い。
しかし月日はながれ、最近はこういった事情は変わりつつある。事情を変えたのはズバリ、フリーオープンソースソフトウェア(FOSS)によるクラスタリングソフトである
Heartbeat 、および共有ディスクを必要としない共有ストレージソリューションである
DRBD だ。今日はDRBDについて少し語ってみたいと思う。
いつもの調子で。
先日、Brian Akerとミクシィの前坂氏によるmemcachedのセミナーがあった。
実践で使用する上での話や開発最前線の話が聴けたため、セミナーは非常に盛況であった。筆者にとっても非常に勉強になる内容だった。
セミナーの資料はBrian Aker氏のサイトから入手できる のでセミナーに参加出来なかったひとはこの資料を読んで自習して頂きたい。
が、いかんせん氏のスライドはパッと見ただけではなんとなく分かりづらいように俺は思う。なぜだろうか?それはきっと図がないからだ・・・と勝手に想像する。オトコたるもの、時には勝手な憶測で突き進むのもアリだ。ちなみにBrianのスライドはほとんど要点の箇条書きになっている。これでは解説がないと、特に新規にmemcachedやMySQLを学習している人たちには分かりづらいだろう。
というわけで氏に代わり、memcachedがどのように既存の仕組みを置き換えるかについて絵を描いてみたので以下に紹介する。
(余談だがMySQL ClusterのStewert Smith氏はパラパラ漫画のようなスライドを描く。Brian氏のプレゼントはまったく毛色が違う。ギークという人種は本当に個性豊かだ。)
Mixi や
Facebook 、Wikipediaなど、大規模なサイトで
memcached を利用する例が増えている。
マイコミジャーナルのレポート でFacebookの事例紹介があるのだが、なんとmemcached用のサーバは805台で、メモリ容量は15TBにもなるそうだ。ディスクではなくメモリだけで15TB!である。アクティブユーザーの数は7000万人もいるそうだから、それを捌くとなるとハードウェアも凄い規模にならざるを得ないのである。
このように大規模サイトを支えるmemcachedであるが、そのプログラムの中身は一体いかなるものなのであろうか。memcachedは
http://www.danga.com/memcached でソースコードが配布されている。現時点での最新版は1.2.5である。ぜひダウンロードしてみてほしい。そしておもむろにファイルサイズを確認してみてほしい。するとあることに気づくだろう。
DTraceで何かをトレースするときはProbe名を限定してヒットするProbeを減らすべし!述語(predicates)による条件判定のみで解決しようとしてはいけない。さもなくば、トレースする対象のプログラムがスローダウンしてしまうことだろう。
努々次のようなDプログラムを書いてはならない。
オトコたるもの、30を過ぎれば健康に気をつけなければならぬ。健康と言えば医療であり、ハイテク医療と言えばCTスキャンに代表される非破壊検査である。そしてコンピュータの世界で非破壊検査といえば、現時点ではDTraceをおいて他にない。
DTraceについては以前の投稿(その1
賢いdtraceの使い方 、その2
Dtrace on Leopard )でも紹介したが、今回はユーザー空間のプログラムを、DTraceを使って追跡する方法について紹介する。
以前にmod_dbdについてどういうものかを紹介した が、今回はMySQLを用いたmod_dbdの設定方法について説明する。
MySQL用のmod_dbdドライバを利用するにはApache httpd Serverをソースからビルドしなければならない。以前のバージョンのApache httpd ServerのソースコードにはMySQL用のmod_dbdドライバ(apr_dbd_mysql.c)が同梱されていなかったため、別途追加が必要であった。(ダウンロード元は
ここ。 )その原因はライセンスの関係であり、Apache LicenseとGPL(MySQL)が非互換であったためである。確認した限りでは、Apache httpd Server 2.2.6にはapr_dbd_mysql.cは同梱されていない。2.2.8には同梱されていることを確認したので、この間に何らかの対処がなされたものと考えられる。ソースコードにコメントとしてLICENSEがApache License 2.0であるという記載があるが、以前のものはMySQLのGPL FOSS Exceptionが適用されていたのでこの辺の変更があったようである。
我が家のネットワーク事情には一つ大きな問題がある。それは、ネットワークに接続する機器が複数の部屋に散らばっているということだ。回線はNTTフレッツ光を利用しており、居間にルータを置いている。が、しかし俺が普段PCを利用したり
http://www.mysqlpracticewiki.com/ のサーバ(HFX Micro)を置いてある書斎的な部屋は廊下を隔てたところにある。
だったらワイヤレスで繋げばいいだろう?!と思われるかもしれない。確かにそうだ。居間にはワイヤレスのアクセスポイントを設置しており、Laptopは部屋を隔てていても問題なくワイヤレスでで接続できる。しかしSolaris 10を搭載したHFX Microはそうはいかない。HFX Microのネットワークインターフェイスは有線LAN(Planex UE-200TX)なのだ。廊下を隔てた部屋にイーサネットケーブルを敷設するわけにはいかない。
(妻から猛反対を受けるだろう。)
先日立ち上げた
MySQL関係のWiki の設定について。
俺の場合、とりあえず自分以外の人が更新を行うことを想定していない&されたくないので、以下の設定を施した。
全ページを編集できるのはログインしたユーザだけ
新しいユーザアカウントの作成は不可
こういう設定をしておけば、俺以外の人がページを編集することは出来ない。メディアウィキの基本的な設定はLocalSettings.phpで行うが、上記の設定をするには以下の記述をすればOKだ。
PCREのビルドに手こずったので防備録。
1
2
3
4
5
6
7
8
9
10
11
shell> ./configure --build=x86_64-solaris && make
:
(snip)
:
ld: fatal: library -lgcc_s: not found
ld: warning: file /usr/sfw/lib/amd64/libstdc++.so: attempted multiple inclusion of file
ld: fatal: File processing errors. No output written to .libs/pcrecpp_unittest
collect2: ld returned 1 exit status
gmake[1]: *** [pcrecpp_unittest] Error 1
gmake[1]: Leaving directory `/export/home/mikiya/src/pcre/pcre-7.6'
gmake: *** [all] Error 2
というエラーが出たらおもむろに
とファイルを編集するべし。そしてlgcc_sとなっている箇所をlgcc_s_amd64にしてmakeを再開する。これでコンパイルが通る。
オトコたるもの、時にはコネクションも大切である。
俺のメインの端末はMacBook Kuroである。当然OSは
Leopard (10.5.2)が搭載されている。OSXのGUIはAquaと呼ばれる専用のものであるが、X11.appのおかげでX Window System互換のアプリケーションも実行可能である。
X Window System(以下たんにXと呼ぶ)には遠隔のホストにGUIを転送するという機能が、なんと設計当初から備わっている。イメージ的には以下のように画面の描画を遠隔ホストにリクエストする仕組みだ。遠隔ホストの指定がなければ、同じホストにあるXサーバプロセスに描画のリクエストが出される。
頑張って絵を描いてみたが、
WikipediaのX Window Systemのページ を見た方がが分かりやすいかも知れない。
オトコたるもの、優柔不断は禁物である。
しかし世の中即断即決で済む問題ばかりではない。その最たるものが
Linux ディストリビューションの選択だろう。Linuxディストリビューションに関して、
ZDNet Japanに興味深い記事 が掲載された。これは参考になる!
オトコたるもの、仕事道具は大切に扱わねばならぬ。
かなり以前に購入して使い込んだノートPCが、残念なことに数ヶ月前に起動しなくなってしまった。メインのPCは他にある(MacBook Kuro)し、色々試したが改善しなかったのでしばらく眠らせてあった。そのノートPCのスペックと状況は以下の通り。
モデルはソニーVAIO-Z
CPU:Pentium M 1.5GHz
RAM:1GB
HDD:60GB
モニタ:SXGA+(1400 x 1050)
キーボード:こだわりのUS配列
購入:2003年
OS:Windows XP Professional
状態:OS起動時にブルースクリーンが発生。セーフモードですら起動しない。
オトコたるもの、無駄な贅肉を増やさないように心がけねばならぬ。
Solarisを初期インストールすると一つだけやたらと(100MBほど)メモリを食っているプロセスが居る。
java だ。この
java プロセスが動かしているアプリケーションは何だ?と思って
1
shell>
/usr/ucb/ps
auxwww
を叩いて調べると(
java はこういうところが面倒臭い)、毎度おなじみ
webconsole だった。
オトコたるもの、 何事も 一度決めたら最後まで諦めてはいけない。
2008-04-03
HFX Micro購入。Solaris 10をインストールするも起動せず。H/W故障の可能性を切り分けるためCentOS 5.1をインストール。しかしNICが認識せず!故障を疑ったが単にドライバが足りなかっただけらしい。事前にちゃんと調べていなかったのだが、
Realtek社のRTL8111C はリリースされて間もないチップだったのだ・・・。RealTek社のサイトで公開されているドライバをインストールすることでNICが認識。
最新のマシンで動作するCentOSは感動的な快適さである!
しかしzoneを使いたいのでSolarisを捨てきれず。
CNetの記事によると
「日本HP、夏モデル第1弾の13.3インチワイド液晶搭載ノートPCほか1機種を発表」 だそうな。
http://japan.cnet.com/news/tech/story/0,2000056025,20371275,00.htm ほか1機種というのがオツなやつで、まあとにかくニュースを最後まで見て欲しい。ページのいちばん下の方の写真を。俺の美的感覚からすると
「HPはどうかしちゃったの?」 って感じのデザインだが、デザインコンテストで優勝した製品なのね、コレ。
しかしぱっと見は100歩譲っても
キワモノ と言わざるを得ないが、しかし数あるPCの中にはこういう奇抜なデザインのものがあっても良いと思う。MacやVaioのようにスタイリッシュなものばかりではつまらない。
HPは新たな市場を開拓したいのではないだろうか。単なる性能や機能がパソコンの、特に個人向けPCにとってのセールスポイントになる時代は既に終わっている。デザインというのは古くて新しい嗜好性であり、スタイリッシュなPCばかりが並ぶ昨今、このデザインはかなり人の目を惹きつける。今回の製品リリースは、
HPが個人向けPCということに本気で取り組んでいる証 であると、好意的にとらえておく。
このノートPCは男前!である。
ついに大御所HPが動き出した?!
CNetの記事 によると
Eee PC対抗馬 の小型PCということなのだそうだが、
RBB Todayの記事 では教育現場向けPCとなっている。価格は
$499 だそうな。
(ちょっと高いか?) 米国での低価格小型PC、特に
Eee PC や
MacBook Air の人気は凄まじく、HPとしてはこれを黙ってみているわけにはいかなかったのだろう。今年は
UMPC が来ると予想していたわけだが、低価格小型PCは目下ブレイク中である。
気になるのは日本上陸時にどうなるかということだ。
Eee PCのようにOSがWindows になってしまったら残念なこと極まりない。そもそも米国でも元からWindowsであればさらに残念である。是非ともLinuxをひっさげて日本に乗り込んできて貰いたいモノである。
既に1/3が過ぎたが、今年はUPMCが熱い一年になるだろう。それを受けてかどうかは分からないがMicrosoftがWindows XPの販売延長を決めた。ただしHome Editionだけ。Windows XP HomeにはVista Basicがその代替になり得るはずだが、
UMPC にとってVistaは重すぎるという判断だろうか。そして
UPMC には製品の位置づけ的にもHome Editionで十分だろうということか?
既婚のオトコたるもの、家庭での居場所は狭くてしかるべきである。しかしオタクたるもの、常時起動しているPCが欲しいのは定めである。しかし妻帯者はスペースも予算も厳しいのでなかなか購入には至らなかった。とにかく常時起動モノが欲しくて欲しくて仕方がなく、悩みに悩み抜いた結果、ついに結論を出すこととなった。
Silicon Valley Watcherの記事によると、SalesforceがCiscoに身売りを持ちかけたらしい。
http://www.siliconvalleywatcher.com/mt/archives/2008/03/is_salesforce_i.php
Salesforce.comというと、まさにSaaSのトッププレイヤーであり、SaaSはIT業界で最も注目されている分野の一つである。ビジネスが堅調に成長してきたこのタイミングで(一番オイシイ時に)どこか高く買ってくれる会社に売却するのは経営者的には正しい。なぜならば、株の売却により多額の収入を得るからだ。ほぼ全てのITベンチャー系企業の連中は、そのような夢、つまり「成功していっちょ金持ちになってやろう」ということを夢見て起業するわけなので、金持ちになることは別に悪いことではない。
Unix Toolbox http://cb.vu/unixtoolbox.xhtml これほどまでに巨大なUNIXコマンド表のページは見たことがない。
しかしこれは便利だ。一ページに内容をまとめてあるところがミソで、ブラウザで開いて検索することで目的の機能がすぐに見つかるだろう。「あれってなんだっけ?」という時にオススメ。LinuxとFreeBSD、そしてSolarisを少しカバーしている。個人的にはMacOS Xのリファレンスも欲しかったところだが。
ただ、日本人にとっての難点はこのページが英語であること。日本語版を作ったらウケルだろうか?
あと、もう少しSolarisの情報が充実しててもイイと思った。
Happy Hacking Keyboardで有名なPFUのページで
超高精細「国宝仏像」画像ブラウジングシステム というのを見つけた。
ブラウジングしていたらたまたま見つけたこのシステム。
渋い。渋すぎる。これぞまさにオトコのシステムだ。
このシステムの需要が多いとは考えにくい。需要が少ないと必然的に価格は高騰する。一体いくらするのだろうか。
IT業界に衝撃が走った。SunがMySQLを買収したのである。これでデータベース市場をほぼ独占していたOracleにとって、強力なライバルが突如現れたことになる。MySQLは非常に優れたオープンソースソフトウェアであるが、エンタープライズ市場には食い込めずにいた。Sunが買収したことにより(Sunの企業としての信頼度が高いので)これからは徐々にエンタープライズ市場にもMySQLが受け入れられた行くのではないだろうか。そのような変化が訪れるのであれば、今回の買収はIT業界にとっても大きな意味を持つことになるだろう。そしてIT業界の情勢は変化するであろう。
そこで、今回の買収によってIT業界の情勢(ライバル関係)はどのようになるかについて予想してみた。
PC Watchの記事 によると、Eee PCは5万円もするらしい。海外では199ドルPCとして話題になったにもかかわらず、なぜ日本に持ってくるとこんなに高額になるのか?倍以上だぞ?やはりネックはOSの価格なんだろうな。
この低スペックな(不揮発性記憶領域が4GBしかない)マシンにWindowsを入れても快適には使えないと思う。ブラウザとメールをちょこっと使うだけか?だったら別のOSでも(というかその方が)いいのではないか。
キーボードが日本語配列というのもいただけない。OSもキーボードも全て英語で構わないので、海外と同じ199ドル相当の価格で販売出来ないものだろうか。実質2万5千円ぐらいになるのだろうか、その価格で購入できる1kg未満のラップトップというのはカジュアルに使えて非常にそそるのだが。
昨日「2008年はUMPCの一年になる!」なんて書いたところだが、その親戚となるEee PCにはガッカリだ。