タグ

mysqlに関するlabduckのブックマーク (21)

  • Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン

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

    Not Only NoSQL!! 驚異的なまでにWRITE性能をスケールさせるSPIDERストレージエンジン
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • MOONGIFT: MySQLのビジュアルデザイナー「MySQL Workbench」:オープンソースを毎日紹介

    Railsでは、データベースの設定をMigrationファイルに書いていって、即反映させながら開発を重ねていく。そのため、幾人かで開発を行っていると、徐々にデータベース構造が複雑化し、最適化されていない構造になってしまう。これはRailsに限らず、システム開発では常に生じるものだろう。 メイン画面 初期の頃からすべてを想定して作り上げていくことは難しいが、あるタイミングで正規化していく必要が生じるだろう。その時に役立つのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはMySQL Workbench、MySQLのデータベースデザイナーだ。 MySQL Workbenchはあるデータベースに関してテーブル、ビュー、ルーチン、SQLスクリプト等をビジュアル的に設計できる。ダイアグラムも作成でき、既に作成されているテーブルやビュー等をドラッグアンドドロップで配置し、そこに線を引い

    MOONGIFT: MySQLのビジュアルデザイナー「MySQL Workbench」:オープンソースを毎日紹介
  • Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE

    Apache/PHP/MySQL/SQLite/SQLiteManage/PhpMyAdmin/Zend OptimizerをWindowsにまとめてオールインワンでインストールすることができるようになっているのがオープンソースで開発されているこの「VertrigoServ」。 これらの各ソフトについて簡単に設定を変更できるコントロールパネルっぽいものがタスクトレイから一発で呼び出せるようになっており、非常に設定が簡単です。また、インストーラは日語化されているので安心です。 実際のインストール方法などは以下から。 VertrigoServ http://vertrigo.sourceforge.net/ ダウンロードしたら実行します 「OK」をクリック 「次へ」をクリック 「同意する」をクリック 「次へ」をクリック さらに「次へ」をクリック 「インストール」をクリック インストール中……

    Apache/PHP/MySQLなどをWindowsに一発でインストールできる「VertrigoServ」 - GIGAZINE
  • Ruby on Rails Tritonnによるらくらく全文検索 KWIC表示のチュートリアル - Tritonnプロジェクト 〜 MySQL Sennaによる全文検索 〜

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • MOONGIFT: » SQLインジェクションを防ぐプロキシ「GreenSQL」:オープンソースを毎日紹介

    ※ 画像は公式サイトデモより。 DBを使ったWebアプリケーションが当たり前になり、その重要性は増す一方だ。万一、データが消失するような事態になったら、ビジネスに与える影響は計り知れない。 SQLインジェクションはDBに対する攻撃の一つだ。システムにバグがなければ良いが、それは起こってみてからしか分からない。予防措置をしいておこう。 今回紹介するオープンソース・ソフトウェアはGreenSQLSQLインジェクションを防ぐDB用ファイアウォールだ。 GreenSQLDBとWebサーバとのプロキシとして動作する。そして、その間で行われるSQL文を監視し、問題があるSQLを予め弾いてくれる。 対応しているDBMySQLのみになる。ただ防ぐだけではなく、危ないものに対してはウォーニングログを残しておいてくれる。ログをチェックする事で、Webアプリケーションの強化も実施できる。 セキュリティ対策

    MOONGIFT: » SQLインジェクションを防ぐプロキシ「GreenSQL」:オープンソースを毎日紹介
  • ウノウラボ Unoh Labs: MySQL オペミスでデータが破損してしまった場合の復旧方法

    こんにちは satoです。 オペミスで update に where句を付け忘れたり、プログラムのバグでデータが破損してしまったりした場合でも、バイナリログには更新SQLがすべて書き込まれるので、バックアップデータからオペミスが起こるまでの全てのSQLを流し込めれば、元の状態に戻すことは可能です。 •バイナリログを取っている •オンラインバックアップをとっている(mysqldumpMySQLを止めた状態でのcpによるバックアップとバイナリログ) •バックアップ時点でのバイナリログの書き込み位置を保存している 以上のような状態でデータが壊れた時の復旧手順をまとめてみました。シナリオとして •ある1カラム email をupdateしようとしたら、間違ってwhere 句を付け忘れ 全レコードをupdateしてしまった •気がついたのが半日後 というオペミスが発生したとします 1) データベー

  • livedoor Techブログ : DB(MySQL)をファイルシステムのかわりにする Apache モジュール

    こんにちは池邉です。 今回は実験的なApacheモジュールを公開してみたいと思います。。 どういう事をするモジュールかというと、あらゆるデータを MySQL に入れておき、ファイルシステムのかわりに使ってしまうモジュールです。 以下のようなテーブルを用意します。 CREATE TABLE vfs ( id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, path CHAR(100) NOT NULL, type CHAR(32) DEFAULT 'text/plain' NOT NULL, content MEDIUMBLOB, created_on DATETIME NOT NULL, updated_on TIMESTAMP, UNIQUE KEY(path) ) ENGINE=InnoDB; Apache の httpd.conf

  • CodeZine:DeNAの人気サイトに学ぶ LAMPによるWeb-DBシステム構築/運用の極意(前編)(モバオク, モバゲー)

    シングルマスタの非同期レプリケーション機能では、マスタサーバーが1台に限定され、マスタからスレーブへの複製は非同期で行なわれるため遅延が生じ、短時間のスケールで見ると全スレーブとの同期が保証されない。しかし、その反面スレーブの台数を増加させていってもマスタサーバーの更新負荷は大きくならず、スケーラビリティを維持できるという利点がある。DeNAによる運用実績でも、マスタとスレーブ間の遅延は通常数秒程度以内に収まる。 このレプリケーションを利用する場合、アプリケーション側ではデータ更新時にはマスタサーバーへ接続し、データ参照のみを行なう場合はスレーブサーバーへ接続するように作成する必要がある。 Webや携帯電話向けサービスの場合、小さな規模で始めてユーザー規模、データ規模、ページビュー数を徐々に増加させていくことが多い。小さな規模のためDBの負荷分散が不要な場合でも、マスタサーバー1台、スレー

  • MOONGIFT: » RailsでDB管理「RailsMyAdmin」:オープンソースを毎日紹介

    Railsで開発を行う際にDBは必須だろう。簡易的なものであればSQLiteで良いが、これまでの経験では大抵MySQLが利用されている。 DB管理にはphpMyAdminや、GUIDB管理ツールを利用してきたが、Rails上で一括管理できるこちらが便利そうだ。 今回紹介するオープンソース・ソフトウェアはRailsMyAdmin、Rails上のDB管理ソフトウェアだ。 RailsMyAdminではRailsでのDB設定を利用するので設定も手間もなく簡単に利用できる。インストールはプラグインとして簡単にでき、environment.rbに設定を書き加えるだけでいい。 テーブルの一覧やデータの一覧表示、追加、編集はもちろん可能だ。また、created_at/updated_atといったRails特有のフィールドは値を入れられないのも便利だ。テーブル構造の変更はもちろん不可で、migration

    MOONGIFT: » RailsでDB管理「RailsMyAdmin」:オープンソースを毎日紹介
  • ウノウラボ Unoh Labs: MySQL最適化のミニtips

    yukiです。 今回はWebサイトを製作する上で欠かせないデータベース(DB)のお話です。Linux、Apache,MySQL,PHPを組み合わせたLAMPという言葉が登場して久しいですが、Webサービスを構築する上で欠かせないのがDBの存在ですね。 運用後Webサイトが順調に拡大し規模も大きくなってきた頃、パフォーマンスに悩むことも出てくるものです。 ハードウェアや構成に問題がある場合、ロジックに問題がある場合など様々ですが、DBを見直してみるのも手かもしれません。 銀行の預金残高などのようにミッションクリティカルである場合や、ともかくパフォーマンス性を求められるなど様々あり、一概に言えるものでもありませんが、 Webサービスにおいては有名な8秒ルールも、最近では6秒、3秒、1秒と求められるパフォーマンスはどんどん短くなって来ています。 パフォーマンスだけでなく、メンテナンスコ

  • MySQLノウハウ

    いろいろなからメモってきたメモのメモ。出典を書いておくのを忘れた。思い出し次第補完するかも。 deleteのコストは高いので、無効化を示すフィールドを作ってupdateすべき slow query logに要注意 多くのエントリでほとんどのフィールドが同じ値を持つ場合はインデックスの効果が小さい →複合インデックスの効果が大きい 複合インデックスは指定の順番が大切。AとBという指定の場合、A単独でもインデックスの効果がある。逆は真でない。 インデックスが使われる場面は フィールド値を定数と比較するとき (where name = 'hogehoge') フィールド値でJOINするとき (where a.name = b.name) フィールド値の範囲を求めるとき (<,>,between) LIKE句が文字列から始まるとき (where name like 'hoge%') min(),

  • Open Tech Press | MySQLデータのバックアップ方法

    2007年5月31日10:53 Tom-Adelstein、Bill-Lubanovic(2007年5月29日(火)) ファイルやディレクトリのバックアップは比較的簡単だが、データベースのバックアップとなると、いくつか特別な工夫を施す必要がある。ここではMySQLを取り上げているが、同じ原理はPostgreSQLやその他のリレーショナルデータベースにもあてはまる。 稿は、最近O’Reillyから出版された書籍『 Linux System Administration 』の抜粋。 MySQLサーバを休みなく稼働させ続ける必要がないなら、以下に示すような圧縮なしのオフラインバックアップ手法が手っとり早い。 MySQLサーバを停止させる。 # /etc/init.d/mysqld stop MySQLのデータファイルおよびディレクトリをコピーする。例えば、MySQLのデータディレクトリ/var

    Open Tech Press | MySQLデータのバックアップ方法
  • hori-uchi.com: mysqldumpで文字化けしないためのメモ

    ローカルの開発環境で使っていたMySQLなんですが、何も考えずデフォルトの設定で使っていたら、mysqldumpした際に、データが文字化けして、ちょっとは待ったのでメモ。 MySQLのバージョンは4.1.20。 文字化けする原因は、mysqldumpがデフォルトでは、文字コードをUTF-8で出力するようになっていて、フィールドの型がUTF-8でない場合は、自動でUTF-8に変換するためのようです。 僕が使っていたDBは文字コードについて特に何も設定していなかったので、デフォルトの文字コードであるlatin1になっていました。 なので、これもmysqldumpするとlain1 -> UTF-8な変換が自動で行われ文字化けしたということのようです。納得。 この自動変換を行わないようにすれば解決するはず。ということで調べてみると、--default-character-setというオプションを使

  • えせSEの1日1Hack : mysqldump

    早いもので、2週目に突入です。 来であれば、もっと早くに書くつもりでしたが、JSONにはまって、結局この時間です・・・ 今日は、MySQLの管理に欠かせない、mysqldumpコマンドについて。 普段は、cronなどに、一度登録してしまうと、なかなか見直す機会がなくなりますが、ぜひこれを機会に一度見直しを! いろいろと、サンプルを出しますので、想定するMySQLのデータベースを以下のように設定します。 ユーザ: root パスワード: hoge DB名: example まずは、通常は、以下のような感じでしょうか? $ mysqldump --user=root --password=hoge example > example.dmp これで、example.dmpという、ダンプファイル(バックアップファイル)ができあがります。 もちろん、これで問題ない方も多いとお思いますが、

  • binWord/blog - MySQLのデータベースを別サーバーに移行する

    binWord.comはレンタルサーバーを借りて運営している。これまで使っていたサーバーにだいぶ負荷がかかっており、Movable Typeでのリビルド(Rebuid:再構築)や、PukiWikiでの編集作業等々でストレスを感じたり、サーバーが応答しなくなることも増えてきた。そこで、同じ業者の別サーバーに移行することにした。 HTMLなどのユーザーデータは基的に業者が移行してくれることになっているのだが、厄介なのがMovable Typeで使用しているMySQLデータベースだ。これはその他のユーザーデータとは別のところに格納されているため、自分でバックアップ・復元を行う必要がある(業者が移行作業をやってくれてもいいと思うんだけどね……)。 なお、Movable Typeにはデータの書き出し・読み込み機能があるのだけど、これを使ってデータを復元すると、コンテンツの順番がずれてしまうことがあ

  • 「ちょっと待て」 真・MySQLのクエリを最適化する10のTips:CodeZine

    Jaslabs: High performance phpで紹介された「MySQLのクエリを最適化する10のTips」に対して、反論している人がいる。ブログ「20bits」のJesse氏だ。彼は「10 Tips for Optimizing MySQL Queries (That don’t suck)」というエントリーで、Jaslabs氏の記事は適切でないとしている。 Jesse氏の経験によれば、SQL最適化で最も重要なことはSQLDBの基をしっかりと理解することであり、60%がこれで解決するという。残り35%はDBやクエリの特殊な性質に対する対処であり、最後の5%で発想の転換などを求められる。Jaslabs氏はここにばかり力を入れており、それはまったくもって時間の無駄だと述べている(Jesse氏は「SQL_SMALL_RESULTなんて、生まれてこの方使ったことすらない」とまで言

  • MySQLのクエリを最適化する10のTips - PHPプロ!ニュース

    平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。 件に関するお問い合わせはこちらよりお願いいたします。

  • [自作][Rails] MySQLでFULLTEXTを使う

    Posted by masuidrive Mon, 02 Oct 2006 15:30:00 GMT MySQLのFULLTEXT検索 をRailsで使うための、パッチ?を作ってみました。 はじめは、migrationの中で下のように直接SQLを叩いてたんですが、これだと普通の実行は問題ないのですが、test環境でうまく行きません。 どうやら、db/schema.rbに吐かれるindexが普通のタイプな為、全文検索ができなくて失敗するようです。それにcreate_tableのoptions指定もなくなり、テーブルタイプがInnoDBで生成されるため、MyISAMしか使えない全文検索はうまく行きません。 そこで、schema.rbを生成する部分と、add_indexを拡張して、MySQLの全文検索をサポートさせてみます。 mysql_fulltext.rb をlib/ディレクトリに読み込んで

  • MySQLの高速化 Tips - memo.xight.org

    Summary my.cnf [client] # セキュリティ面から変更すべき port = 3306 [mysqld] # インデックスをバッファに保存する際のメモリサイズ # MyISAMならOSキャッシュも使用するため,全メモリの30-40%を当てると良い. key_buffer = 256M # InnoDBはOSキャッシュを使用しないため,全メモリの70-80%を当てると良い. innodb_buffer_pool_size =512M # データのキャッシュサイズ.I/Oを減らす. # 数百のテーブルであれば,1024が良いらしい. table_cache = 256 # スレッドの作成,削除は負荷が大きい. # Threads_Createdの動きを見ながら変更. thread_cache = 16 # あまり効果は無いらしい. #innodb_additional_poo