タグ

databaseとmysqlに関するmoozのブックマーク (14)

  • MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記

    いちいさんにお誘いいただいて、勉強会で発表をすることになりました。 InnoDB Deep Talk #1 : ATND おそらく初見では内容が難しいと思いますので、先に資料を公開しておきます。 プレゼンテーション資料 (PDF) テストデータ生成スクリプト (JdbcRunnerで利用します。) プレゼンテーション資料からリンクしているウェブサイトの一覧です。 MySQL Bugs: #64567: Last_query_cost is not updated when executing an unique key lookup Understanding and Control of MySQL Query Optimizer: Traditional and Novel Tools and Techniques: MySQL Conference & Expo 2009 - O'R

    MySQL SQLオプティマイザのコスト計算アルゴリズム - SH2の日記
  • InnoDBのclustered indexはあまり役に立ってないんじゃないのか - 極北データモデリング

    縁あって仕事MySQLを使いそうなので、いまのMySQLがどうなっているのか少しずつ調べている。 で、現在のデフォルトストレージエンジンであるInnoDBの設計思想に困惑している。 InnoDBは主キーを強制的にclustered indexにするとのことだが、それって何の役に立つのだろうか? 何のためのclustered indexか? clustered indexの利点は 一般のb-tree indexに比べて、range scanが圧倒的に速い*1 大量データ同士を最速で結合する「ソートなしMerge Join」が使える の2点だ*2。 これらの利点の代償として 行長を拡大するような更新が多発するとスキャンが徐々に遅くなっていく 主キー値が昇順になるようにinsertしないとスキャンが徐々に遅くなっていく ROWIDが存在しないので、セカンダリインデックスを経由するデータアクセス

    InnoDBのclustered indexはあまり役に立ってないんじゃないのか - 極北データモデリング
  • VPストレージエンジンを試す - sakaikの日々雑感~(T)編

    突然、MySQL用のVPストレージエンジンが気になったので試してみました。 VP(Vartical Partitioning)とは、文字通りテーブルの縦分割のことで、カラムがいっぱいあるテーブルをバッサリと縦に切って(もちろんPRIMARY KEYのカラムは両方に持ちますよ)別々のテーブルに分けて管理するというもの。 これだけなら、テーブルを分割したあとで、アプリケーションのほうで必ず両方のテーブルの整合性が保てるように追加/削除/更新をすれば良いだけなのですが、「だけ」とは言ってもこれは結構面倒。VPストレージエンジンを使うと元のテーブルレイアウトのままでもアクセスすることができるのです(親テーブル/子テーブル群 的に考えるとイメージがわきやすいでしょうか)。 まずは試してみます。Windows上で細かいことは気にせずにさくっと*1。 http://spiderformysql.com/

    VPストレージエンジンを試す - sakaikの日々雑感~(T)編
    mooz
    mooz 2011/09/16
    VP (Vartical Partitioning) Storage Engine. 元のプライマリキーのカラムは垂直分割後のテーブルに複製される.
  • Disadvantages of explicitly NOT using InnoDB Primary Keys?

    mooz
    mooz 2011/08/10
    InnoDB における RID
  • Database Scrubber Mysql Conference | PDF | Information Science | Information Technology Management

    This document discusses detecting errors in MySQL replication between a master and slave database. It proposes a three pass approach: 1) Using checksums to narrow search to inconsistent bloc…

    Database Scrubber Mysql Conference | PDF | Information Science | Information Technology Management
  • MyISAMとInnoDBのどちらを使うべきか

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

  • Wild Growth

    MySQL 5.7 and 8.0 have an issue of stopping replication on all slaves. I'm pleased to announce the release of Spider storage engine version 3.2(rc) and Vertical Partitioning storage engine version 1.1(beta). Spider is a Storage Engine for database sharding. http://spiderformysql.com/ Vertical Partitioning is a Storage Engine for vertical partitioning for a table. http://launchpad.net/vpformysql Pl

    mooz
    mooz 2011/05/21
    Spider Storage Engine (Sharding & Vertical Partitioning support for MySQL)
  • GitHub - mroonga/mroonga: A MySQL pluggable storage engine based on Groonga

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - mroonga/mroonga: A MySQL pluggable storage engine based on Groonga
    mooz
    mooz 2011/05/21
    MySQL pluggable storage engine for groonga.
  • 10分で理解するMongoDBのパフォーマンス - (゚∀゚)o彡 sasata299's blog

    2010年04月25日00:16 NoSQL MySQL 10分で理解するMongoDBのパフォーマンス MongoDBってスキーマレスなDBで、カラムが決められないような場合に使うと効果的なんだと思うんですが、「そういうデータはハッシュにして、JSON 形式で MySQL に保存すれば良いのでは?」という意見をいただいたので、その場合とのバフォーマンス比較をしてみました。 ※最初は MySQL として innodb でしか評価していなかったため、myisam の結果についても追記しました。(2010/04/25追記) ベンチマーク環境の準備 試した環境としては、MySQL 5.1.45, MongoDB 1.2.4 です。MySQL側はこんな感じ。 mysql> desc blogs; +------------+--------------+------+-----+---------

    mooz
    mooz 2011/04/29
    performance comparison. insertion, selection and join. iith index and without index.
  • 漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。

    InnoDBを使うとき、MyISAMと比較して度々やり玉に挙げられるポイントとして「COUNT()が遅い」というものがある。確かにInnoDBにおいて行数を弾き出すのにはテーブルスキャンが必要なのだが、そもそもMyISAMのCOUNT()が速い(テーブルの行数を保持してる)のが特殊なのであって、InnoDBが遅いわけではないのである。とはいえ、高速なCOUNT()については需要が多く、この問題には多くの人取り組んでおられるようだ。しかしながら、COUNT()のチューニングについては未だ語られていない点があるように見受けられるので、今日はCOUNT()のチューニングについて解説しようと思う。 COUNT(*)、COUNT(col)、COUNT(1)の違い基的なことではあるが、COUNT(*)とCOUNT(col)では意味が異なるため、異なる結果が返される場合がある。COUNT(*)はフェッ

    漢(オトコ)のコンピュータ道: InnoDBでCOUNT()を扱う際の注意事項あれこれ。
    mooz
    mooz 2011/01/07
    MyISAM はテーブルの行数を保持しているため COUNT が速い. InnoDB は MVCC のため保持しておくのが難しい.
  • SH2の日記

    JdbcRunner 1.3.1JdbcRunner 1.3.1をリリースしました。JdbcRunnerは各種RDBMSを対象としたオープンソースの負荷テストツールです。スクリプトでトランザクションを定義して多重実行し、スループットとレスポンスタイムを測定できます。またJdbcRunnerにはOracle DatabaseMySQL、PostgreSQLを対象としたテストキットが付属しており、ユーザーが独自にスクリプトを作成する以外にこれらを用いたベンチマークを行うことも可能です。 dbstudy.info JdbcRunner 1.3.1では最新環境への追従と細かい不具合修正を行いました。機能追加はありません。 動作要件をJava 8 → Java 17へ変更 PostgreSQL JDBC Driverを42.6.0へ更新 MySQL Connector/Jを8.0.32へ更新 My

    SH2の日記
  • 最強のMySQL HA化手法 - Semi-Synchronous Replication

    MySQL 6.0で搭載される予定の機能の一つに、Semi-Synchronous Replicationというものがある。コイツを使うととんでもなく凄いHA化ができるので、今日はその方法を紹介しよう。 まずはSemi-Synchronous Replicationの機能説明から。そもそもSemi-Synchrounousってナニ?どうして完全な同期でもなく非同期でもなくSemi-Synchronousなの?という疑問をまずは解消したいと思う。さっそく次の図を見て欲しい。 これはSemi-Synchronous Replicationの動作を図で表したものである。図だけではなんだかよく分からないと思うので、以下に各ステップの詳細を説明する。 アプリケーション(クライアント)からトランザクションをCOMMIT要求を出す。 バイナリログを更新する。 ストレージエンジン(テーブル)を更新する。

    最強のMySQL HA化手法 - Semi-Synchronous Replication
    mooz
    mooz 2011/01/03
    Semi-Synchronous Replication. Slave 側の Update 完了通知は待たないが, ログが転送されたことはコミット時点で保証する.
  • 残暑なんて吹き飛ばすぐらい熱いベンチマークをやろうぜ!!

    なんて幸運なことなんだろう。 実は最近、個人的にサーバーマシンを借りるという機会があった。そのマシンに搭載されているCPUコア数は合計48である!大事なのでもう一度いう。日語でいう。48CPUコアだ!一昔前なら数千万円もしたスペックだろうが、最近は実にリーズナブルにお求めいただけるようである。(価格についてはふせておく。)このマシンには2.2GHzのOpteron 6174が4つ搭載されている。つまり、ひとつのパッケージに12個のコアが格納されているのだ。これはすごい。いや、むしろどうしてこうなった?!というべきか。そのようなマシンを目の前にすると時代はメニイコアに向かっているんだなあと実感せざるを得ない。 今後、CPUがどんどんメニイコアに向かう流れはさけれない。コアを増やさなければCPUの性能が(システム全体としての性能が)向上しないからだ。CPUの演算回路に対して半導体素子をたくさ

    残暑なんて吹き飛ばすぐらい熱いベンチマークをやろうぜ!!
    mooz
    mooz 2011/01/03
    sysbench. 同時接続数を増やして計測.
  • MySQL 5.5新機能徹底解説

    今年も残すところあとわずかとなった。2010年もIT業界にとっては変化の多い一年だったが、皆さんにとっては良い年だっただろうか?既に何度かMySQL 5.5の新機能については取り上げたが、ついに正式版がリリースされたということでここで改めて新機能を解説し、今年最後のエントリを締めくくろうと思う。 MySQL 5.5にはこれでもかっ!というぐらい新機能が追加されている。しかもいずれもナイスなものばかりだ。一般的には、ソフトウェアに新機能が追加されると重くなったり安定性が低下する事例が後を絶たないのだが、MySQL 5.5に関してはそのようなことは全くないので安心して利用して頂きたい! InnoDBの大幅な改善種々ある改善点の中でも特に目をひくのがInnoDBストレージエンジンへの改良だ。実は、InnoDBMySQL 5.1が最初にリリースされたときから、2回アップデートが行われている。My

    MySQL 5.5新機能徹底解説
  • 1