2. 自己紹介 MySQL/Linux周りのスペシャリスト 2006年9月から2010年8月までMySQL本家(MySQL/Sun/Oracle)で APAC/US圏のMySQLコンサルティングに従事 主な著書に「現場で使えるMySQL」「Linux-DBシステム構築/ 運用入門」「Javaデータアクセス実践講座」 DeNAでの主な役割 安定化/パフォーマンス/運用周りの中長期的な改善活動 L3サポート/運用/トラブルシューティング – 難度の高いMySQL周りの問題の根本原因の特定と解決 多くのプロジェクト支援 社内勉強会/トレーニング – MySQLやデータベース周りのベストプラクティスを社内で共有し、 技術スキルを底上げする 技術マーケティング – 国内外のカンファレンスや、技術雑誌等
僕はOracleでRDBMSとかSQLを勉強した人間なので、絶対に外部キーを張り、可能であればチェック制約もかけて、絶対に不正なデータは入れさせたくないと思う人間なのだが、LAMPサーバーを並べてスケールさせるっていう今時のサイトでは、外部キーを張らない設計の方が主流らしい。・・・本当!?確かに、アプリケーションやORMで頑張れば、外部キーを張るメリットが消え、外部キーを張るデメリットだけが残り、そしてMySQLはRDBMSではなく、SQLをサポートする単なるストレージになるだろうが・・・ちなみにSQLAlchemyならばテーブル定義から外部キーを消しても、mapperの定義で明示的に示してやれば、いままで通りのコードが動くはず。以下は「飼い主(Owner)と犬(Dog)の間に一対多の関係がある」という場合の例。 # -*- coding: utf-8 -*- from sqlalchem
MySQLで、レプリケーションベースのHAな構成について考えたメモです。 3台(というか2台+1台)がいいかなぁと思っていて、前半はその理由を、後半では{マスタ,スレーブ}が{再起不能になった,ちょっとダウンしてすぐ復帰した}場合のリカバリプランについて書きます。 今のところはこれがベストかなと思っているのですが、「こうしたほうがいいと思う!」「ここがおかしい!」などなどのご意見はコメント、TBなどでいただけるとうれしいです。 ゴール マスタが落ちてもぐーすか寝ていられるようにしたい リカバリの作業はできるだけ単純に、かつ、短時間で完了するようにしたい めんどくさいのはいや 基本構成、方針 2台+1台 サービスで使うのは2台 (db1, db2) もう1台は管理用 (db3) スレーブを多数並べる構成にはしない 台数増えると管理コストが上がる マスタダウン時のフェイルオーバとそのフェイルバ
CentOS 5.3 x86_64 上で MySQL 5.1 をインストールしたいため、自分で RPM を作ってみました。いろいろと検索した結果、Fedora の CVS にあるものが最新でかつ、既存の MySQL 5.0 系と同じような SPEC ファイルのため、これを使うことにしました。 まず、CVS で checkout します。 export CVSROOT=:pserver:anonymous@cvs.fedoraproject.org:/cvs/pkgs cvs co mysql そうすると、mysql/devel に MySQL 5.1 系(今日現在では、5.1.34) の SPEC やらパッチファイルなどがあります。SPEC ファイルを ~/rpm/SPEC に、パッチファイルや SPEC ファイルに書かれているパッチやシェルスクリプトなどを ~/rpm/SOURCES に
All of Percona’s open-source software products, in one place, to download as much or as little as you need.
MySQL 5.4 について以下のURLにかなり詳しい情報が掲載されています。もちろん MySQL 5.4.0-beta 時点での情報ですので「予定は未定」的なものも多いのですが、このフェーズでこれだけのドキュメントがまとめられていることに、先行きの明るさを感じます。 http://dev.mysql.com/doc/mysql-5.4-features/en/index.html で、私エイゴヨメマセーン。 理解した(と自分が思った)とたんにもう忘れているのでメモしないと理解できないのです。 ということで、超訳というか、いやすでに訳じゃないです、妄想ですが、こんなことが書いてありますというメモを作っているので折角なのでここに書いておきます。 書いてないことまで書いてありますので注意。ちゃんとした情報を知りたい方は原文に当たってください。 明らかに意味違うよってところはコメント等で教えてい
MySQL 5.1からデフォルトで有効になっている便利な機能としてプロファイリングというものがある。MySQL 5.0でも利用出来たのだが、実験的な機能という位置づけであり、搭載されていたのはGPL版のMySQL Community Server限定だった。MySQL 5.1からは全てのエディションでプロファイリングを利用することができる。 プロファイリング機能を利用すると、クエリの状態(特に状態遷移やリソースの消費状況)を詳細に分析できるのでとても便利だ。MySQLエンジニア必携の機能といって良いだろう。というわけでプロファイリング機能の使い方を説明しよう。 MySQLサーバにログインしたら、まずは次のようにしてプロファイリングを有効にする。 mysql> SET profiling=1; すると、クエリの情報が記録されるようになる。次に、分析したいクエリを実行する。クエリはなんでもいい
今年もMySQL Conference 2008に行ってきました。社内向けの報告資料と雑多なメモですが、よろしければ参考にしてください。 *1 概要 MySQLがSunに買収されて始めてのConference 8セッション並列で、OSCONの規模にだいぶ近い MySQLが扱うトラフィック量・データ量がどんどん大きくなってきており、それにどう追従するか、という観点の話が多い 買収の話とか "MySQL、新機能追加は有償版の「MySQL Enterprise」だけを対象に"というのは、かなりミスリーディングな記事 実体は一部のセキュリティ形の機能やnative storage engine-specific driverをMySQL Enterpriseとして出す、という話 Backup機能や、Falcon, Mariaといったストレージエンジンの開発では、Community ServerとE
どう見ても 4.1 → 5.0 で退化してます。ありがとうございました。というか、こんなこともできないのにPostgreSQLより速いとか言ってたのかよ。これじゃRDBというより、ただの主キーに紐付いたデータ(1階層)取るだけのストレージ、みたいなねぇ。RDBとしてはおもちゃだよ。てか、RDBを名乗っちゃだめだろ。 そもそも現在のほぼ全てのRDBMの実装はRelational Modelに準拠しておらず、結果セット(タプル)の見出しは集合ではなく配列になってしまっていて、それは数学的な根拠(メリット)が薄れてRMの最大の魅力とも言うべき閉包性を失うことになってるんだが、逆にメリットもあって、具体的には実装レベルでは速度向上や利便性なんだけど、そいう利点があるからこそ容認されているんであって、さらにその利便性(ここでは結果セットのドメイン名指定に"*"が使えること)を捨てるなんて閉包性が無駄
はじめに 2004年4月のMySQL Users Conference(米国オーランド)でMySQL Clusterが公になって以来、開発チームとの技術交流、MySQL Cluster開発者による日本での5日間トレーニング受講(関係者のみ)、デブサミでプレゼン発表のお手伝い、IPAでのクラスタ機能検証及びベンチマーク計測などを通して細く長く付き合ってきたMySQL Clusterの備忘録。 Open Source Conference 2005のセッション「MySQL Cluster」PPT作成お手伝い Linux World 2005にてMySQL Clusterデモンストレーション(7台のサーバ使用) MySQL Users Conference 2004, 2005, 2006参加 5日間のMySQL Clusterオフィシャルトレーニング参加 様々なソース(メール、電話会議、MLな
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く