From: zen kishimoto <zen kishimoto <zen@xxxxxxxxxx>> Date: Sat, 03 Sep 2005 09:24:15 -0700 Subject: [mysql 12071] 階層化されたデータをMySQLで扱う (Managing Hierarchical Data in MySQL) http://dev.mysql.com/tech-resources/articles/hierarchical-data.html (図はこのサイトを参照のこと) Mike Hillyer著 初めに 多くのユーザーは一回くらいはSQLデータベース内で、階層化したデータを 扱ったことがあると思います。そのときはリレーショナル データベースは階層化したデータ用に開発されなかったと考えたと思います。 リレーショナルデータベースのテーブルは階層化されておらず
ソーシャルゲーム開発者なら知っておきたい MySQL INDEX + EXPLAIN入門 広く浅くを担当してます、ota です。 技術ブログ第一回から早速流用スライドで申し訳ありませんが、社内勉強会資料として作成した「MySQL INDEX + EXPLAIN入門」です。 当社でもソーシャルゲームの開発を行っていますが、このような大量のデータを使用する・クエリの速度が求められる場合にインデックスは大変重要です。 インデックスの有効な利用にはDB設計者だけではなくプログラマにもある程度の知識が最低限必要となりますが、インデックスについての初心者向け資料があまりないようです。 このスライドではプログラマに知っておいて欲しい以下の基本的な点をまとめました。 INDEXを使用する時に気をつけること WHERE句 !=、<>はインデックスが使用できない WHERE句の全てのANDにかかっていないイン
ロック読み取り (SELECT ... FOR UPDATE および SELECT ... LOCK IN SHARE MODE)
随分と更新が空いてしまったが、「優れたMySQL DBAを見分ける27+3の質問」に対する回答例(漢バージョン)を紹介しよう。実は質問を掲載した際「難しい!」というコメントが非常に多く、もう少し易しい質問にするべきだったかと思って次のように呟いてみたのだが・・・ 非常に心強くて安心した。さすがに日本を代表するMySQLのエキスパートである。出題のレベルは間違ってはいなかった!! そんなわけで、回答の方に移ろう。 MySQLのサーバープロセスはいくつある?ひとつ。mysqldはシングルプロセス・マルチスレッドモデルを採用しているので、"サーバー"プロセスはひとつである。多くの場合、Linuxなどでmysqldを動かす場合には、お供にmysqld_safeも常に動いていることが多いが、mysqld_safeはサーバーではなく、mysqldのためのラッパーであるので数には含めない。 rootユー
小規模のサービスを如何にスモールスタートするか、そのために各コンポーネントをどうやって配置するのがいいのかという話。個人的な考えも含めて。 大まかな構成は昨年のnekokakさんのYAPC::Asiaでの発表、省サーバ運用と大体同じです。Web/Appに使うサーバ2台、データベース2台です。あとはLBが別にあればそれを、なかったらもう一台(組)必要となります。 Web/Appサーバには、Reverse Proxy、Application Serverがまず配置されます。あとは必要に応じてmemcached、Job Queueのworkerを動かします。ここまでのコンポーネントは2台のサーバ両方に配置し、Active-Activeで動作し冗長性がとれるよう構築します。cronについては、両方のサーバで動かしても問題がない状態が理想ですが、そうでない場合、Web/Appの1台目で動かすというル
my.cnfでinnodb_file_per_tableを指定せずibdata1ファイルが膨れ上がった時など、後からレコードを削除してもファイルを縮小することができない為、ディスク使用量を減らすためにはデータベースの再構築を行う必要があります。 再構築はmysqldumpでバックアップしておいて、mysql_install_db で初期化した新しいデータベースに流し込むだけです。 全体のサイズが比較的小さい場合は短時間で済むのでメンテナンス時間も短くて済みますが、サイズが大きくなると再構築に時間がかかるようになり夜間メンテの時間だけでは終わらなくなってきます。 サイトを止めている時間を最小にして、サイトにできるだけ負荷を掛けずに再構築する方法を記載しておきます。 とは言えダンプするときと切り替える時で最低2回止める必要がありますので、夜中などアクセスの少ないタイミングで作業しましょう。 今
Webアプリケーションの開発・実行環境として多くの開発者が支持するのがLAMP(Linux、Apache、MySQL、PHP/Perl/Python)です。この連載では、LAMP環境をソースコードから構築する方法を丁寧に解説していきます。(編集部) Webアプリ開発に不可欠のLAMP Webアプリケーション開発に欠かせないLAMP環境。皆さんはどのように用意していますか? サーバの選定からはじまって、LAMPのインストールと設定、テストや運用などなど、やるべき事はたくさんありますね。悩みやトラブルは尽きないと思います。 そこで本連載では、LAMP環境の構築という観点からLAMPを攻略していきます。とりわけ環境の基礎を作る作業である、インストールから設定を中心に取り上げます。環境構築というと一般にはインフラエンジニアの範疇になると思いますが、開発環境を構築したいWebアプリケーション開発者や
FC2ブログからMT5.2.7に引っ越す このブログも開発継続する気ないので引っ越… 開拓日誌ブログ上 me | コメント(0) Vyatta 6.6R1でやったーぶいっv もうルータ買わない!… 開拓日誌ブログ上 me | コメント(0) PHP 5.5の新機能 最近ぜんぜん注視してなかったけど、センス… 開拓日誌ブログ上 me | コメント(0)
2010年05月03日 MySQL5.1の設定項目(1) MySQL5.1にはストレージエンジンの指定から様々なキャッシュサイズやログ書き込みのタイミングまで設定が可能です。それぞれの設定項目についてみていきます。 ストレージエンジンの種類 ストレージエンジンにはInnoDBとMyISAMがあります。 InnoDBとは、トランザクション可能なテーブル型です。MyISAMテーブルは非トランザクションテーブルですが、InnoDBと比べると非常に高速です。マスタのような読み取り専用テーブルはMyISAMテーブルを使用し、更新、読み取りが同時に起こる可能性のあるものに関してはInnoDBテーブルを使用します。 CREATE TABLE table_a (...) TYPE = InnoDB; のようにテーブル作成時にテーブル型を指定可能です。指定省略時は「default-storage-eng
[InterDB] [著者HP] [PREVIOUS][UP][NEXT] ■■■■ [テーブルの構造] ■2-08■ InnoDB型 ■■■■ InnoDB型はトランザクション処理をサポートしているので、必然的にACID特性(Atomicity,Consistency, Isolation, Durability: 原子性,一貫性,隔離性,耐久性)が要求されます。 (いささか乱暴な区分ですが)MySQLはMVCC(Multi Version Concurrency Control: 多版型同時実行制御)により原子性と一貫性を、ログ法(Logging)により耐久性を保証するように実装されています(補足 1)。 InnoDB型テーブルのデータはシステム変数`innodb_data_file_path'に設定された(複数の)ファイルに分割して保管されます。 MySQLサーバはこれらの
http://www.mysql-ucj2007.jp/details/j25.html 木下 靖文 氏 NTTコムウェア株式会社 プロジェクト管理統括部技術SE部門 DB技術グループ (「InnoDB」は「いんのでーびー」と言うらしい...今まで「いのでーびー」と言ってました) InnoDBをなぜ使うか トランザクション コミット、ロールバック、セーブポイント 外部キー 行レベルロック オンラインバックアップ クラッシュリカバリ クラッシュリカバリ MyISAMはデータ量の増大とともに時間がかかる InnoDBはデータ量の増大との相関がない InnoDBチューニングの王道的アプローチ クエリを改善して全体的に処理効率を上げる データサイズをできるだけ小さく メモリをできるだけ多く積む コミット性能(同期書き込み) innodb_flush_log_at_trx_commit=1,0,2
Thank you very much for the great reactions and contributions we received since we put our first alpha build out last week. We have incorporated patches submitted by the community and further improved some code (even though we're currently busy sitting together at our Database Group Developer Meeting). So we've prepared the next packages and put them on our server. We also updated (cleaned up) the
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く