MySQL ファイル システムの概要 (1)

黄舟
リリース: 2016-12-15 11:43:09
オリジナル
759 人が閲覧しました

Linux上のMySQLデータベースをファイルシステムとして扱える開発中のLinuxファイルシステムです。開発チームは、さらに多くの提案が得られることを期待しています。次の記事は次からの翻訳です:

http://no.spam.ee/~tonu/mysqlfs.html
-------------- ------------------

実際、これは通常の意味でのファイルシステムではなく、代わりに MySQL デーモンを使用してデータを保存します。 。 SQL テーブルと一部の関数は、ファイル システムを通じて実装できます。

1.それを達成するにはどうすればよいですか?

使用例を見てみましょう:

[root@localhost /root]# mount -t corbafs -o `cat /tmp/mysqlcorbafs.ior` none /mnt/mysql/

[root@localhost /root]# mount

/dev/hda3 on / type ext2 (rw)

none on /proc type proc (rw)

none on /dev/pts type devpts (rw,gid=5,mode=620)

/dev / /mnt/win の hda1 タイプ vfat (rw,mode=777)

/mnt/linux のタイプ vfat (rw,noexec,nosuid,nodev,mode=777) の

/mnt/mysql タイプの dev/hda4 corbafs (rw,IOR:01e50d401b00000049444c3a436f72626146532f46696c6553797374656d3a
312e300000010000000000000030000000010100000 a0 000003132372e302e302e
310008041800000000000009224bc335663462a01000000ef7ae13c0943c59f)


[root@localhost /root]# ls -la /mnt/mysql/


合計 0


-r-xr-xr-x 1 ルートroot 4096 dets 29 22:21 .uptime

dr-xr-xr-x 1 root root 4096 dets 29 22:21 test

dr-xr-xr-x 1 root root 4096 dets 29 22:21 mysql


[root@localhost /root]# cat /mnt/mysql/.uptime


1994


[root@localhost /root]# cat /mnt/mysql/mysql/user/Host


cpq.spam.ee

cpq.spam.ee

localhost

localhost

localhost

localhost

localhost

localhost


[root@localhost /root]# cat /mnt/mysql/mysql/user/Insert_priv

N

N

N

N

N

Y

Y


[root@localhost /root]# umount /mnt/mysql/

次に、なぜこれを行うのでしょうか?


場合によっては、こうすることで仕事が楽になることもあります。 MySQL とファイル システムはどちらもデータベースと呼ぶことができますが、概念もメリットもデメリットもまったく異なります。ファイル システムでは、オブジェクトの名前が変わっても、オブジェクトをすばやく簡単に見つけることができます。すべての初心者は、おそらく移動/コピー/名前変更/削除などの操作を学ぶ必要があります。ただし、SQL はアプリケーションを使用してファイル システムに保存されたデータを操作します。 MySQL ファイル システムは、SQL をユーザー レベルにもたらします。ユーザーは自分の知っている方法でデータベースを操作できます。


- 新しい製品がネットワーク経由でデータにアクセスする必要がある場合、ネットワーク経由でファイル システムにアクセスするためのいくつかのプロトコルと、場合によっては他の方法をサポートする必要があります。 MySQL が対応するプラットフォームに移植されていない場合でも、この方法で MySQL テーブルにアクセスできます。


- バックアップとバージョン管理、通常のファイルシステムはどのバックアップソフトウェアでも実現できます。データは diff を使用して比較でき、CVS を使用してバージョン管理できます。


- プログラミング時間の短縮。現在の日付やサイト名などの単純なデータを保存する必要がある場合があります。通常の方法を使用する必要があります。 ; コマンドを実行 -> 結果を保存します

MySQL ファイル システムを使用した後は、次の 1 つの文だけが必要です: (PHP 実装)


include(¨/mountpoint/database/table/field¨);


または、変更してください この表現方法:


include(¨/mnt/mysql/sitedata/topic/todaytopic¨);


これは理解しやすく、スペースも少なくて済みます。 SAMBA を通じて /mnt/mysql を共有して、SQL データベースを直接変更することもできます。テキストをデータベースに直接書き込むことも、コピー/ペースト機能を使用して画像をデータベースに入れることもできます。これは、Perl や PHP で何百行ものプログラムを作成するよりもはるかに労力がかかりません。

3. パフォーマンスはどうですか?

この記事の公開時点では、このファイル システムはまだプロトタイプ開発段階にあるため、速度はまだ理想的ではありません。正式リリースの時期が来れば、一部のデータベース関数は SQL を使用するよりも高速になるでしょう。 もちろん、パフォーマンスと機能の両方の点で SQL と比較できないものがまだ多く、複雑なクエリの多くは依然として SQL ステートメントを通じて完了する必要があります。ただし、これにより開発とトレーニングの時間が大幅に節約されるため、効率の面でも節約になります。


4. サポートされているテーブル タイプ:

現在、このファイル システムはすべてのテーブル タイプをサポートしています: MyISAM、DBD、HEAP、ISAM。

上記は MySQL ファイル システムの概要 (1) です。その他の関連記事については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート