MySQL 5.1 リファレンスマニュアル :: 13 ストレージエンジンとテーブルタイプ :: 13.9 FEDERATED ストレージエンジン :: 13.9.1 FEDERATED ストレージエンジン概要
« 13.9 FEDERATED ストレージエンジン

13.9.2 FEDERATED テーブルの作成方法 »
Section Navigation      [Toggle]
  • 13.9 FEDERATED ストレージエンジン
  • 13.9.1 FEDERATED ストレージエンジン概要
  • 13.9.2 FEDERATED テーブルの作成方法
  • 13.9.3 FEDERATED ストレージエンジン  注意とヒント
  • 13.9.4 FEDERATED ストレージエンジンリソース

13.9.1. FEDERATED ストレージエンジン概要

MyISAMや CSV または InnoDBなどのような標準的なストレージエンジンを利用してテーブルを作成する時、それはテーブル定義とその関連データによって構成されます。FEDERATED テーブルを作成する時、テーブル定義は同じですが、データの物理記憶はリモートサーバ上で処理されます。

FEDERATED テーブルは2つの要素で成り立っています。

  • データベースのあるリモートサーバ、(.frm ファイルに格納されている)テーブル定義や関連テーブルのテーブルによって成り立っているものであると言い換える事もできます。リモートテーブルのテーブルタイプは MyISAM や InnoDB を含むリモート mysqld サーバにサポートされている全てのタイプと言えるかもしれません。

  • リモートサーバ上のテーブル定義とマッチするデータベースを持つ ローカルサーバ テーブル定義は.frmファイルの中に格納されています。しかし、ローカルサーバにはデータファイルはありません。その代わりに、テーブル定義はリモートテーブルを指し示すコネクション文字列を含んでいます。

ローカルサーバ上のFEDERATED テーブルでクエリやステートメントを実行する時、通常は情報をローカルデータファイルから挿入、アップデート、または削除する操作が、その代わりにリモートサーバに送られ、そこでデータファイルをアップデートしたり、適合する行を戻したりします。

FEDERATED テーブルセットアップの基本的な構造は 図 13.2. 「FEDERATED テーブル構造」に示されています。

図 13.2. FEDERATED テーブル構造

FEDERATED
          テーブル構造

ローカルサーバ(SQLステートメントが実行される所)とリモートサーバ(データが物質的に保管される所)間での情報の流れは次のようになっています。

  1. SQLコールが局所的に発行される

  2. MySQL ハンドラ API (ハンドラーフォーマットのデータ)

  3. MySQL クライアント API (SQLコールに変換されたデータ)

  4. リモートデーベース -> MySQL クライアント API

  5. 結果があればそれをハンドラフォーマットに変換する

  6. ハンドラ API -> 結果行、または行に影響された部分的な計算

Copyright © 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