タグ

mysqlに関するhiro_yのブックマーク (471)

  • 今日の MySQL - Partitioning 編 - - 日向夏特殊応援部隊

    さてと、ありがちな下記のようなテーブルを作ってみます。ちなみに 5.1.45 で試してます。 DELIMITER ; DROP TABLE IF EXISTS diary; CREATE TABLE diary ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `subject` varchar(64) NOT NULL, `content` text NOT NULL, `created_on` datetime NOT NULL, `updated_on` datetime NOT NULL, PRIMARY KEY (`id`,`updated_on`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 PARTITION BY RANGE ( to_days(updated_on)) ( PARTITION p

    今日の MySQL - Partitioning 編 - - 日向夏特殊応援部隊
    hiro_y
    hiro_y 2010/08/31
    「各 PARTITION に COMMENT 振ると後で見た時に便利なので振るべし」
  • 残暑なんて吹き飛ばすぐらい熱いベンチマークをやろうぜ!!

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

    残暑なんて吹き飛ばすぐらい熱いベンチマークをやろうぜ!!
    hiro_y
    hiro_y 2010/08/30
    「バージョンが上がるごとに着実にスケーラビリティが向上している様子が手に取るようにわかるだろう。これからのメニイコア時代の備えも万全である。」
  • AndroidのNFC機能でFeliCaの読み書きをする | −ゆめログ− | ゆめみスタッフブログ

    hiro_y
    hiro_y 2010/08/28
    なるほどdivをうまいこと入れ子にすればよいのか
  • HandlerSocketソースコード公開しました | BLOG - DeNA Engineering

    はじめまして、樋口と申します。 先日のDeNA Technology Seminar #2でお話させていただきました HandlerSocket Plugin for MySQL のソースコードを公開しました。 HandlerSocketとは? 簡単に言うと、MySQLデータベースへのアクセスを高速化するためのプラグインです。MySQLSQLパーザをすっ飛ばし、ネットワーク通信とマルチスレッド処理周辺を置き換えることによって、InnoDB等のデータベースエンジンの性能を限界まで引き出します。 このHandlerSocketですが、すでにモバゲータウンにて実際に運用しています。従来MySQLとmemcachedの構成で運用していた箇所を、HanderSocketを組み込んだMySQLだけの構成に置き換えました。その結果、MySQLサーバの負荷軽減、memcachedの負荷軽減、ネットワーク

    HandlerSocketソースコード公開しました | BLOG - DeNA Engineering
    hiro_y
    hiro_y 2010/08/25
    「MySQLデータベースへのアクセスを高速化するためのプラグインです。MySQLのSQLパーザをすっ飛ばし、ネットワーク通信とマルチスレッド処理周辺を置き換えることによって、InnoDB等のデータベースエンジンの性能を限界ま
  • Fast fulltext search for all languages on MySQL

    About Mroonga Mroonga is a storage engine for MySQL. It provides fast fulltext search feature for all languages including Chinese, Japanese and Korean to all MySQL users. Mroonga was called Groonga storage engine. Characteristic The latest release 15.16 is the latest release. It had been released at 2025-09-03. Install The latest posts Mroonga 15.16 has been released! (2025-09-03) Mroonga 15.11 ha

    Fast fulltext search for all languages on MySQL
    hiro_y
    hiro_y 2010/08/19
    Tritonn後継の全文検索ストレージエンジン、groongaがテストリリースに。アナウンスは http://www.mysql.gr.jp/mysqlml/mysql/msg/15373 も参照。
  • ECナビ エンジニアブログ : MySQL InnoDBでのネクストキーロックの落とし穴

    株式会社VOYAGE GROUPは、2022年1月、株式会社CARTA HOLDINGSと合併いたしました。 関連リリース:CARTA HOLDINGS、基幹グループ会社のCCIおよびVOYAGE GROUPと統合へ https://cartaholdings.co.jp/news/20210513_01/ CARTA トップへ

    ECナビ エンジニアブログ : MySQL InnoDBでのネクストキーロックの落とし穴
    hiro_y
    hiro_y 2010/07/02
    InnoDBのネクストキーロックの話。背景見づらいページ
  • 簡易 Migration ツール Ekot(エコー) を作ったよ - localdisk

    1回書いたエントリが消えちゃったのでやっつけで書いちゃうよ。 Rails っていうのは僕にとってそう魅力的でないけれど、1つだけ羨ましい機能がある。それが Migration. あまりに羨ましすぎて、PHPJava のお仕事でも Railsプロジェクトを作って Migration の機能だけ使ったりしてた。でも、それもめんどいので PHP 製で探し始めたところあるにはあるが、ORM の付属だったり array で定義をゴリゴリ書いたりして性にあわないので、自分で作ることにした。 localdisk / Ekot — Bitbucket ダウンロードはここから ekot-0.0.1.zip をダウンロードして下さい。 使い方 解凍したらコマンドプロンプトに「php ekot generate [任意の名前]」 すると「migrate」ってフォルダに「_タイムスタンプ任意の名前.ph

    簡易 Migration ツール Ekot(エコー) を作ったよ - localdisk
    hiro_y
    hiro_y 2010/05/17
    MySQLに対応したmigrationツール。
  • メモ: InnoDB Pluginのバグ - (ひ)メモ

    自分も含め、InnoDB Pluginの使用を検討してる人も多いのではないかと思うのですが、ちと気になるバグを見かけたので追試してみました。 Bug #47621 MySQL and InnoDB data dictionaries will become out of sync when renaming columns http://bugs.mysql.com/bug.php?id=47621 http://bugs.mysql.com/bug.php?id=44571 現象 カラムの名前を替えて、新しい名前のカラムに対して index をつけると、InnoDB Plugin 1.0.4 以前は mysqld がクラッシュし、1.0.5 以降はエラーが出て index がつけられない。 対処法 別テーブルを作ってデータをコピーする。 再現方法 DROP TABLE IF EXISTS

    メモ: InnoDB Pluginのバグ - (ひ)メモ
    hiro_y
    hiro_y 2010/04/30
    「カラムの名前を替えて、新しい名前のカラムに対して index をつけると、InnoDB Plugin 1.0.4 以前は mysqld がクラッシュし、1.0.5 以降はエラーが出て index がつけられない。」MySQL 5.1.46付属の1.0.7で修正された模様。
  • @IT Special PR:600億PVもMySQLで! モバゲーのインフラ底力

    携帯向けサイト「モバゲータウン」の勢いが止まらない。2010年3月の会員数は約1800万人、月間ページビュー(PV)600億という"モンスターSNS"に成長している。意外なことに、これだけのアクセスをさばくのに、memcachedをはじめとするKVS(Key-Value Store)系のインフラ・ソフトはあまり使っておらず、MySQLで十分だという。モバゲータウンのインフラ担当者に話を聞いた。 モバゲータウンを運営するDeNA(ディー・エヌ・エー)は、もともと1999年に開始したオークションサイト「ビッダーズ」で知られている。その後、オークションに加えてECサイトを開始し、auとの提携により「auショッピングモール」などで急速に成長した。 ビッダーズだけでも、数千万PV規模の大規模サービスだが、最近はモバゲータウンの成長が著しい。 「特に2009年9月から順次リリースした自社製のソーシャル

    hiro_y
    hiro_y 2010/04/26
    「基本的にはそれぞれ600台程度のWebサーバ(Apache)とMySQLサーバを使ってサービスを運用しているという。」memcached使わないでMySQLでsharding。結果としてwebサーバーと同程度の台数のDBサーバー。SSDでの運用も。
  • MySQLコミュニティ騒然!MySQL 5.5.4が与えるインパクト。

    先週、MySQL Conference & Expo 2010が開催され、盛況のうちに終了した。カンファレンスに合わせる形で、MySQL 5.5.3および5.5.4がリリースされたのだが、これが目を見張るような進化を遂げている。特に性能面での進化には目を見張るものがある!Jeremy ZawodnyやMark Calleghanといったコミュニティの重鎮たちも「非常にエキサイティングなリリースだ!」などと表して歓迎の意を表している。 というわけで、日はMySQL 5.5.3/5.5.4の新機能および変更点についてレビューしてみよう! おさらい。 〜 MySQL 5.5の既存の機能 〜MySQL 5.5が登場したとき、その新機能については以前にもエントリで紹介したが、ここで改めておさらいしてみよう。MySQL 5.5は、正確にいうと現在最新バージョンであるMySQL 5.1の「次の次」のバ

    MySQLコミュニティ騒然!MySQL 5.5.4が与えるインパクト。
    hiro_y
    hiro_y 2010/04/19
    MySQL 5.5.4の変更点とか。
  • MySQL のチューニング (ボトルネックの検出) : Figure out!! -ドリコムエンジニアブログ

    こんにちは! onk です。 SAPさんが各社とも「ソーシャルアプリは負荷対策が大事」って言っていますね。弊社でも mixi アプリ(PC),mixi アプリモバイルをリリースしたときはお祭り状態だったので,ふりかえりも兼ねて MySQL のボトルネックを調べる方法を書いてみました。(幸い,モバゲーオープンゲームのリリース時はこれらの経験が役に立ったので何ともなかったです) といっても 9 割方 そもそもサーバの設定がおかしい 更新が多いテーブルなのに MyISAM エンジン for 文の中でクエリを発行 INDEX 張ってない データ量がえらいことになってる 辺りなんですけどねー。 基は下から まず,ボトルネックを調べるときは下の層から上がっていくのが基です。たぶん。 なので ssh でサーバに入って (LoadAverage 300 ぐらいまでならなんとか入れますね) 以下のコマン

    hiro_y
    hiro_y 2010/04/01
    MySQLのボトルネック調査方法。
  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

    Webサービスでは、世界中からのトラフィックを捌く必要があるため、いくらチューニングしようとも一台のRDBMSでは捌ききることが出来ないのが常だ。MySQLは最初からマスター・スレーブ型のレプリケーション機能が搭載されており、スレーブをたくさんぶら下げることによって参照の負荷をスレーブに割り振るというスケールアウトによってその問題に対処してきた。スレーブによるスケールアウトは、参照(=PV)が多いWebサイトと非常に相性が良く、幾多のWebサイトにおいて実績を作ってきているし、まだまだ利用されている。 しかしながら、サイトのトラフィックが劇的に増加してくるようになると、レプリケーションによる負荷分散では追いつかなくなってきた。そこで人々がとった選択肢は、memcachedを利用することである。memcachedはインメモリ型の高速なKVSであり、参照・更新性能はMySQLより格段に高い。M

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
    hiro_y
    hiro_y 2010/03/23
    SPIDERストレージエンジン紹介。
  • DomainLore: .uk Domain Sales and Auctions

    Domain auction for getpixie.co.uk This auction is scheduled to start at 2025-07-25 15:30:00. See you soon! Return to the home page

    hiro_y
    hiro_y 2010/03/10
    PHP/MySQLで動くCMS。
  • 2010年03月01日の記事 | キムラデービーブログ

    オープンソースデータベースを加速する「キムラデービー」のブログです。カレー日記を兼ねてます。なお著者は2010-06-01より日オラクルに在籍していますが、サイト(ブログ、またはウェブサイト)において示されている見解は、私自身の見解であって、オラクルの見解を必ずしも反映したものではありません。 sakaikさんの首記の記事はうまくまとまっていますが、ところどころ勘違いする人や、じゃどう対処すればいいの?と思う人がいるのではないかなー、と思いましたので勝手に補足しておきます。(単なる便乗エントリともいいますがw) 1. [数値] 範囲外の数値は頭を押さえつけられる 2.[数値] 小数は勝手に丸められる(warningも出ない) 3.[数値] 数字以外が入っていると分かるところまでを登録してくれる 4.[文字列] 長さを超えると勝手にカットされる 5.[文字列] 「文字列連結」のつもりでう

    2010年03月01日の記事 | キムラデービーブログ
    hiro_y
    hiro_y 2010/03/04
    MySQLの自動変換をSQL_MODEで抑制。
  • これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編

    MySQLはとても気ぃつかい屋さんである。我々が投げる多少あいまいな指示も頑張って解釈し、なんとか文句を言わずに実行してみようと挑戦してみてくれる。 今日はそんなMySQLがケナゲに解釈してくれる自動変換について紹介しようと思う。この自動変換、ケナゲなMySQLの奥ゆかしさ故、出した指示と異なる動作をされたことに気がつかないことがある。ここで紹介する6つの自動変換をしっかり脳ミソにたたき込んでおけば、無用なトラブルにハマる時間も減るかもしれない。 1.[数値] 範囲外の数値は頭を押さえつけられる intやsmallint、bigintなどの数値型には、扱える範囲が決まっている。例えばint型なら最大21億ちょっとだ(unsignedの場合は43億弱)。これより大きい数字を登録するよう指示を出すとMySQLはどうするか。そう、頑張って入れられるところまで入れてくれるのである。「入れられるとこ

    これだけは覚えておきたい!!MySQL の6つの自動変換 - sakaikの日々雑感~(T)編
    hiro_y
    hiro_y 2010/03/04
    MySQLの自動変換いろいろ。
  • Tritonn のホットバックアップ(とsync 3回伝説) - kazuhoのメモ置き場

    Tritonn のホットバックアップ環境を構築しようと思って調査。結論から言うと 漢(オトコ)のコンピュータ道: MySQLバックアップ頂上決戦!! LVMスナップショット vs InnoDB Hot Backup の「MyISAMをスナップショットでバックアップ」でよさそう。 確認したこととしては、 Tritonn の全文検索データは FLUSH TABLES しても fsync されない つまり sync (1) の呼び出しが必須 linux の場合 sync (1) は1回呼べば十分だと man に書いてある POSIX 的には何回呼んでも書き込みが完了してる保証はない ってあたり。実際に、FLUSH TABLES WITH READ LOCK して sync 3回呼んでから LVM snapshot とって、myisamchk と sennachk してみたけど、myisamchk

    Tritonn のホットバックアップ(とsync 3回伝説) - kazuhoのメモ置き場
    hiro_y
    hiro_y 2010/02/05
    Tritonnのバックアップについて。MyISAMのバックアップと同様、LVMのスナップショットとか。
  • そろそろ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についてひとこと言っておくか。
    hiro_y
    hiro_y 2010/02/03
    MySQL AdministratorとQuery Browserを組み合わせたようなツール、MySQL Workbenchの紹介。ER図描ける。
  • 株式会社スタイルズ

    AWSアドバンスドコンサルティングパートナーの一員として活動する株式会社スタイルズが、AWS導入、移行、開発、セキュリティ、運用保守など、すべてのご相談に乗らせていただきます。 AWSを導入したいが何から始めたらいいかわからない 既存のベンダーが新技術に弱く、良い提案がもらえない クラウドの導入にセキュリティの不安がある AWSをとりあえず導入したが、さらに活用していきたい 社内にAWSの知見を持っている人がいない AWSならではのシステム開発を詳しく知りたい

    株式会社スタイルズ
    hiro_y
    hiro_y 2010/01/26
    innodb_thread_concurrencyの値によりパフォーマンス比較。デフォルト値はMySQLのバージョンによって違うので注意。
  • MySQL を使ったお手軽メッセージキュー実装 - ドワンゴ 研究開発ブログ

    はじめに この記事では、MySQL を使って簡単なメッセージキューを手軽に実装する方法を解説します。 メッセージキューとは、メッセージを一時的に溜めておき、順次処理するための仕組みです。迅速なレスポンスが必要な Web アプリケーションにおいて、時間のかかる処理を非同期に行うために、バックグラウンドで順次処理していくような場合に利用できます。 簡単なメッセージキューと言っても、大規模な運用にも耐えられる程度の速度と堅牢性を持ちます。 また、ここで解説している方法で作られたメッセージキューは、弊社ウェブサービスであるニコニコ動画に最近追加されたtwitter連携機能でも利用しています。 メッセージキューを作るにあたって 今回実装するメッセージキューは メッセージの追加(push)を高速に行う事ができる メッセージの取得(pop)はある程度高速に行う事ができる 多くのクライアントから同時に p

    hiro_y
    hiro_y 2010/01/26
    MySQL、単なるInnoDBのテーブルを利用してキューを作成。ロックのフラグを作ることで同時アクセスを防いでる。PHPのコードも。
  • DBサーバ向けLinuxチューニングを考える 〜 メモリオーバーコミット編 : DSAS開発者の部屋

    Cでプログラムを書いていて大量のメモリを確保したくなったとき、大抵は mallocを使うと思いますが、その際には戻り値がNULLかどうかを判断してエラー処理に飛ばすと思います。しかし、Linux のメモリ管理サブシステムには「メモリ・オーバーコミット」という機構があり、実装されているメモリ以上の領域を確保できてしまいます。 #include <stdio.h> #include <stdlib.h> int main() { int i; char *p; for(i=0;i<65536;i++){ p = (char *)malloc(65536); if(0 == (long)p){ break; } } printf("SIZE=%dMB\n",i*65536/1024/1024); return(0); } swapoff したメモリ 1G のマシンでこれを実行するとこんな感じにな

    DBサーバ向けLinuxチューニングを考える 〜 メモリオーバーコミット編 : DSAS開発者の部屋
    hiro_y
    hiro_y 2010/01/26
    MySQL専用サーバーでメモリオーバーコミットの設定を。オーバーコミットしないようにして確保できる実メモリの割合を上げる。OOM Killer避けに。