大量の画像ファイルの管理方法とは?

このQ&Aのポイント
  • 現在MySQLのひとつのテーブルに小さな画像データとメタデータを500万件程度管理しています。テーブルが大きくなりすぎて、WHERE節によるソートが遅くなってしまいました。
  • 画像データテーブルとメタデータテーブルに分ける方法(A)と、メタデータはMySQLで管理し、画像はファイルで管理する方法(B)が考えられます。
  • Bの場合、ファイル数の制限はなく、数百万個のファイルをひとつのフォルダに置くことも可能です。また、フォルダ構造の分散方法についても検討が必要です。画像ファイルのファイル名は連番の数字と考えてもらっても問題ありません。
回答を見る
  • ベストアンサー

大量の画像ファイルの管理

現在MySQLのひとつのテーブルに小さな(50KB程度)画像データとメタデータを500万件程度管理しています 数千万件程度までは増える可能性があります テーブルが大きくなりすぎて、WHERE節によるソートがとても時間がかかるようになってしまったので、これを整理しようと思っているのですが、やり方に迷っています 今候補なのは A.テーブルを画像データテーブルとメタデータテーブルにわける B.メタデータだけをMySQLで管理して画像はファイルで管理する です Aだと使いやすいですが、結局画像を管理するテーブルは巨大になってしまうのが気になります、また、データベースに詳しい人に少し相談するチャンスがあった時に画像はDBで管理するものじゃない、というようなことを言われたのも気になります そこでBで、やってみようと思ったのですが、ファイルの置き方に困ってしまいました ext4を使っているサーバなので、ひとつのディレクトリにおけるファイル数の制限はないようですが、ひとつのフォルダに数百万個のファイルを置いてもいいものなのでしょうか? また、ではファイル1000個程度づつをフォルダに分散させようと思った時に、どのような法則で分散させればよいのでしょうか? 何かフォルダ構造のつくり方のスタンダードはあるのでしょうか? ちなみに画像ファイルのファイル名は連番の数字と考えてもらってかまいません(連番じゃなくて、ハッシュかなにかにしたほうがいいのであれば、もちろんそれでもかまいません) アドバイスもしくは、参考になるサイトなど教えていただければありがたいです

  • MySQL
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

数百万個のファイルを同一階層にいれるとそのディレクトリに移動すると重くなりそうですね 分割するのが良いと思います 連番ならそんな感じのディレクトリつくればOK 0001_1000 (1番から1000番まで格納) 1001_2000 (1001番から2000番まで格納) といった具合に

bimson
質問者

お礼

ありがとうございました、参考になりました 結局2階建てにして例えば1234567だったら /data_root/001/234/1234567 と格納することにしました

関連するQ&A

  • MYSQLで画像の取り扱い

    ■質問対象環境:Mysql5.0.33 以降で判断してください。 Mysql内で画像を管理する場合について、教えてください。 過去のスレを読んで、Mysql内での画像(バイナリデータ) の取り扱いに関して、賛否両論があるようですが。 別ファイルでの呼び出しは、今回無い物としてご回答 頂きたいのですが、Mysql内で直接画像データを管理す る場合の事で過程してください。 ●メリットとディメリットについて詳しく教えていただけませんか。 ●画像の質はどうなりますか? ●レンタルサーバの場合データの制限有りなどの場合いくつか  のMYSQLサーバに分散して画像データを管理する事は出来ますか?  可能なら、その場合のディメリットがあれば教えて頂け  ませんか?※1 ※1 MySqlの書籍等でデータを分散管理等の記事を読んだのですが、 Mysql導入初期段階(特別な技術を導入しないで)で使えるのか等 すら解かっておりません、不適切な質問でしたら申し訳ございま せん。

    • ベストアンサー
    • MySQL
  • 大量のデジカメ画像の管理について

    大量のデジカメ画像の管理について 複数の社員が、共有フォルダに各々フォルダを作りデジカメで撮影した画像を保存しています。 フォルダ名は個人名にしている場合が多く、異動が行われる毎に個人名フォルダが増えていきます。被写体が同じ画像が複数のフォルダにいくつも保存されています。 フォルダ名、ファイル名は各々が設定しているのでバラバラです。 「windows live フォトビューワー」でタグを設定すると、保存されているフォルダが違っていても、同一タグが設定されているものを一覧で表示できるのですが、このタグを他のPCと共有することはできるのでしょうか? その他、共有フォルダに保存された大量の画像を、複数のPC間で管理するよい方法がありましたら教えていただけませんか? (例)  共有フォルダ    ⇒「田中」   →「写真」    →「A店」A店の写真    →「B店」B店の写真  ⇒「鈴木」   →「B」     →「写真」B店の写真   →「C」     →「写真」C店の写真   使用パソコン Windows XP

  • 携帯電話画像をPCへ取り込むファイル名について

    こちらで調べたのですが、回答が見つからなかったので投稿させていただきます。 私は、SH903iの携帯電話を(docomo)使っているのですが、 SDカードへ保存している写真をパソコンへ取り込む際に、同じファイル名になってしまうことがあり、取り込み後の管理が不便です。 取り込みの際に、「DVC00001」というような連番の番号がついたファイル名になるのですが、、 携帯電話の「microSD」内に画像フォルダがいくつか自動で作られているのですが、そのフォルダ毎にファイル名がつくため、 パソコンに取り込むと、同じファイル名で保存されてしまうことになり、画像は違うのに同じファイル名が多くなってしまい、パソコン内での画像管理が大変です。 【microSD】今現在のフォルダ内構成 100SHARP(DVC00001からの連番画像ファイル 104SHARP(DVC00001からの連番画像ファイル 105SHARP(DVC00001からの連番画像ファイル ↑PCで取り込む際に、このような状態になっているので、 各フォルダに違う画像が入っているのに、取り込む際に同じファイル名になってしまいます。 うまく取り込み&管理できる方法をご存知の方がいらっしゃいましたら教えてください。よろしくお願いします。<(_ _)>

  • 大量の画像ファイルを50ずつに分けたい。

    ※PC初心者の為記載がおかしい箇所がありましたら申し訳ありません。 10000件の画像(jpg)ファイルが一括で入ったフォルダが1つあり、それを50件ずつのフォルダに分けたいのですが自動でできる方法等ありますでしょうか。フリーソフトなど探したのですが見つけることができませんでした。 フォルダ内は下記のように基本の画像に添付の画像が付いている場合があり、名前の付け方は統一されていますが添付の枚数にかかわらず一緒になっています。(枝番号_1が基本の画像で_2~が添付画像です。AAAの_1と_2は同じ組となります。) これを組ごと(例:AAAは_1と_2で1組)に50組ずつに分けたいのですが画像数が多く困っております。 AAA_1 AAA_2 BBB_1 CCC_1 CCC_2 CCC_3 CCC_4 DDD_1 DDD_2 何か良い方法をご存知の方、宜しくお願い致します。

  • アクセスでの大量の画像管理って結局・・・

    どうか教えてください。 アクセスで2000件程度の情報(画像含む)を管理したいと考えています。 OLEオブジェクトを使用するとデータが重くなるということで、ネットや本を調べてみたのですが、ハイパーリンクだとフォーム上ではリンク先の名称までしか入らないなど、規制が多くなる気がします。 当方としては、フォーム上での画像は、クリック後でもかまわないのですが、レポートにした際、画像を羅列したいと思っています。 画像データはCDROMにはいっており、画像の名称はMDBのフィールド内の内容と一致しています。 形式は。jpgです。 これも、一件ずつリンクなり登録をさせていくのが時間がかかるため、できれば一括で取得したいと思っています。 アクセスではそういった用途にうまく対応することはできないのでしょうか? というか、大量の画像データの保持には向いていないのでしょうか?? 初心者の質問ですみませんが、かなり切実に困っています。 ご返答をお待ちしております。。

  • エクセルでmp3管理

    エクセル2003で、mp3ファイルの管理(データベースを作ってます)をしています。 管理されているmp3ファイルは約5000あり、いくつかのフォルダに分散しています。 曲のタイトル・アルバム名・入っているフォルダ・作曲者などのデータが管理されています。 そこでエクセルのデータベースで検索して出てきたファイルのフォルダをいちいち探し出して開くのは面倒なので、検索して出てきたデータのフォルダ名をクリックしたらそのフォルダを開けるようにしたいのですが、そういった事は可能なんでしょうか?

  • 大量のファイルの名前を一括して変更する

    本のデータベースをcsvファイルに落としました。データ数は1000件です。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・m123456789123456780.jpg・m023456789123456789.jpg 2・世界史・m123456780123456789.jpg・空白 3・神学論・m123406789123456789.jpg・m123456789123056789.jpg これを以下の仕様に変更したいのです。 ↓csvの形式 連番・書名・画像1ファイル名・画像2ファイル名 1・日本史・1-1.jpg・1-2.jpg 2・世界史・2-1.jpg・空白 3・神学論・3-1.jpg・3-2.jpg jpgファイルは約1200個で専用フォルダに入っていますが、ファイル名に「m123456789123456789.jpg」の規則性があるものの、数値部分が任意です。 win10を使っています。エクセル等のオフィス製品はあります。 よろしくお願い致します。

  • Windows 7のファイル管理について:

    Windows 7のファイル管理について: アプリケーション名は言えないのですが恐らくOSが管理するファイルのアロケーションテーブルどういうわけか狂ってしまっているという現象に遭遇してしまいました。 そう思った理由は以下の3点です。あるFolder1にいくつかのデータファイルが存在します。そのフォルダはネットワークで共有されていない個々のコンピュータのディスクベースに存在しています。 1. そのデータは別の3台のWindows 7上やXP上で2台で予想通りのデータ表示がされます。 2. 問題が発生しているマシーン上でもフォルダ名(Folder1-> Folder2)を変えると1と同様に正常にデータが表示される。 3. 2.で正常に表示されたフォルダ名(Folder2)をFolder1と変えるとまったく予期しないデータが表示される。 以上の理由からFolder1が差している物理的なディスク上のファイルが他のところを差していると考えられます。一応、完全削除のツールを使ってそのフォルダ(Folder1)を削除して解決をするかと思っていたのですが解決しません。以上に関連する2点と後Windows7について1点教えていただければと思います。 1. 自分ではファイルを管理するテーブルが部分的に何らかの破損によってこういう現象が起きていると考えているのですが他に原因と考えられることはありますか?ちなみにアクセスが制限されてデータが 読めないという感じは受けません(以前存在したファイルを読んでいるという感じです)。 2. 自分の予想通りの結果であれば恐らく完全にすべてのディスクを一度埋めてしまい再インストールすれば解決する問題かと思いますが、他によい方法があれば教えていただければ幸いです。 3.Windows7(Vistaでもそうなのかもしれませんが)フォルダのプロパティを見ると以前のバージョンということでさまざまな日付で記録されていますがシステムではなくユーザーはこれはどういうときに使いますか?Windows側でこういう管理をしているのでしょうか?今あるセキュリティソフトを使っていますがその特有の問題でしょうか? 部分的にでもお答えいただけると幸いです。 宜しくお願いします。

  • ファイル管理

    たくさんのファイルを管理するのに、 フォルダごとにA、B、C、D、と分けて、管理しますが、 一方、それらは、バラバラに、a、b、c、d、と別の所属にも分けて管理したい場合、どういう方法がありますか? 例えば、いろんなファイルが、A支店、B支店、C支店、D支店、というフォルダに入って管理されていて、これらは、別の角度から、異なるフォルダを作って、10代男、10代女、20台男、20台女、というようなフォルダにも分けて管理したいわけです。 別角度から、横断的にファイルを管理するわけです。ただし、支店別と、性年別は、それぞれが同じファイルを指して管理しており、コピーを作成して管理するわけではありません。 無料でできる方法でお願いします。

  • 画像ファイルを管理するソフト

    カメラで撮った写真や保存した画像などのファイルが増えてきて管理に困っています。 何か良いソフトはないでしょうか? たとえば、画像に簡単にタグがつけられたり、フォルダ内の画像全てに同じタグがつけられるようなきのがあればいいなと思います。 もちろん整理自体がしやすいに越した子はありませんが。 そういったソフトをご存知でしたら紹介していただければと思います。 よろしくお願いします。