Dies ist ein in der Entwicklung befindliches Linux-Dateisystem, das die MySQL-Datenbank unter Linux als Dateisystem verarbeiten kann. Das Entwicklungsteam hofft auf weitere Vorschläge. Der folgende Artikel wurde übersetzt von:
http://no.spam.ee/~tonu/mysqlfs.html
--------- ---------
Eigentlich ist dies kein Dateisystem im üblichen Sinne. Es hat keinen Speicherplatz, sondern nutzt MySQL. Daemon zum Speichern von Daten. SQL-Tabellen und einige Funktionen können über das Dateisystem implementiert werden.
1. Wie erreicht man das?
Sehen wir uns ein Anwendungsbeispiel an:
[root@localhost /root]# mount -t corbafs -o `cat /tmp/mysqlcorbafs.ior` none /mnt/mysql/
[root@localhost /root]# mount
/dev/hda3 auf / Typ ext2 (rw)
none auf /proc Typ proc (rw)
none auf /dev/pts Typ devpts (rw,gid=5,mode=620)
/dev/hda1 auf /mnt/win Typ vfat (rw,mode=777)
/dev/hda4 auf /mnt/linux Typ vfat (rw,noexec,nosuid,nodev,mode=777)
none auf /mnt/mysql Typ corbafs. (rw,IOR:01e50d401b00000049444c3a436f72626146532f46696c65 5379 7374656d3a
312e300000010000000000000030000000010100000a0000003132372e302e302e
310008041800000000000009224bc335663462a01000000ef7ae13c0943c59f)
[root@localhost /root]# ls -la /mnt/mysql/
to tal 0
-r -xr-xr-x 1 root root 4096 ab 29 22:21 .uptime
dr-xr-xr-x 1 root root 4096 ab 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
N
Y
Y
[root@localhost /root]# umount /mnt/ mysql/
2. Warum machst du das?
In manchen Fällen kann dies die Arbeit erleichtern. Sowohl MySQL als auch Dateisysteme können als Datenbanken bezeichnet werden, sie haben jedoch völlig unterschiedliche Konzepte, Vor- und Nachteile. In einem Dateisystem können Objekte schnell und einfach gefunden werden, auch wenn sich ihr Name ändert. Jeder Anfänger sollte wahrscheinlich Vorgänge wie Verschieben/Kopieren/Umbenennen/Löschen erlernen. Aber SQL ist anders. Es verwendet Anwendungen, um im Dateisystem gespeicherte Daten zu manipulieren. Das MySQL-Dateisystem bringt SQL auf die Benutzerebene. Benutzer können die Datenbank so bedienen, wie sie es können.
– Wenn ein neues Produkt über das Netzwerk auf Daten zugreifen muss, muss es einige Protokolle und möglicherweise andere Methoden unterstützen, um über das Netzwerk auf das Dateisystem zuzugreifen. Auf MySQL-Tabellen kann auf diese Weise zugegriffen werden, auch wenn MySQL nicht auf die entsprechende Plattform portiert wurde.
– Sicherung und Versionskontrolle, normale Dateisysteme können durch jede Sicherungssoftware erreicht werden. Daten können mit diff verglichen und mit cvs versioniert werden.
– Kürzere Programmierzeit, wie das aktuelle Datum oder der Site-Name. Diese Daten müssen selten verwendet werden:
Verbinden zum Server -> Wählen Sie den Befehl -> Speichern Sie das Ergebnis
Nach der Verwendung des MySQL-Dateisystems benötigen Sie nur einen Satz: (PHP-Implementierung)
include(¨/mountpoint/database/table/field¨);
Oder anders ausgedrückt:
include(¨/mnt /mysql/sitedata /topic/todaytopic¨);
Dies ist leicht zu verstehen und nimmt weniger Platz ein. Sie können /mnt/mysql auch über SAMBA freigeben, um die SQL-Datenbank direkt zu ändern. Sie können Text direkt in die Datenbank schreiben oder die Funktion „Kopieren/Einfügen“ verwenden, um Bilder in die Datenbank einzufügen, was viel weniger arbeitsintensiv ist als das Schreiben von Hunderten von Programmzeilen in Perl oder PHP.
3. Wie ist die Leistung?
Zum Zeitpunkt der Veröffentlichung dieses Artikels befindet sich dieses Dateisystem noch im Prototypen-Entwicklungsstadium, daher ist die Geschwindigkeit noch nicht ideal. Wenn es zur offiziellen Veröffentlichung kommt, werden einige Datenbankfunktionen schneller sein als die Verwendung von SQL. Natürlich sind viele davon immer noch nicht mit SQL vergleichbar, sowohl hinsichtlich der Leistung als auch der Funktionalität, und viele komplexe Abfragen müssen immer noch über SQL-Anweisungen abgeschlossen werden. Dies spart jedoch viel Entwicklungs- und Schulungszeit und ist somit auch eine Einsparung hinsichtlich der Effizienz.
4. Unterstützte Tabellentypen:
Derzeit unterstützt dieses Dateisystem alle Tabellentypen: MyISAM, DBD, HEAP, ISAM.
Das Obige ist ein kleiner Vorgeschmack auf das MySQL-Dateisystem (1). Weitere verwandte Artikel finden Sie auf der chinesischen PHP-Website (m.sbmmt.com)!