FEDERATED ストレージエンジンは、レプリケーションやクラスターテクノロジを
使わずに、ローカルサーバ上のリモートMySQLデータベースからデータに
アクセスすることを可能にします。FEDERATED テーブルを利用する時、
ローカルサーバ上のクエリはリモート(federated)テーブル上で自動的に
実行されます。ローカルテーブル上にはデータは何も格納されません。
データは、ネットワークに接続された他のMySQLサーバ(リモートサーバ)
上のデータベース内に格納されています。

MS SQLでいうリンクサーバー、オラクルでいうDB LINKに近い
機能かなと考えてます。

ソースからMySQLを構築し FEDERATED ストレージエンジンの機能を
有効にするには、–with-federated-storage-engine オプションの 
configure コマンドを実行します。

Federatedエンジンではリモートサーバ上のテーブルが、
ローカルサーバ上のデータベース内に存在するかのように動作します。
ローカルサーバのFederatedテーブルにアクセスするアプリケーションは、
リモートサーバの存在を意識することなく処理を行えます。
処理結果はリモートサーバ上のテーブルに反映されます。

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

1. リモートサーバ上にテーブルを作成します。または、
SHOW CREATE TABLE ステートメントを利用したりして、
存在するテーブルのテーブル定義のノートを作成します。

2. ローカルサーバ上に同一のテーブル定義を使ってテーブル
を作成しますが、そのときローカルテーブルをリモートテーブルにリンク
させるための接続情報を追加します。


CONNECTIONを利用して FEDERATED テーブルを作成



CREATE SERVERを利用してFEDERATED テーブルを作成



FEDERATEDストレージエンジンを専門に扱うフォーラム

━  Federatedテーブルに対しては、以下のコマンドが実行が可能 ━
SELECT文
INSERT文
UPDATE文
DELETE文
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
※実際のデータへの処理はリモートサーバにて行われるため、
リモートサーバにてインデックスが有効であれば、
インデックスが使用されます。

━━━Federatedエンジンにはいくつかの制約があります ━━━━
* トランザクションをサポートしません
* ALTER TABLE文とDROP TABLE文をサポートしません
* クエリーキャッシュをサポートしません
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ローカルサーバとリモートサーバを同一のサーバにて構成することも可能
しかし同一サーバで構成するケースはあまりありません。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
scheme://user_name[:password]@host_name[:port_num]/db_name/tbl_name
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
scheme      “mysql”文字列固定
user_name      リモートサーバへ接続するためのユーザ名
password       リモートサーバへ接続するためのパスワード(省略可能)
host_name      リモートサーバのホスト名
port_num       リモートサーバの接続ポート(省略可能)
db_name      リモートサーバ上の対象データベース名
tbl_name       リモートサーバ上の対象テーブル名
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Federatedテーブルを作成する際は、事前に対象となるリモートテーブルが
存在し、それが接続可能な状態になっている必要があります

もし、リモートテーブルが存在しないとCREATE TABLE文の実行が
正常終了しません。

Federatedテーブルを作成するとローカルサーバ上のデータベースディレクトリ
内に、どのようなカラム構成にてできているかなどのテーブル構造のデータが
格納された「テーブル名.frm」ファイルのみが作成されます。ディスク上に
データを格納するためのファイルは存在しません。
※ メモリーテーブルと同じ。

Comments are closed.

Post Navigation