Система винда.
Стал перед вопросом как организовать хранение кэша спутниковых карт SAS.Планеты (сейчас около 25 гб).
Кэш состоит из файлов размером от байтов до 20 кб. Количество — несколько миллионов!
Стоит NTFS. Занимает все гараздо больше чем реально весит. Для мелких файлов в 10 раз, для 12-20 кб файлов — в 2 раза.
Какие решения предлагаются:
1) Сделать ntfs — "сжатие папок". Проблема — делать будет около месяца.
2) Сделать виртуальный диск с TrueCrypt. Минусы- шифровать мне не обязательно. Какая при это будет скорость работы с файлами?
Какие еще выбрать виртульные файловые системы/виртуальные или может нет для хранения?
Есть ли проблема с размером кластера в виртуальной файловой системе? Те сколько будут рельно занимать файлы на ней?
Требования:
1) скорость,
2) возможность расшарить папку по сети.
3) прозрачность всех файловых операций. Т.е. должен виден быть системой как обычный диск.
Приветствую, maelstrom2006, вы писали:
m> Система винда. m> Стал перед вопросом как организовать хранение кэша спутниковых карт SAS.Планеты (сейчас около 25 гб). m> Кэш состоит из файлов размером от байтов до 20 кб. Количество — несколько миллионов! m> Стоит NTFS. Занимает все гараздо больше чем реально весит. Для мелких файлов в 10 раз, для 12-20 кб файлов — в 2 раза.
ReiserFS очень бы вам помог... Позиционируется как раз для таких случаев: толпа мелких файлов.
m> Требования: m> 1) скорость,
Ага, есть
m> 2) возможность расшарить папку по сети.
samba, nfs, ftp
m> 3) прозрачность всех файловых операций. Т.е. должен виден быть системой как обычный диск.
Ну какбы да.
Только линукс это, хотя хз, может и будет драйвер под винды.
Здравствуйте, maelstrom2006, Вы писали:
M>Система винда. M>Стал перед вопросом как организовать хранение кэша спутниковых карт SAS.Планеты (сейчас около 25 гб). M>Кэш состоит из файлов размером от байтов до 20 кб. Количество — несколько миллионов! M>Стоит NTFS. Занимает все гараздо больше чем реально весит. Для мелких файлов в 10 раз, для 12-20 кб файлов — в 2 раза. M>Какие решения предлагаются: M>1) Сделать ntfs — "сжатие папок". Проблема — делать будет около месяца. M>2) Сделать виртуальный диск с TrueCrypt. Минусы- шифровать мне не обязательно. Какая при это будет скорость работы с файлами? M>Какие еще выбрать виртульные файловые системы/виртуальные или может нет для хранения? M>Есть ли проблема с размером кластера в виртуальной файловой системе? Те сколько будут рельно занимать файлы на ней?
M>Требования: M>1) скорость, M>2) возможность расшарить папку по сети. M>3) прозрачность всех файловых операций. Т.е. должен виден быть системой как обычный диск.
M>Спасибо.
Это решение тиражируется ? Если не тиражируется, то нет смысла заморачиваться из-за какой-то сотни гигабайт.
Здравствуйте, maelstrom2006, Вы писали:
M>Система винда. M>Стал перед вопросом как организовать хранение кэша спутниковых карт SAS.Планеты (сейчас около 25 гб). M>Кэш состоит из файлов размером от байтов до 20 кб. Количество — несколько миллионов! M>Стоит NTFS. Занимает все гараздо больше чем реально весит. Для мелких файлов в 10 раз, для 12-20 кб файлов — в 2
Вопрос, конечно, интересный Если б меня такое внезапно спросили , то
1. Windows умеет довольно прозрачно работать с архивами вроде ZIP, как с папками, при минимальной степени сжатия в том числе
2. большие архивы есть зло при их модификации, так что ветвистая (а ещё лучше и вправду сбалансированная) структура каталогов a'la SourceSafe или squid'овский кэш, где "большие" файлы + архивы "мелких" храняться только как листья была бы кстати тоже.
Понятно, код доступа к этому самому кешу придется модифицировать, особенно если кэш организован как-то иначе (а кстатит, как?)
BB>Вопрос, конечно, интересный Если б меня такое внезапно спросили , то BB>1. Windows умеет довольно прозрачно работать с архивами вроде ZIP, как с папками, при минимальной степени сжатия в том числе BB>2. большие архивы есть зло при их модификации, так что ветвистая (а ещё лучше и вправду сбалансированная) структура каталогов a'la SourceSafe или squid'овский кэш, где "большие" файлы + архивы "мелких" храняться только как листья была бы кстати тоже.
BB>Понятно, код доступа к этому самому кешу придется модифицировать, особенно если кэш организован как-то иначе (а кстатит, как?)
Всю виртуальную файловую систему хочу сделать в одном файле. Что бы можно было удобно копировать на ноут к примеру.
вопрос в каком формате ее организовать?
Скачал Winmount — Поддержка файлов-образов ISO, CUE/BIN, CCD,BWT, MDS, CDI, NRG, PDI B5T и ISZ.
Какую из них выбрать для миллионов файлов? Ест-но все должно пополняться из программы без особых тормозов.
Система хранения файлов куча папок (тысячи) и куча файлов (миллионы). ну и соотв. названия файлов.
Здравствуйте, maelstrom2006, Вы писали:
M>Здравствуйте, BigBoss, Вы писали:
M>Всю виртуальную файловую систему хочу сделать в одном файле. Что бы можно было удобно копировать на ноут к примеру. M>вопрос в каком формате ее организовать? M>Скачал Winmount — Поддержка файлов-образов ISO, CUE/BIN, CCD,BWT, MDS, CDI, NRG, PDI B5T и ISZ. M>Какую из них выбрать для миллионов файлов? Ест-но все должно пополняться из программы без особых тормозов.
M>Система хранения файлов куча папок (тысячи) и куча файлов (миллионы). ну и соотв. названия файлов.
Наличие файлов размером несколько байт — похоже на ошибку проектирования. Наверное нужно пересмотреть структуру файла,
выделить более крупные единицы, записываемые в файл.
А задачу переноса файлов лучше отделить от копирования, для переноса использовать быстрые утилиты копирования типа XCOPY, или архивирование перед переносом. запихать все обновляемые в один файл — будут большие проблемы с фрагментированием.
Была схожая проблема — на MicroSD карте хранился кэш GPSProg'и ~75000 файлов, при этом место куда-то незаметно, но много исчезало..
Расследование определило причину — карта была отформатирована (FAT) с большим размером кластера — 32 Kb, и каждый маленький файл хавал по 32 Kb сразу. После переформатирования с кластером 2 Kb — папка кэша с более гигабайта (имеется в виду конечно 'Size on disk', причем который на смартфоне/навигаторе и не посмотреть толком) — уменьшилась до ~200 Mb, чистая 'экомомия' получилась около 1,6 Gb!
может хранить в базе, а доступ организовать через нечто FUSE-подобное(только под вин)?
я использовал для своего картографического приложения (android) sqlite. По сравнению с хранением в ФС все просто летало.