kamipo traditional (というかSTRICT_ALL_TABLES) では防げないMyISAMという名の化け物 TL;DR kamipo traditionalですら完全に防ぎきれないアレがあるので、そこを気にするなら出来る限りさっさとMyISAMからInnoDBに引っ越しましょう。 これらの記事を読んだ人向けです。 ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々 Javaでkamipo traditionalを有効にする - その手の平は尻もつかめるさ アプリでミスって不正なデータが入るくらいだった500になったほうがマシ。というのが個人的な考えです。 +激しく同意+ さて、激しく同意したところで、kamipo traditionalでは倒せないMyISAMという名の化け物の話をしたいと思います。 kamipo tr
よくMySQLはゆるふわだから 値が勝手に切り詰められる エラーが起きずに変な値/日付が入る 不正なスキーマが入ってしまう など言われることがあります。ただそれは、そもそもの設定が悪いのです。(確かに昔デフォルトがゆるふわなのはいけなかったんですが) ということで、データベースには不正な値が入らないように設定はとにかく厳しくしておくのがオススメです。 じゃあどうするか。 MySQLはSQL Modeによって、その辺りの制約をコントロールすることができます。以前、MySQLのsql-modeで一番厳しいやつはTRADITIONAL、というのを書いたのですが、実はそれだけでは不十分で、TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BYとするのがより安心なようです。 これはkamipoさんに教えてもらいました。 @songmu TRADITI
一応、立場的には第三者に戻った(MySQL/InnoDBの性能追求が仕事ではない)ので、忘れられない暗い過去にも触れてみようと思います。 未だに騙されている人が多いみたいなので、MySQL/InnoDBの名誉のために書き残さなければなりません。何度でも言いますが、性能比較は自分の目的とする処理をちゃんと比較しないとだめです。そうでなくては、騙されて本当は悪い性能のものを掴まされることになります。 DBT-2と言う(TPC-Cをベースにした)ベンチマークがありますが、数多のRDBMS(商用/OSS双方)に対して独自にTPC-Cベンチマークを実装・チューニングして比較した経験のある私から見て、怪しい結果しか出ないので、長年、基本無視のスタンスを取っています。 が、3年前にあろうことかMySQLの性能QAがDBT-2(nonsp:mysql)を利用していて、とある性能FIXに対して問題を指摘して
クラウド環境におけるMySQL Webシステムから業務システムなど様々な領域でいろいろなクラウド環境の利用が広がっています。クラウド環境でのMySQLは、データベースサービス型クラウドとして提供される形態をはじめ、クラウドサービスの構成情報や認証の管理に利用されるケースやクラウドサービス上でのアプリケーションで利用されるケースなど、多様な導入例が見られます。多くのクラウド関連技術はWebシステムで利用されている技術から発展しており、WebシステムでデファクトスタンダードとなっているMySQLをクラウドでも活用することは自然な流れと言えます。 クラウド環境でMySQLを導入することで、クラウドサービスが持っている構成拡張の機能を利用してスケーラビリティを確保できることもあります。ただしこの場合でも動的に追加されたMySQLサーバに対するアプリケーションからのアクセス方法の定義などが課題なり得
先日、「InnoDB Deep Talk #2 (仮)」というイベントでお話ししてきました。 「事前情報は講演者の名前のみ(内容未定)」という、振り返ってみると異常な状況にも関わらずお集まりいただきありがとうございました。 今回は、前回とは違って少しだけ公開を意識して作ったあったので公開してみます。 これで手持ちのネタは出し尽くしたので、また暫くブログの更新は無いかもしれませんがご容赦を。。。
12. ステップ的なもの サイズ 使いどころ コマンド例 フルバックアップ でかい 必ず必要 tar, rsync, mysqldump, XtraBackup 差分バックアップ ⼩さい フルバックアップの 間隔が短ければ要ら ない mysqldump(スキー マに制約) XtraBackup 増分バックアップ 更新量に依存 ほぼ間違いなく必要 cp, rsync, mysqlbinlog 11/58 14. フルバックアップの選択肢 コマンド エンジン アプリ影響 ⽅式 サイズ tar, rsync MyISAM × 停⽌またはロッ ク 物理 ⼤きめ tar, rsync InnoDB × mysqld停⽌ 物理 ⼤きめ LVMスナップ ショット MyISAM InnoDB △ 性能劣化がひど い 物理 ⼤きめ mysqldump MyISAM × ロック 論理 ⼩さめ mysqldum
MySQL Clusterは共有ディスクを使わずにアクティブ−アクティブのクラスタ構成が組めるリレーショナルデータベース(RDBMS)です。非常に可用性を誇り航空機管制システムなど、ミッションクリティカルな分野でも多く利用されています。また、全ノードアクティブな分散型データベースクラスタであるMySQL Clusterは、ACIDなトランザクション対応のNoSQLとしても利用でき、トランザクションを高速に処理できるため、リアルタイム性が求められるアプリケーションにも向いています 本書では秒間2,000万件を超える更新処理に対応し、極めて高い可用性を持ったMySQL Clusterの概要をご紹介します。 Asahi Interactive IDでログインして資料をご覧ください Asahi Interactive IDはCNET Japan/ZDNET Japanでご利用いただける共通IDで
オラクルの製品ラインに組み込まれてから5年が経過した「MySQL」――。果たして、このオープンソース・データベースは、オラクルの中でいかなる発展・進化を遂げてきたのだろうか。また、「オラクルの製品」として、今後、どのような方向で強化が進むのだろうか。そんな疑問への解を、MySQLの普及を担うオラクルのキーパーソンに求める。 オラクルによるMySQL吸収から5年――「懸念」と真逆の強化・発展 今から5年前の2010年1月27日、オラクルがサン・マイクロシステムズを買収したことで、サンの保持していたオープンソース・データベース「MySQL」が、オラクルのプロダクト・ラインに組み込まれることになった。 周知のとおり、オラクルによるサン買収が決まる以前、データベース市場で急速に台頭し始めたMySQLは、「Oracle Database」にとっての最大の「脅威」、あるいは「難敵」とされていた。ゆえに
UNIX系OSではvmstatやiostat、sar、top、mpstatなどのコマンドラインツール、WindowsではリソースモニタがOSに付属しているほか、オープンソースのGUIツールとしてはNagiosやCacti, Hinemosなどが利用できます。 MySQLサーバ内部での処理状況の確認は、SHOW STATUSコマンドを基本として、MySQL WorkbenchのパフォーマンスレポートやMySQL Enterprise Monitorなどが利用できます。これらのコマンドやツールの詳細は別途解説いたします。 ベンチマークテスト 構築したシステムが要件を満たしていることを検証するためにベンチマークテストを行います。MySQLのサポートエンジニアで“漢(オトコ)のコンピュータ道”で知られる奥野氏は「テストをしないことはリスクがあるということです。つまり、ベンチマークテストをしない
ご無沙汰しています。 作ってから公開されるまでのタイムラグで思い出してまで書く余裕が無くて暫く更新をお休みしていました…。 その代わり、MySQL-5.7では細かい修正も含めてある程度思っていた通りのInnoDBの改善ができたのではないかと思います。 で、本題。唐突ですが、先月末でInnoDBチームを辞しました。理由は色々ありますが、ネガティブな理由は一個もありません。願わくば、体がもう一つ欲しいくらいです。 もう一度、自分のユーザー視点を現在のものにアップデートするべく、一般ユーザーに戻ります。その方がInnoDBを更にフットワーク良く改善できると考えたからです。とはいえ、今の立場で大きな案件があるまで、新しい領域には踏み込めないでしょう。暫くはInnoDBチーム在職中に行った変更で、リリース済みのものについて解説していきます。 その後、実用的な技術情報やツール(もしも作ったら)を共有し
MySQLサーバを市販されている乗用車だとすると、MySQL Clusterは整備されたサーキットでの高速走行に最適化されたフォーミュラカーな感じで、WebScaleSQLは市販車をベースにして、特殊な走行環境に最適化されたラリーカーなイメージか? photo by djkennyc; CC-SA 3.0, from deviantart.com フォーミュラカーの限界性能を引き出すためには特殊な運転テクニックのみならず、専門スタッフによるメンテナンスが必須。エンジンや仕様は市販車とは大幅に異なり、一人しか乗れなかったり荷物を搭載できない上、一般道での走行が実質的に不可など制限事項が多いが、圧倒的に高速。フォーミュラカーでの蓄積された技術が市販車に反映されたり、逆に市販車でのニーズをもとにフォーミュラカーの仕様が決められることも。 photo by kallerna; CC-SA 3.0,
MySQL Clusterとは? MySQL ClusterはMySQLとは開発ツリーの異なる別製品で、共有ディスクを使わずにアクティブ−アクティブのクラスタ構成が組めるリレーショナルデータベースです。単一障害点が無い構成を組むことができ、可用性が高いため、米国海軍の航空母艦における航空機管制システムなど、ミッションクリティカルな分野でも多く利用されています。また、デフォルトではデータをメモリ上に持つインメモリデータベースであり、トランザクションを高速に処理できるため、リアルタイム性が求められるアプリケーションにも向いています(インメモリデータベースであっても、データの永続性は担保されています)。 MySQL Clusterの基礎となっている技術は、通信機器ベンダのエリクソンで携帯通信網の加入者データベース向けに開発された Ericsson Network DataBase(NDB)と呼ば
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く