Filesystem via MySQL

50 %
50 %
Information about Filesystem via MySQL

Published on February 22, 2014

Author: tomoyakabe



On a filesystem that uses database as its backend storage.
The source code is published at

Filesystem via MySQL T omoya KABE@DeNA 2014/02/20 Web若手の会#7@CROOZ

自己紹介 Operation Engineer Social Game Servers 2年目@DeNA 500+ servers Web若手の会 皆勤

おことわり 本発表は発表者の組織を代表するものではあ りません 制限時間にはおさまらないと思います

今回の発表ネタ ネタ候補 HTTP監視のNagios Plugin Perl HTTPモジュールのtimeout unicorn+Server::Starter …ちょっと古いので新しいのを作成

今回の発表 DBをbackendにもつ filesystemの実装




何に使うのか知らないが とりあえず作ってみる どうせ碌なことに使わないんだろうけど


仕様詳細 DBのBLOBカラムをファイルの中身とする テーブル名やカラム名はマウント時指定 面倒なのでreadonly 面倒なのでディレクトリ構造なし MySQLでテストする

つかいかた dbfs [OPTS] mountpoint OPTS —dsn —user —password —table —filename-column [—filesize-column] —content-column

デモ 動けばいいでしょ?

つくりかた/必要になったもの 大したことないシンプル Client Fuse libmysqlclient (devel) Perl Fuse DBI DBD::mysql Server MySQL

実装 簡潔! ! $ wc -l dbfs 101 dbfs 108 209 total 含pod

実装が小さな理由 DSN指定を引数に丸投げした 手抜き 最小限機能しか実装しない 実装したAPI getattr (stat) getdir (opendir, readdir) read (open, read, close)

ユースケース 画像をBLOBで管理していくのは運用として キツいのでは

使用時の注意 別にfilesystemのせいではないけど BLOBのサイズ TINYBLOB - 255 bytes BLOB - 65535 bytes MEDIUMBLOB - 16,777,215 bytes (2^24 - 1) LONGBLOB - 4G bytes (2^32 – 1)

以上 質疑は懇親会で!

Add a comment

Related presentations

Related pages

Linux Filesystems and MySQL | Percona Live: MySQL ...

Linux Filesystems and MySQL. ... when selecting the filesystem initially? We consider RAID levels and settings, SSD's, ext2, ext3, ext4, xfs, zfs (via ...
Read more

PHP: Filesystem - Manual

Filesystem. Introduction; ... is_uploaded_file — Tells whether the file was uploaded via HTTP POST; ... File System Related Extensions. Direct IO;
Read more

MySQL Bugs: #63632: Cannot access database via symbolic ...

Bug #63632: Cannot access database via symbolic link to a different filesystem: Submitted: 6 Dec 2011 17:40: Modified: 7 Sep 2012 19:14: Reporter: Terry Tuck
Read more


MySQL Fabric - Ein Leitfaden zur Verwaltung von MySQL Hochverfügbarkeit und Skalierung; MySQL Cluster 7.3: Neue Funktionen für internettaugliche Leistung ...
Read more

Filesystem & MySQL Backup, aber wie › Backups › System ...

Filesystem & MySQL Backup, aber wie. via . Filter; Neue Beiträge ... auf welchem ein Teamspeak 3 Server und ein kleines Wiki für mich mit MySQL Backend ...
Read more

sql - What's better/faster? MySql or FileSystem ...

What's better/faster? MySql or FileSystem? up vote 5 down vote favorite. 2. ... How to get readonly access to mysql files via g+w permission 750 or 640?
Read more

Planet MySQL

Planet MySQL ... MySQL Connector/Node.JS 1.0.4 was recently released as a development milestone release. This is the first version available via npmjs ...
Read more

MySQL :: MySQL Community Downloads

MySQL Community Downloads. MySQL Community Server (GPL) (Current Generally Available Release: 5.7.16) MySQL Community Server is the world's most popular ...
Read more

Using LVM for MySQL Backup and Replication Setup - Percona ...

With read-only snapshot you need to make sure filesystem ... If updates via replication are not ... lvm-for-mysql-backup-and-replication-setup ...
Read more