Фирма хранит информацию о транзакциях в файлах(небольших от 20 до 40 кб) за большой период файлов накопилось миллионы.
Как построить схему хранения файлов и метаинформации о них, номер транзакции, дата, оператор с поддержкой версионности?
Предполагал хранить ссылку на место расположение файла и мета информацию в базе, 1 таблица для актуальных файлов, вторая таблица история изменений. Ключ это номер транзакции. На диске же хранить файлы так /data/trans_001/version_0/сам файл
и для версионности использовать /data/trans_001/version_1/сам файл. Правильно ли я мыслю? Самих папочек на версию будет 10-15, но вот самих файлов будет несколько миллионов. Могу разбить транзакции по контрагентам или дате или региону. Может кто то сталкивался с подобной задачей. Прощу подсказки. Спасибо
Здравствуйте, Павел_, Вы писали:
П_>Фирма хранит информацию о транзакциях в файлах(небольших от 20 до 40 кб) за большой период файлов накопилось миллионы. П_>Как построить схему хранения файлов и метаинформации о них, номер транзакции, дата, оператор с поддержкой версионности? П_>Предполагал хранить ссылку на место расположение файла и мета информацию в базе, 1 таблица для актуальных файлов, вторая таблица история изменений. Ключ это номер транзакции. На диске же хранить файлы так /data/trans_001/version_0/сам файл П_>и для версионности использовать /data/trans_001/version_1/сам файл. Правильно ли я мыслю? Самих папочек на версию будет 10-15, но вот самих файлов будет несколько миллионов. Могу разбить транзакции по контрагентам или дате или региону. Может кто то сталкивался с подобной задачей. Прощу подсказки. Спасибо
Формат файлов, структура? Паттерны доступа? Какая метаинформация? Прирост? Как все устроено сейчас? Какова цель переделки?
Без знания всего этого я бы рассматривал в такой последовательности:
— распарсить все и в базу
— не парсить и в базу
— VCS
— архивы
— свой велосипед
Здравствуйте, Павел_, Вы писали:
П_>Фирма хранит информацию о транзакциях в файлах(небольших от 20 до 40 кб) за большой период файлов накопилось миллионы. П_>Как построить схему хранения файлов и метаинформации о них, номер транзакции, дата, оператор с поддержкой версионности? П_>Предполагал хранить ссылку на место расположение файла и мета информацию в базе, 1 таблица для актуальных файлов, вторая таблица история изменений. Ключ это номер транзакции. На диске же хранить файлы так /data/trans_001/version_0/сам файл П_>и для версионности использовать /data/trans_001/version_1/сам файл. Правильно ли я мыслю? Самих папочек на версию будет 10-15, но вот самих файлов будет несколько миллионов. Могу разбить транзакции по контрагентам или дате или региону. Может кто то сталкивался с подобной задачей. Прощу подсказки. Спасибо
Бери sharepoint и не парься. Там уже есть версионность для файлов.
Re[2]: Версионность большого количества файлов, как?
Здравствуйте, wildwind, Вы писали:
W>Здравствуйте, Павел_, Вы писали:
П_>>Фирма хранит информацию о транзакциях в файлах(небольших от 20 до 40 кб) за большой период файлов накопилось миллионы. П_>>Как построить схему хранения файлов и метаинформации о них, номер транзакции, дата, оператор с поддержкой версионности? П_>>Предполагал хранить ссылку на место расположение файла и мета информацию в базе, 1 таблица для актуальных файлов, вторая таблица история изменений. Ключ это номер транзакции. На диске же хранить файлы так /data/trans_001/version_0/сам файл П_>>и для версионности использовать /data/trans_001/version_1/сам файл. Правильно ли я мыслю? Самих папочек на версию будет 10-15, но вот самих файлов будет несколько миллионов. Могу разбить транзакции по контрагентам или дате или региону. Может кто то сталкивался с подобной задачей. Прощу подсказки. Спасибо
W>Формат файлов, структура? Паттерны доступа? Какая метаинформация? Прирост? Как все устроено сейчас? Какова цель переделки?
W>Без знания всего этого я бы рассматривал в такой последовательности: W>- распарсить все и в базу W>- не парсить и в базу W>- VCS W>- архивы W>- свой велосипед
Структура XML ложится в базу неоюходимая информация, есть куча побочной, которая редко используется. Парчится файлик что нужно для работы ложится в базу что не особо остается в файлике.
Прирост постоянный за месяц на 20 тыс. Сейчас все хранится распределенно, трудночти с резервным копированием и котролем, цель вести централизованно.
Re[2]: Версионность большого количества файлов, как?
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, Павел_, Вы писали:
П_>>Фирма хранит информацию о транзакциях в файлах(небольших от 20 до 40 кб) за большой период файлов накопилось миллионы. П_>>Как построить схему хранения файлов и метаинформации о них, номер транзакции, дата, оператор с поддержкой версионности? П_>>Предполагал хранить ссылку на место расположение файла и мета информацию в базе, 1 таблица для актуальных файлов, вторая таблица история изменений. Ключ это номер транзакции. На диске же хранить файлы так /data/trans_001/version_0/сам файл П_>>и для версионности использовать /data/trans_001/version_1/сам файл. Правильно ли я мыслю? Самих папочек на версию будет 10-15, но вот самих файлов будет несколько миллионов. Могу разбить транзакции по контрагентам или дате или региону. Может кто то сталкивался с подобной задачей. Прощу подсказки. Спасибо
G>Бери sharepoint и не парься. Там уже есть версионность для файлов.
Как раз качаю 45 гиговую вуртуалку с sharepoint хотел посмотреть как там все устроенно и скопировать реализацию. Кажется что моя реализация хромает.
Re[3]: Версионность большого количества файлов, как?
Здравствуйте, Павел_, Вы писали:
П_>Структура XML ложится в базу неоюходимая информация, есть куча побочной, которая редко используется. Парчится файлик что нужно для работы ложится в базу что не особо остается в файлике. П_>Прирост постоянный за месяц на 20 тыс. Сейчас все хранится распределенно, трудночти с резервным копированием и котролем, цель вести централизованно.
Кладите в базу. Для экономии места можно в zip-е.
Я так понимаю, в базе у вас уже версионность есть, для того, что туда ложится. Так что не нужно ее изобретать отдельно для файлов. А если нет, значит так и так делать :)
Раз доступ к этим файликам нечастый, можно даже все версии одного файла объединять в теге-контейнере, все вместе зиповать и так компактно хранить.
Здравствуйте, Павел_, Вы писали:
П_>Как построить схему хранения [..] с поддержкой версионности?
There're at least two [common at present] design implementations that may correlate to you problem.
you may init a search w/ these two:
/svn/
/git/
A relatively good impression collection [technical]
[+ collection of relatively good translations [with the versioning context] to russian]
from both was available at some url that I jokingly mark as /platforma karmadrocherov/.