mixiで使われているMySQLの負荷分散技術

Posted under Webプログラミング by uechoco on 金曜日 14 9月 2007 at 12 : 43 : 31

mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法:phpspot開発日誌
http://phpspot.org/blog/archives/2007/09/miximysql.html

TechTargetジャパン:mixiの生みの親“バタラ氏”が語るMySQLの意外な利用法
http://techtarget.itmedia.co.jp/tt/news/0709/12/news01.html

mixiのこの手の記事を見た(or聞いた)のはこれが3回目だけど、ちょっと新しいことが書いてあったのでメモ書き。

まず気になったのは、バタラ氏の苗字が日本語の漢字だったこと。昔はカタカナのはずだったんだけど・・・帰化したのかな?

マスタ・スレーブ型 → サービス別にデータクラスタ化 → ID別にさらに分割 っていう流れは昔から見かけてきた記事と同じ内容ですね。

んで、この記事で初めて知ったのが全文検索エンジンが「QDBM」の「Hyper Estraier」に変わったこと、QDBMを開発した平林 幹雄氏がミクシィにいること(は聞いたことはあったけど) ら辺かなー。

mixiってサーバー1000台以上つなげてるのか・・・すげーな。


phpMyAdminバージョン2.11.0はphp4サポートの最後

Posted under php by uechoco on 木曜日 13 9月 2007 at 11 : 27 : 46

phpMyAdminバージョン2.11.0リリース – HotPHPPER News
http://news.hotphpper.net/archives/512-phpMyAdmin2.11.0.html

ちょっと前だけど、phpMyAdminの最新版の2.11.0がリリースされたそうで。

Welcome to phpMyAdmin 2.11, which will probably be the last series supporting PHP 4.

The phpMyAdmin Project』より

どうやら、Ver 2.11系列でPHP4のサポートは終了だそうです。

This version supports creating VIEWs from query results and
can manage triggers, procedures and functions. It also supports
MySQL 5.0.37 query profiling and has an improved interface for
servers hosting thousands of databases and tables.

The phpMyAdmin Project』より

このバージョンからサポートされたのは、「クエリ結果からのビューの作成」、「トリガーやプロシージャ、関数の管理」「MySQL
5.0.37以降で、クエリプロファイリングのサポートとホスティングサーバーのDBやテーブルのためのインターフェースの改善」です。
んー和訳苦手。

んーやっぱり一番気になるのはPHP4サポートの終了宣言ですかね。
バージョンが2.12になったらPHP4が全く使えなくなっていたら笑えますがww

phpMyAdmin | MySQL Database Administration Tool |
www.phpmyadmin.net
http://www.phpmyadmin.net/home_page/index.php


mysql_set_charset() vs SET NAMESクエリ

Posted under php by uechoco on 日曜日 9 9月 2007 at 23 : 37 : 12

先日のphp 5.2.3のアップデートで mysql_set_charset()(英語)という関数がセキュリティフィックスという名目で追加されました。

Sets the client character set.

php manual 『 mysql_set_charset()(英語)』より

どうしてこの関数が追加されたのかというと、おなじみのSET
NAMESクエリでは、SQLインジェクションの脆弱性になる可能性があるからです。
このSET NAMESクエリは、SQL文レベルでの文字コード対応なので、どうしても隙ができてしまう可能性があるとのことです。

本来であれば、my.cnf設定などでデフォルトで望んでいる文字コードが吐き出されるようにしておくべきなのですが、それができないphpユーザーもいるのが現状です。それがSET NAMESクエリがよく使われる理由です。php5.2.3では、打開策としてAPIレベルでの対応をするために、mysql_set_charset()関数を追加したものと思われます。

マニュアルにはMySQL 5.0.7以上に付属するlibmysqlが必要と記載されていますが,
PHP5のソースコードを読むと4.x系のlibmysqlでもmysql_set_charset関数が利用可能になるコードになっています。
mysql_set_charset関数が利用可能なPHPであれば問題ありません。

残り一年!PHP4からPHP5への移行:第5回 セキュリティ関連の違い|gihyo.jp』より

という記事もあります。

mysql_set_charset | Sarabande
http://sarabande.info/2007/07/31/mysql_set_charset/

なお、上記のサイトでは、mysql_set_charset()関数とSET NAMESクエリとで、
MySQLの設定がどう書き換わるのかが比較されています。参考にどうぞ。

yohgaki’s blog – SET NAMESは禁止

http://blog.ohgaki.net/index.php/yohgaki/2007/08/22/set_namesa_mcb_asc

CakePHP のおいしい食べ方: SET NAMESは禁止?
http://cakephp.seesaa.net/article/52562968.html

WEBツール研究所 ? CakePHPでmysql_set_charsetに対応する

http://li-pton.com/wordpress/php/cakephp_mysql_set_charset.html


« 前ページへ

Copyright © 2012 うえちょこ@ぼろぐ. WP Theme created by Web Top.