MySQL+DB+OSS

MySQL・Data Base・Open Source Software

ZABBIX と MySQL

2006-08-28 17:50:53 | MySQL
MySQLを使ったネットワーク監視ツール ZABBIX

・OSS
・無料
・日本語版有

MySQL使っています。
バージョンは3.22以降ならどれでも動くそうです。
ZABBIXの最新安定バージョン: 1.1.1です。

海外のOSSツールのDBはMySQLでMYISAMを使うのが大半の様です。

本家サイト
http://www.zabbix.com/
日本語サイト
http://www.zabbix.jp/


ブームに乗り遅れること数か月ですが最近成分分析してみました。
http://seibun.nosv.org/
MySQLの解析結果
MySQLの62%は犠牲で出来ています
MySQLの34%は鉛で出来ています
MySQLの4%はお菓子で出来ています

大変そうです。



ZABBIXのMySQLバージョンをあげたい場合は
MySQLのバージョンアップなどは↓のサイトで色々書かれていますので参考になさってください。
http://blogs.yahoo.co.jp/mysql

MySQL認定試験

2006-08-25 15:13:00 | MySQL
昨日、MySQL 4 Professional Certificationの受験にいきました。
結果はFailです。Failです。。Failです。。。Failです。。。。Failです。。。。ヒロシ風

私の勤めている会社は社員教育に投資してくれていますので受験料をもってくれてます。
さらに合格したら一時金も支給してくれます。
なんて素晴らしいのでしょう!

来週ぐらい再受験いってきます。

MYSQL認定試験についての説明はこちら↓
http://www.s-style.co.jp/about_mysql/mysql_exam.php

扱っているのはピアソンVUE
http://www.vue.com/japan/

MySQL と イルカ

2006-08-24 10:00:00 | MySQL
MySQLのシンボルロゴはイルカ。
これは2001年にフィンランドの広告代理店Priorityがデザインしたそうです。

イルカのイメージは頭がよくて、敏捷で、スリム!
また、データの大海原を楽々と進むという意味も込めてイルカにしたそうです。

↓のサイトはMYSQLのプラチナパートナーです。
ここみたいにサイト内などでイルカのロゴを使うにはMYSQL ABの承認が必要なんです。
http://www.s-style.co.jp/

イルカ号・・・

イルカ号でピンとくる人は同じ趣味です。


MySQL と Pentaho

2006-08-23 17:04:16 | MySQL
MySQL ABのサイト内PARTNER SOLUTIONSにPentaho BI Suiteっていう製品が紹介されています。
Pentahoって聞いたことある人多いでしょうか?
先日掲載したNRIのオープンソース成熟度グラフの一番下の方に出てきています。
つい最近ベンチャキャピタルから200億円の融資を受けたようで金額が半端でないですね。
それだけ注目されているということでしょう。

PentahoはBI製品。
BIってなんや?
ビジネス・インテリジェンスの頭文字とった略語です。
ビジネス・インテリジェンスってなんや?
意思決定支援ツールって事みたいです。
蓄積したデータを有効に加工してよりよい意思決定をさせるためのツールって感じなんでしょうか。

http://solutions.mysql.com/solutions/item.php?id=164

http://www.pentaho.org/

OSSなのでまたいじってみたいと思います。

mixi と MySQL

2006-08-22 09:14:25 | MySQL
MySQLの導入事例として
日本で一番大きなSNSサイトであるmixiが紹介されています。
mixiのユーザ数は300万人以上。
1日のページビューは150億VIEW以上。
世界TOP30に入るトラフィックなんですが、そのバックを支えているのがMySQL!

mixiのMySQLサーバ数は100台以上。
さらに10台/月で増やしていっているそうです。

構成環境は以下のような感じだそうです。

Hardware: Dell PE850
OS: Fedora Core 4
CPU: Intel Pentium
RAM: 4 GB
Hard Disk: 300GB SCSI
Language: Perl
Database: MySQL Server
Database Size: 836 GB
(Diaries) 400 Million Rows per Table

どのように負荷分散させたかというとデータベースを役割毎に分割する方法をとったそうです。
テーブルの種類毎であったり、ユーザーID毎であったり。
5.0以前はDBリンク機能がなかったので、スクリプト側のコードやパーテショニング情報をもっているテーブルにクエリを送らないといけないなど煩雑になってしまったそうです。
MySQL5.0.3からはFEDERATED Storage Engineが導入されました。
これはDBリンク機能のあるテーブルです。
なのでmixiのようなDB分割して負荷分散させたいケースには便利そうです。
今度試してみます。

http://www.mysql.com/why-mysql/case-studies/mysql-cs-mixi.pdf

http://itpro.nikkeibp.co.jp/article/NEWS/20060330/233820/

PHP と SHIFT_JIS と MySQL

2006-08-21 11:23:36 | MySQL
HTMLのmeta内charsetがSHIFT_JISであったり
CGIスクリプトがSHIFT_JISであったり
DBがSHIFT_JISであったりとどこかにSHIFT_JISが絡んでいると必ず5C問題に引っかかります。
MYSQLがUJIS(EUC-JP)でもPHPソースがEUC-JPでもぶち当たります。
SHIFT_JISがどこかに挟まっていたらハマります。
じゃあSHIFT_JISを使わなければいいだけやんという方はそれが一番手っ取り早いです。
なのでUTF8かEUC-JP(UJIS)を使っておくのが一番です。

でも、SHIFT_JISをつかっても問題ない方法に興味があるので調べてみました。


5C問題とはなにか?
SHIFT_JISで文字コードの最後に5Cがつく文字が40種類あるのですが
その文字を内部処理をする時、5Cがエスケープ文字として受け止められます。

PHPの場合、php.ini内に「Magic Quotes GPC」というオプションがあります。
これはデフォルトでONになっています。
こいつが何をするかといえば、自動でエスケープ文字を取り除くんです。
OFFにしておけばPHP内で害はないのですが、i-modeサイトを作りたい場合や、MYSQLに検索かけに行く場合などはまた変換かかってエスケープされますので同じです。
URLのエンコード/デコード時にもこの問題がでるはずです。

たとえば「ソ」は「83 5C」です。
Magic Quotes GPCをONのまま「ソ」で検索しようとしたら5Cが取り除かれて「83」だけで検索にいきます。
もちろん「83」な文字はないのでヒット件数はゼロです。

SHIFT_JISの「ソ」をきちんと「ソ」として認識してもらうには「ソ¥¥」と打てば
一番最後¥のだけがエスケープされるので「ソ」と認識してもらえます。

では、PHPでどうやればいいかというと以下のようにします。

get_magic_quotes_gpc()はget_magic_quotes_gpcの値が何で設定されているかを取得してくれる標準関数です。
「find_word」という名前で画面内のテキストボックスからある値を取得するとします。
addslashes()はエスケープ文字を追加してくれる関数です。

if (!get_magic_quotes_gpc()) {
 $find_word = (($_POST['find_word']));
} else {
 $find_word = (addslashes($_POST['find_word']));
}


addslashesを入れるだけで回避方法は単純な事なのですが、
PHPの理屈がわかっていなかったので非常に難しかったです。


5C文字は「ソ」以外にもあります。以下の40文字です。
SHIFT_JISを使っている場合、一見普通に動いているようにみえても
以下の文字を使ったときに正常な結果が得られないのなら5C問題が解決されていないという事になります。

― ソ Ы 噂 浬 欺 圭 構 蚕 十 申 曾 箪 貼 能 表 暴 予 禄
兔 喀 媾 彌 拿 杤 歃 濬 畚 秉 綵 臀 藹 觸 軆 鐔 饅 鷭


以下のサイトが非常に役に立ちました。
http://www.shtml.jp/mojibake/sjis_cgi.html

ニコヤーコさんのところでも5C問題記事発見。
http://blogs.yahoo.co.jp/mysql/13630369.html

MySQL と XML

2006-08-18 10:10:22 | MySQL
MySQLならXML解析してくれます。


XMLってなんや?
XMLはメタ言語だそうです。
メタ言語ってなんや?
言語を設定する言語だそうです。

メタ言語を文字で説明しようとするとややこしいです。
仮に私が「本」というメタ言語を定義しました。
「本」に含まれる情報としては「本のタイトル」があります。
また「著者」情報もあるでしょう。
著者の情報としては「著者名」であったり「イニシャル」であったり、色々あります。
・・ということを定義する言語がメタ言語です。
これをXMLで書くと以下のようになります。

<book>
 <title>A guide to the SQL standard</title>
 <author>
  <initial>CJ</initial>
  <surname>Date</surname>
 </author>
</book>


このXML文をそのままMySQLにインサートできます。
INSERT INTO x VALUES
('
<book>
<title>A guide to the SQL standard</title>
<author>
<initial>CJ</initial>
<surname>Date</surname>
</author>
</book>
');


登録した情報を取得するには

mysql> SELECT EXTRACTVALUE(doc,'/*/*/initial') FROM x;
+----------------------------------+
| EXTRACTVALUE(doc,'/*/*/initial') |
+----------------------------------+
| CJ |
| J |
+----------------------------------+
2 rows in set (0.01 sec)


http://dev.mysql.com/tech-resources/articles/mysql-5.1-xml.html



先日、Web 2.0アプリと呼ばれているOSSの中でeyeOSなるものをDLして使ってみました。
ブラウザ内にデスクトップ環境をつくり、その中でまたウインドウズ操作できる。
ウインドウズの中の一つの窓であるブラウザの中にまたウインドウズがあってさらにまた・・・鏡の中の鏡という感じでした。
ブラウザをMDIとして使おうとしているアイデアは非常に面白いのですがブラウザの制限で使いにくいのが残念でなりません。


業界素人なので、技術的な事はさっぱりわかりませんが、
Webアプリがブラウザで動作制限されている現状はどうにかならんのかと思います。
マイクロソフトのアクティブXドキュメントみたいなEXEをDLしてクライアントで実行とかなるとセキュリティ問題がうるさいですし、DLは面倒ですが使いやすいのは確かです。
ブラウザを使っていても起動しているのは別アプリ的な何か便利なシステムはないものでしょうか。

MySQL ライセンスチャート

2006-08-17 09:20:14 | MySQL
一番初めの記事で書いていたライセンスチャートのURLがリンク切れになっているようです。
WEBはリンク先の構成が変わると表示できなくなるので面倒ですね。
こういうときにグーグルのキャッシュ機能が便利なのですが、
他には大阪の会社でWEB魚拓というサービスをしているところがあります。

http://megalodon.jp/

ですが、WEB記事にも著作権があるものもありますから、
なんでもかんでもキャッシュで残しておけるというのも問題なのかもしれません。
有料サイトなどは商売あがったりです。


ということでライセンスチャートをキャッシュ化してみました。
これでリンク切れが起こることはWEB魚拓の会社がサービスを止めない限りないでしょう。
http://megalodon.jp/?url=http://www.s-style.co.jp/about_mysql/chart2.html&date=20060817090959


URLが長いです。同じ会社のウェブ精米サービスを使って短くしてみます。
http://symy.jp/?vm_mysql


短くていいですね!

MySQL SHOW STATUSの仕様変更

2006-08-16 08:50:04 | MySQL
MySQL 5.0.2からSHOW STATUSにSESSIONとGLOBALのオプションが付きました。
それ以前はSHOW STATUSと打てばデフォルトでGLOBALのSTATUS値を出力してくれていましたが、このオプションが付いたMySQL 5.0.2からデフォルトがSESSION値に変わりました。
ですので、GROBAL値を見たい場合はSHOW GLOBAL STATUSと明記する必要があります。

http://dev.mysql.com/doc/refman/5.0/en/show-status.html

http://blogs.yahoo.co.jp/mysql/16713004.html

MYTOPなどを使われている方はMYTOPのソースも修正する必要があります。
修正は、MYTOP内のSHOW STATUSをSHOW GLOBAL STATUSに変更するだけですので簡単です。

オープンソースマップ

2006-08-11 09:01:43 | MySQL
オープンソースマップ
~オープンソースソフトウェア評価・検証の選別基準に~
ということでNRIさんが公開されています。
http://www.nri.co.jp/news/2006/060808_1.html




成熟度: プロジェクトなどの期間、関連ドキュメントの量・種類、リリース回数、品質など
プレゼンス: ウェブサイトでの関連用語登場回数、検索サイトでのヒット数、採用数、サポートを提供しているベンダー数など



MySQLはといいますと・・・・
成熟度もプレゼンスもほぼ5.0に近く、企業システムで使えるOSSとして高いレベルだそうです。

Web 2.0

2006-08-10 10:33:04 | OSS
Web 2.0ってなんや?


What Is Web 2.0
Design Patterns and Business Models for the Next Generation of Software
by Tim O'Reilly
09/30/2005

http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html

日本語訳
http://japan.cnet.com/column/web20/story/0,2000055933,20090039,00.htm


漠然としててわかりにくいですが、
netscapeが台頭していた時期と現在ではWebビジネスの形態がかわってきているので、この変化しかけの先の状態をweb2.0って呼んでとりあえず区分けして、現在までの体系を整理してみましょう、またこれから先を想像してみましょう的なことで色々ポイントを挙げられています。

Web 2.0時代には、ユーザーの貢献がもたらすネットワーク効果が市場優位を獲得する鍵となる。

うまく集合知を利用できればいいのですが、ユーザ協力をとりつけれるサービスを考えられるかどうかが問題です。

Wikipedia、BitTorrentなどは成功例。

Ajax と eyeOS

2006-08-09 13:48:07 | OSS
昨日の記事のAjaxですが
開発系の方に聞いてみると作るのはそんなに大変じゃないそうです。

画面操作はすべてクライアント側で行うそうで
業務システムがホスト→クラサバの流れでループしているんだとすると
AjaxがWebアプリをクラサバ化にできる方法になるんでしょうか
画面操作までサーバで行わなくていいのならかなりの負荷軽減になりそうです。
あとは、クライアント側、サーバ側両方つくる必要があるので
作成にかかる工数や実行速度が現実的なら
来年あたり既存webからAjaxへの移行が大流行になるんでしょうか。


私は業界に疎いですからよくわかってませんが
世間が大騒ぎしているWeb2.0系ってこの事なんでしょうか?


eyeOSはAjaxを使ったブラウザ上でデスクトップ機能が使えるオープンソースソフトウエアです。
ちょっと色々さわってみたいと思います。
http://www.eyeos.org/


Ruby on Rails と Ajax

2006-08-08 16:22:23 | OSS
Rubyって随分前からあった言語のように思いますが
今年の初めあたりからまた記事などで目にするようになりました。
Ruby言語の開発者は日本人です。

なぜいまさらRubyなんでしょう?
それはRuby用フレームワークRailsでWebアプリが簡単に作れるようになったからです。
RailsをつかったRubyでの開発をRuby on Rails/ルビーオンレイルズってそのまんまの呼び方をします。
この名前で最近特にIT記事などで載ってます。

Railsは1,2年ほど前にコペンハーゲンのHanssonさんが開発されたのをオープンソースとして
公開したのを機会に広がったようです。


Rubyってjavaみたいにオブジェクト思考な言語なので開発しやすいのでしょうか。
Ruby on RailsはJavaフレームワークに比べて5~10倍ほど速いそうです。

http://rubyonrails.com/
http://japan.cnet.com/news/ent/story/0,2000056022,20089986,00.htm
http://hotwired.goo.ne.jp/webmonkey/2005/36/index4a.html
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230973/


Ajaxはエイジャックスって読みます。
(Asynchronous JavaScript and XMLの略)

webアプリって画面遷移が多いのが難点なのですが
Ajaxはそれを解消しようとするアプリ製造方法になるんでしょうか
あまり技術的内容はよくわかってません
ダイナミックHTMLやらXMLやらjavaスクリプト、cgi言語など色々な言語を
組み合わせて構築する様で、かなりめんどくさそうです。

phpmyadminもAjaxなどを利用してスプレッドシートで
データを操作できるようになればいまよりもっと使えるようになるんじゃないかなと思います。

http://www.numsum.com/
numsumを使って試しにつくってみました。
重いです。
http://numsum.com/spreadsheet/show/27870

MySQL 5.0.24

2006-08-07 12:57:35 | MySQL
コミュニティ版+商用版でMySQL 5.0.24 が8/6にリリースされたみたいです

商用版では5.0.23のリリースがすこし前からありましたが
コミュニティ版ではリリースされず
今日現在、商用版でも5.0.23自体が無くなっているそうです。

この間に5.0.23をダウンロードした人は5.0.24に上げておくのがいいのかもしれないです。


日本語のアナウンスはこちら

MySQL August 2006 セミナー

2006-08-03 08:42:29 | MySQL
MySQL August 2006 セミナー

http://www-jp.mysql.com/news-and-events/web-seminars/mysql-japanese.php.ja

またまたMysqlセミナーの情報を発見しました。
東京近郊にお住まいの方は参加してみられたらいかがでしょうか?
無料みたいです。


セミナーのアジェンダ:
13:30-13:40 ご挨拶 H. 岩崎
13:40-14:10 ワールドワイドの MySQL 活用状況 L. Stefonic
14:10-14:40 mixi.jp の事例紹介 B. Kesuma
14:40-15:10 日本 HP のパートナー活動状況 M. 赤井
15:10-15:30 コーヒーブレイク
15:30-16:00 スマートスタイルのパートナー活動状況 K. 小寺
16:00-16:30 MySQL Cluster 最新技術 D. 斉藤
16:30-17:00 MySQL OEM ビジネス J. 竹森
17:00-17:30 Question and Answer