無料PHPプログラム

MySQL 5.1 リファレンスマニュアル :: 1 一般情報 :: 1.5 MySQL の開発ロードマップ :: 1.5.1 MySQL 5.1 での新機能
« 1.5 MySQL の開発ロードマップ

1.5.2 MySQL 5.2で計画されている新機能 »
Section Navigation      [Toggle]
  • 1.5 MySQL の開発ロードマップ
  • 1.5.1 MySQL 5.1 での新機能
  • 1.5.2 MySQL 5.2で計画されている新機能

1.5.1. MySQL 5.1 での新機能

以下の機能が MySQL 5.1 に追加されました。

  • パーティション:この機能では、テーブル作成時に設定されたルールに従い、ファイル システムに渡って各テーブルのポーションを分散することが可能になります。結果として、同一テーブルの異なるポーションが異なる場所に独立テーブルとして保存されますが、ユーザの観点からは、分割されたテーブルは依然として1つのテーブルとなります。 構文上、このことは新しい拡張数値を CREATE TABLE、ALTER TABLE そして EXPLAIN ... SELECT ステートメントに対して実行します。MySQL 5.1.6 以降は、テーブルの分割クエリとして パーティション プルーニング が利用できます。この結果、テーブルを分割させない場合の同じクエリと比較して、はるかに高速でクエリの実行が可能となるケースもあります。この機能に関してさらに詳しい情報を知りたい場合は、章?15. パーティショニング を参照してください。(執筆: Mikael Ronstrom)

  • 行ベースのレプリケーション:MySQL におけるレプリケーション機能は本来、マスタからスレーブまでSQLステートメントの伝播に基づいて行われていました。これは、ステートメントベースのレプリケーション と呼ばれています。MySQL 5.1.5 以降、レプリケーションのためにもう1つのベースが利用できるようになりました。これは、行ベースのレプリケーション と呼ばれています。スレーブに SQL ステートメントを送る代わりに、マスタは各テーブルの行がどのように影響を受けるかを指定するバイナリ ログへのイベントを書き込みます。MySQL 5.1.8 以降では、3つ目のオプションが利用できます。組み合わせ です。これは、デフォルトではステートメントベースのレプリケーションが利用され、ある特定の場合にのみ行ベースのレプリケーションに切り替わるものです。詳しくは 項5.1.2. 「レプリケーション フォーマット」 を参照してください。(執筆: Lars Thalmann、 Guilhem Bichot、 Mats Kindahl)

  • プラグインAPI:MySQL 5.1 では、サーバの再起動をしなくても、ランタイムに様々なコンポーネントのロード/アンロードを可能にするとてもフレキシブルなプラグイン API も追加でサポートしています。実行が終了していなくても、プラグイン フルテキスト パーサ は実行内容の最初のステップとなります。この結果、ユーザは、PDF ファイルやその他の文書フォーマットのような任意データにおいてフルテキスト検索機能を可能にすることで、インデックス テキストの入力フィルタを実行できるようになります。プレ パーサ フル テキスト プラグインは、テキストの実効パーシングおよび抽出を行い、MySQL のビルトイン フル テキスト検索にそれを渡します。詳しくは 項25.2. 「The MySQL Plugin Interface」 を参照してください。(執筆: Sergey Vojtovich)

  • イベント スケジューラ:MySQL イベントは、スケジュールに従って実行するタスクです。1つのイベント作成時は、1つかそれ以上の正規インタバルで実行される、同じく1つかそれ以上の SQL ステートメントを含む名前つきデータベース オブジェクトを作成していることになります。このオブジェクトは、指定されたデータや時間で開始および終了するものです。概念として、このことはUnixの crontab (「コロンジョブ」 としても知られる)や、Windows のタスク スケジューラの考え方に似ています。詳しくは 章?19. Event Scheduler を参照してください。(執筆: Andrey Hristov)

  • サーバ ログ テーブル:MySQL 5.1 以前では、サーバはログ ファイルに一般クエリ ログや低速クエリ ログ エントリーを書き込みます。MySQL 5.1 以降では、サーバのこういったログ書き込み機能はより柔軟性のあるものとなります。ログのエントリはログ ファイル (上記のように) あるいは general_log および mySQL データベースの slow_log に書き込まれます。ロギングが有効になると、ディスティネーションのいずれかまたは両方が選択されます。 --log-output オプションはディスティネーションあるいはログ出力のディスティネーションを管理します。詳しくは 項4.11.1. 「一般クエリとスロー クエリのログ出力先の選択」 を参照してください。(執筆: Petr Chardin)

  • インスタンス マネージャー(IM) に新しい機能が追加されました。SHOW instance_name LOG FILES はすべてのログ ファイルをリストアップし、SHOW instance_name LOG {ERROR | SLOW | GENERAL} size は指定ログファイルの一部を検索し、SET instance_name.option_name=option_value はオプションを指定値に設定して構成ファイルに書き込みます。詳しくは 項4.4. 「mysqlmanager ? MySQL Instance Manager」 を参照してください。(執筆: Petr Chardin)

  • アップグレード プログラム:mysql_upgrade プログラム(MySQL 5.1.7 以降で利用可能)では、MySQL サーバの現バージョンとの不適合性を調べるためにすべての現存テーブルがチェックされます。また、必要であればそれらの修復も行われます。このプログラムは各MySQLのアップグレードに対して起動されなければなりません。詳しくは 項4.5.4. 「mysql_upgrade ? MySQL アップグレードのテーブル チェック」 を参照してください。(執筆: Alexey Botchkov、Mikael Widenius)

  • MySQLクラスタ間のレプリケーションがサポートされるようになりました。MySQLクラスタと非クラスタデータベース間のレプリケーションも可能になりました。項14.10. 「MySQL Cluster レプリケーション」 を参照してください。

  • MySQLクラスタディスクデータ:5.1.6以前のMySQLバージョンでは、NDBClusterストレージエンジンは必ずメモリ内に保存されていましたが、MySQL 5.1.6からはディスク上のクラスタデータ(ただし、インデックスではない)に保存されることが可能になりました。このことで、MySQLクラスタは以前よりも少ないハードウェア(RAM)で拡大できるようになりました。項14.11. 「MySQL Cluster ディスク データ ストレージ」 を参照してください。

    ディスクデータの実行では、大量データ(テラバイト値域)の保存時に、高速ノード再起動のための新「no-steal」修復アルゴリズム も実行されます。

  • MySQLクラスタに対するオンラインADD INDEXおよびDROP INDEX:テーブルへのインデックス追加と削除は、MySQLクラスタの前バージョンよりも、NDBストレージエンジンを使用したほうが遥かに高速で処理されます。これは、NDBがテーブルを再作成する必要がないかわりにこれらのスキーマを現存テーブルに直接変換できるため、実現可能となっています。

  • MySQLクラスタ上での改良バックアップ実行:クラスタバックアップ中に単一データノードに生じる障害が、MySQLクラスタの前バージョンのように、アボートするために完全バックアップを起こすことはありません。

  • テーブルスペースのバックアップ:mysqldump機能では、テーブルスペースのダンプオプションがサポートされています。-Yまたは--all-tablespacesを使用して、この機能を有効にしてください。

  • INFORMATION_SCHEMAに対する改良:MySQL 5.1では、メタデータ データベースでさらに詳しい情報が提供されています。そのデータベース上の新しいテーブルには、FILES、EVENTS、PARTITIONS、PROCESSLIST、ENGINESそしてPLUGINSが含まれています。

  • XML 機能:ExtractValue()は、作成されたXPath表現に適合するXMLフラグメントの内容を返します。UpdateXML()は、XMLフラグメントから選択された要素を、ユーザが第二XMLフラグメント(これもユーザが与えたもの)を与えたXPath表現に置換します。そして、修正XMLを返します。詳しくは 項11.9. 「XML 関数」 を参照してください。(執筆: Alexander Barkov)

  • ロードエミュレータ:mysqlslapプログラムは、MySQLサーバにクライアントのロードをエミュレートし、各ステージのタイミングを報告するよう設定されています。それは、複数のクライアントがサーバにアクセスしているかのように働きます。詳しくは 項7.16. 「mysqlslap ? クライアント負荷エミュレーション」 を参照してください。(執筆: Patrick Galbraith, Brian Aker)

Copyright c 1997, 2010, Oracle and/or its affiliates. All rights reserved. Legal Notices
Top / Previous / Next / Up / Table of Contents
© 2010, Oracle Corporation and/or its affiliates

無料CGI PHPスクリプト | 新着情報スクリプト | 営業日カレンダー | PHPマニュアル | MySQLマニュアル | PEARマニュアル

Copyright (c) 2010 jmcodex.com All rights reserved.