タグ

mysqlに関するtakasickのブックマーク (45)

  • MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する - それが僕には楽しかったんです。

    はじめに MySQL をビルドする ストレージエンジンを自作する Example エンジンをベースにする handlerton の作成とインスタンス化 テーブルを作成する 余談・気になったところ テーブルを開く INSERT の実装 ha_tina の存在 テーブルスキャン store_lock の実装 external_lock の実装 rnd_init の実装 info の実装 extra の実装 rnd_next の実装 おわりに はじめに 卒論書くのに飽きてきて何かやりたくなったので急にストレージエンジンを書くことにしてみた。 MySQL のストレージエンジンを実装していく中で、色々できるかなと思っていたけど、やってみると MySQL の内部実装について色々知らないといけないことが多くインデックスとかトランザクションとかそういうところは実装できなかった。 github.com My

    MySQL 8.0.18 の実装を読み解きながら簡単なストレージエンジンを自作する - それが僕には楽しかったんです。
  • MySQL :: MySQL 5.7.12 - Part 1: More than a Maintenance Release

    takasick
    takasick 2016/04/12
    X Plugin
  • RHEL 6.3バンドル版MySQL 5.1.61がInnoDB Pluginをサポート - SH2の日記

    タイトルでエントリの内容はほぼ終了となりますが、6月20日にRed Hat Enterprise Linux 6.3がリリースされ、ディストリビューション付属版のMySQL 5.1.61においてようやくInnoDB Pluginが有効化されました。 redhat-release enhancement update for Red Hat Enterprise Linux 6.3 Low: mysql security and enhancement update The InnoDB storage engine is built-in for all architectures. This update adds InnoDB Plugin, the InnoDB storage engine as a plug-in for the 32-bit x86, AMD64, and I

    RHEL 6.3バンドル版MySQL 5.1.61がInnoDB Pluginをサポート - SH2の日記
  • 第1回(?) MySQL Beginners Talk開催しました - rkajiyamaの日記

    5/29(火)に以前から要望のあった初心者向けとしてのイベントMySQL Beginners Talkを開催しました。ニセ初心者が数多くいたとの情報もありましたが(笑)、ツイートなどでも盛り上がっていたようです。講演者の皆様、スライドうpおまちしております。 個人的には体調不良で @yokatsuki さんに会場の仕切り全てをお任せしてしまうなど多大なご迷惑をおかけしてしまいました。次回があれば今回の分もぜひがんばりたいと思います。 次回開催はいつだろう?

    第1回(?) MySQL Beginners Talk開催しました - rkajiyamaの日記
  • blog.nomadscafe.jp

    PHPの勉強会なので、いままでお会いしたことのない方とお話ができてよかったです。 発表内容は大きくなってしまったmaster.phpファイルをどうやって高速に読むかというお話です。PHPではリクエストの終了とともに全てのメモリを捨ててしまうので、変わらないデータもリクエストの度にキャッシュからロードしなくてはいけません。大きなphpファイルがあれば当然毎回の読み込みがオーバーヘッドとなってきます。そんな環境でどうやってアプリケーションのパフォーマンスをあげていったのかを紹介しています。 スライドの中でfile sizeを小さくする必要があると書きましたが、@hnwさんによると、VM命令が多過ぎるのが問題で、構造を簡単にしたことでVM命令が減ったのがよかったのではとのことでした。非常に参考になりました。ありがとうございました そろそろ傷が癒えてきた。。 ISUCON5の選にメルカリのインフ

  • 社内サーバインフラ勉強会(DB)

    2. 今回の目的 1. 「データを保存する」ということが、実際にど ういうことなのかを知る。 2. 中の動作を踏まえることで、効率のよいアプ リを書けるようになる。 3. 問題が起きたときに、その原因を突き止めら れるようになる。 一般論をメインとし、MySQL等の細かい 個別ノウハウは取り上げません。 3. おしながき 1. 「データを保存する」とはどういうことか 2. MySQLがディスクに書くまで 3. 仮想メモリとページキャッシュ 4. とっても複雑なストレージの動作 5. MySQLのインデックスとメモリの関係

    社内サーバインフラ勉強会(DB)
  • MySQL 5.1 + InnoDB Pluginで、最新のInnoDB Plugin使ってますか? | キムラデービーブログ

    オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日オラクルに在籍していますが、サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。 モダンなサーバで力を発揮するMySQL 5.1 + InnoDB Plugin ! これまで多くのブログで紹介されてきました。 ・MySQL 5.1.38リリース InnoDB Plugin追加!(SH2の日記) ・InnoDB Pluginことはじめ。快適ストレージエンジン生活はじまる!(漢のコンピュータ道) ・MySQL 5.1.46リリース InnoDB Pluginが正式版に(SH2の日記) InnoDB Pluginはその後もバグの修正・パフォーマンスの向上を継続しており、最新版はMy

    MySQL 5.1 + InnoDB Pluginで、最新のInnoDB Plugin使ってますか? | キムラデービーブログ
  • 「優れたMySQL DBAを見分ける27+3の質問」に対する回答例

    随分と更新が空いてしまったが、「優れたMySQL DBAを見分ける27+3の質問」に対する回答例(漢バージョン)を紹介しよう。実は質問を掲載した際「難しい!」というコメントが非常に多く、もう少し易しい質問にするべきだったかと思って次のように呟いてみたのだが・・・ 非常に心強くて安心した。さすがに日を代表するMySQLのエキスパートである。出題のレベルは間違ってはいなかった!! そんなわけで、回答の方に移ろう。 MySQLのサーバープロセスはいくつある?ひとつ。mysqldはシングルプロセス・マルチスレッドモデルを採用しているので、"サーバー"プロセスはひとつである。多くの場合、Linuxなどでmysqldを動かす場合には、お供にmysqld_safeも常に動いていることが多いが、mysqld_safeはサーバーではなく、mysqldのためのラッパーであるので数には含めない。 rootユー

    「優れたMySQL DBAを見分ける27+3の質問」に対する回答例
  • MySQL/最適化/サーバパラメタ - Linux Tips

    ここでは、サーバパラメタの最適化によるMySQLのチューンについて紹介する。 _ パラメタのチェック 現在の設定値を確認するには、 # mysqld --help とする。 MySQL-5.xでは、 # mysqld --verbose --help としないと、確認できなかった。 あるいは、クライアントから、 mysql> SHOW VARIABLES; でもOK。 ↑ key_buffer_size † MyISAM テーブルのインデックスを保存しておくバッファの大きさ。サーバ全体で共有される。メモリに余裕があれば、MyISAMのみのMySQL専用サーバなら、RAMの1/2、Apache などと共用なら、RAM の1/4程度とする。ただし、サイズを大きくすると、OSのページングのために、逆に遅くなることもあるので注意。 set-variable = key_buffer=256M M

  • まるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。

    先日、SPIDERストレージエンジンについて2度に渡りブログで紹介した(その1:Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン、その2:快適スケールアウト生活への第一歩。SPIDERストレージエンジンを使ってみよう!)が、SPIDERの作者である斯波氏は、実はもう一つ驚くべきストレージエンジンを開発している。その名も、VPストレージエンジンだ。ちょっと地味な名前だが、VPとは、Vertical Partitioning(垂直パーティショニング)の略で、複数のテーブルの上にVPストレージエンジンを被せて、垂直パーティショニング(カラムごとにデータを格納する領域を分ける)を実現するというものだ。他のテーブルの上に被せるアーキテクチャをとっているという点では、VPとSPIDERの発想は同じである。以下は、VPストレージエンジンの動作

    まるで魔法のようなストレージエンジン??VP for MySQLによる驚愕のテーブル操作テクニック。
  • そろそろMySQL Workbench 5.2についてひとこと言っておくか。

    MySQLといえば、コマンドラインで操作するしかできないようなイメージが世間では定着してしまっている気がするのだが、実はちゃんとGUIも存在する。 MySQLはかねてより(MySQL AB時代から)オフィシャルなGUIツールとして、管理ツールとしてMySQL Administrator、SQL文を編集&実行するためのQuery Browser、そして他のRDBMSからの移行ツールであるMigration Toolkitという3つのツールを提供していたのだが、先日それらのツールに対して開発終了のお知らせが出てしまった。 オフィシャルなGUIツールはもう無くなるのか?!!と思ってしまわれるかも知れないが、どうか焦らないで頂きたい。 現在、MySQLが提供するGUIツールとして活発に開発が続けられているものとして、MySQL Workbenchというものがある。このツールは、ビジュアル的に(実体

    そろそろMySQL Workbench 5.2についてひとこと言っておくか。
  • MySQL 5.5 厳選リンク集

    現時点で出てきているMySQL 5.5関連の(MySQL 5.5の新機能を理解するのに役立つ)ページをまとめておくので参考にして頂けると幸いである。 ダウンロード MySQL 5.5 Download http://dev.mysql.com/downloads/mysql/5.5.html 何はともあれまずはダウンロード! マニュアル関係 Changes in MySQL 5.5.0 (Not yet released Milestone 2) http://dev.mysql.com/doc/refman/5.5/en/news-5-5-0.html MySQL 5.4.3からの変更点やバグ修正などはこちらで確認。 MySQL 5.5.0-m2 リリース! - MyNA http://www.mysql.gr.jp/frame/modules/news/article.php?stor

    MySQL 5.5 厳選リンク集
  • (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場

    InnoDBはMyISAMと比較して安全(OSクラッシュや電源断が発生してもテーブルが壊れない)分、書き込みが遅い。データベース屋さんからすると、それは当然のことでMyISAMがおかしいんだ、ということになり、だからバッテリバックアップ機能のついたRAIDカードを使うんだ、という話になる。でも、MyISAMを使っているウェブ屋さんの現場では、場合によって多少データが消えてもかまわないから、安いハードウェアで大量のアクセスを捌きたい... って乖離があるんじゃないかなーと思ってる。 そのような場合には、my.cnf の innodb_flush_log_at_trx_commit パラメータを調整することで、MyISAMに比肩する書き込み速度を得ることができる(そのかわり、クラッシュや電源断の場合は、設定によって直近1秒以内の変更が失われる)。 他のパラメータも含めて書いておくと、データベー

    (特にMyISAMを使っていた)ウェブ屋さんがInnoDBを使う場合の設定項目 - kazuhoのメモ置き場
  • MyISAMとInnoDBのどちらを使うべきか

    Twitterで話題になってたので簡単にまとめました。 ●MyISAMにしか無い機能を使いたい場合はMyISAMを使うしかない ・全文検索 (TritonnやSphinx) ・GIS ●InnoDBの利点(MyISAMの欠点) ▲障害対応系 ・クラッシュしても再起動するだけでリカバリができる ・クラッシュリカバリにかかる時間はテーブルサイズに比例するようなことはなく、コミット済みのデータは修復できる (巨大なMyISAMテーブルのREPAIRには数日単位で時間がかかることがある) ・オンラインバックアップができる ・INSERTやLOAD DATAなどを実行している途中でCtrl+Cでその更新系SQL文を止めても、テーブルは壊れないし、中途半端な状態で更新されることも無いし、スレーブが止まることも無い ▲性能系 ・行レベルロックなので並列性が高い(MyISAMはテーブルロック)。またSEL

  • MySQLの管理に役立ちそうな超多機能モニターツール「MONyog」:phpspot開発日誌

    MySQL GUI Tools. MySQL Monitor and Manager MySQLの管理に役立ちそうな超多機能モニターツール「MONyog」が結構便利そうです。 WindowsLinux上で動作するブラウザベースのツールです。 以下に、一部ですがそのフィーチャーについて紹介。 サーバごとのデータ、インデックスサイズが一覧できる データベースごとのサイズ、インデックスサイズなどをグラフで表示 クエリーアナライザー。クエリの統計が見れます。SQLごとの平均、最大実行時間などが分かりやすい どんなクエリが何回呼ばれたかといった統計 接続履歴、トレンド レプリケーションのステータス表示 プロセスリスト ダッシュボード Monyogの更なるスクリーンショットはこちら こちらにMonyogのドキュメントがあるので参考にしてください。 $99 〜のツールになりますが、これだけ多機能で、管

  • ウノウラボ Unoh Labs: 国産MySQLストレージエンジン「Spider」の作者、斯波健徳氏に聞く

    こんにちは。中村です。 MySQLにはMyISAM、InnoDBCSVなどのいくつかストレージエンジンがありますが、皆さんはSpiderというストレージエンジンを聞いたことはありますでしょうか。Spider Storage Engineは斯波健徳さんにより作成されたDatabase Shardingを可能にするストレージエンジンでMySQL 5.1で利用可能です。 先日、某集まりで斯波さんとお会いしたときにSpiderを作っているということを教えてもらったので、早速詳しい内容を教えてもらうことにしました。 ※Spiderについての説明資料はMySQLカンファレンス 2009にて斯波さんが発表されたときのスライドがあります。スライドの直リンク(zip) Spider Storage Engine について posted by (C)フォト蔵 Spider Storage Engineとは?

  • 限界までMySQLを使い尽くす!!

    どこまで出来るか?!やれるところまでやってやるぜ!!と、威勢が良いのは若い間だけの話。オトナのオトコは、攻めるときはとことん攻めるが自らの限界もわきまえて賢く振る舞うのがスマートってものである。というわけで、今日はMySQLのいろいろな限界についてまとめてみる。皆さんも是非MySQLの限界を知り、MySQLをもっとスマートに使って頂きたい。 SQL文の最大長 MySQLサーバーが実行出来るSQL文の最大長は、max_allowed_packetシステム変数で表される。max_allowed_packetの最大値は1GBである。max_allowed_packetの値はセッションごとにも設定可能なので、デフォルトではそこそこの値(16MBなど)に設定しておいて、必要に応じて大きな対を使うと良いだろう。 データベースの個数 データベースオブジェクトの個数に制限はない。データベースオブジェクトは

    限界までMySQLを使い尽くす!!
  • クロスプラットフォームなテーブル名 - MySQL編 | エンタープライズ | マイコミジャーナル

    SitePoint: New Articles, Fresh Thinking for Web Developers and Designers Craig Buckler氏がSitePointにMySQL Cross-Platform Table Namingという興味深い記事を掲載している。MySQLでテーブル名をつける場合に気をつけるべき内容が簡潔にまとめられている。WindowsMac OS Xで開発をおこない、LinuxやFreeBSDにデプロイして運用するといったスタイルを採用している場合には一読しておきたい内容だ。 MySQLではテーブルがファイルに対応することになる。Craig Buckler氏はMySQL Cross-Platform Table NamingのなかでMyTableという名前のテーブルを作成したものとして「SELECT id, name FROM myt

  • MySQL 5.4 詳細(当社比)情報 - sakaikの日々雑感~(T)編

    MySQL 5.4 について以下のURLにかなり詳しい情報が掲載されています。もちろん MySQL 5.4.0-beta 時点での情報ですので「予定は未定」的なものも多いのですが、このフェーズでこれだけのドキュメントがまとめられていることに、先行きの明るさを感じます。 http://dev.mysql.com/doc/mysql-5.4-features/en/index.html で、私エイゴヨメマセーン。 理解した(と自分が思った)とたんにもう忘れているのでメモしないと理解できないのです。 ということで、超訳というか、いやすでに訳じゃないです、妄想ですが、こんなことが書いてありますというメモを作っているので折角なのでここに書いておきます。 書いてないことまで書いてありますので注意。ちゃんとした情報を知りたい方は原文に当たってください。 明らかに意味違うよってところはコメント等で教えてい

    MySQL 5.4 詳細(当社比)情報 - sakaikの日々雑感~(T)編
  • MySQL の slowlog を logrotate する方法 | Carpe Diem

    よく MySQL に発行されている重いクエリーをチューニングするために slowlog を出力すると思います。サービスが成長してくると slowlog は増えていく傾向にあります。毎日、せっせとチューニングしているのは基中の基ですが、slowlog が肥大化してしまうとチューニングの結果がだんだんと見えなくなってしまいます。特に mysqldumpslow で解析をしているときなら、過去のクエリーまで分析に含まれてしまったりします。 かなり前置きがなくなりましたが、この slowloglogrotate する方法をまとめておきます。やり方は、いたってシンプルで /etc/logrotate.d/ に次のファイルを置くだけです。 /var/lib/mysql/mysqld.log /var/lib/mysql/mysql-slow.log  { # create 600 mysql