powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание БД с большим набором файлов файлов данных
24 сообщений из 24, страница 1 из 1
Создание БД с большим набором файлов файлов данных
    #37581039
tooon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошу не пинать, может коту то на этом форуме ответ покажется очевидным. Я не специалист в данной области, потому хочется получить краткий лаконичный ответ.
Задача.
В центе геофизики ААНИИ
geophys.aari.ru
создается база данных по определенным видам наблюдений. В результате одного из методов наблюдений образуются достаточно большие файлы данных (порядка 5Мб каждый) . Частота формирования файлов такова, что в год получается порядка нескольких десятков Тб данных.
Файл состоит из заголовка, в котором имеется структура описания режимов наблюдений и, собственно, массив данных.
Нам необходимо индексировать эти результаты наблюдений.

Пока проблема решена следующим образом:
Создана SQL таблица в которой индексируются заголовки файлов. Файлы переписываются в хранилище, поле чего в таблицу добавляется путь к конкретному файлу. В данном случае имеется хорошая защита от полной потери набора данных. В случае повреждения таблицы ее легко восстановить заново проиндексировав файлы данных.
Проблема в том, что сложно формировать запрос к данным. По сути мы можем сделать выборку только по заголовку, а потом скачать файлы с сервера по их путям используя какой-либо транспортный протокол.

Вопрос:
Может будет правильнее переписать данные из каждого файла с отльную таблицу (со временим, правда, таблиц накопится многие тысячи) и сделать связи между основной заголовочной таблицей и таблицами набора данных? Тогда доступ к данным будет только посредством SQL запроса. Но возникает вопрос: справиться ли с такой организацией таблиц сама БД?
Т.е. вопрос сводится к следующему: как правильно хранить большие однотипные массивы данных?
Что в этом случае рекомендуете почитать?Заранее благодарю за грамотные ответы.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581046
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooon... будет правильнее переписать данные из каждого файла с отльную таблицу ... и сделать связи между основной заголовочной таблицей и таблицами набора данных.
В правильно заданном вопросе уже 50% ответа.
Что касается справится БД или нет. Вы упорно умалчиваете какая БД у вас. Могу с твердой уверенностью сказать что ORACLE справится. Единственное изначально правильно создать структуру БД и индексы.
Насчет надежности БД. Указанная выше вполне надежна. Но как и любую другую БД необходимо также защищать и железом - от примитивного RAID до высоконагруженного кластера. Поэтому тут вопрос скорее в ваших финансовых возможностях.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581058
tooon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ!
С железом проблем нет. В этом году обзавелись профессиональными DELL-овскими хранилищами.
Пока в режиме тестирования используем MySQL. Понятно, что его надо менять на что-нить приличное, поэтому приобретение Оракла в плане стоит.
В принципе индексируемый заголовок имеет простую структуру, пример:
1. дата время
2. координаты места наблюдений
3. идентификатор вида наблюдений
4. некоторые параметры, заданные измерительной аппаратурой

Далее массив однотипных данных.

Структура такой базы представляется достаточно простой. Стоит ли в этом случае привлекать специалистов?
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581059
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooonСтруктура такой базы представляется достаточно простой. Стоит ли в этом случае привлекать
специалистов?

Стоит. Потому что ваши "простые представления" откуда-то высосали, что "со временем таблиц
накопится многие тысячи"...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581082
tooon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovtooonСтруктура такой базы представляется достаточно простой. Стоит ли в этом случае привлекать
специалистов?

Стоит. Потому что ваши "простые представления" откуда-то высосали, что "со временем таблиц
накопится многие тысячи"...

Мне кажется я косвенно сообщил о том, что отдельные массивы данных, представленные в файлах, никак не связаны между собой. Связь только через заголовок. Поэтому все отдельные таблицы будут ссылаться только на основную заголовочную таблицу. Между наборами данных тысяч таблиц непосредственная связь отсутствует.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581090
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/17/2011 01:56 PM, tooon wrote:

> Может будет правильнее переписать данные из каждого файла с отльную таблицу (со
> временим, правда, таблиц накопится многие тысячи)

Таблица будет ОДНА, если конечно данные в файлах у вас регулярной (одинаковой)
структуры.

и сделать связи между основной
> заголовочной таблицей и таблицами набора данных?

Может и правильнее. Только тут прежде чем думать, надо ответить на
очень много постановочных запросов.

что за данные ?
что с ними надо делать ?
какими средствами ?
и ещё очень-очень много вопросов.
в общем нужно иметь все требования к обработке этих данных

Тогда доступ к данным будет
> только посредством SQL запроса. Но возникает вопрос: справиться ли с такой
> организацией таблиц сама БД?

Если хорошо сделать, справиться.

> Т.е. вопрос сводится к следующему: как правильно хранить большие однотипные
> массивы данных?

Если в реляционной СУБД, то в таблицах.
Собственно, другого способа и не может быть в реляционой СУБД.

> Что в этом случае рекомендуете почитать?Заранее благодарю за грамотные ответы.

Прежде всего, ТЗ на обработку этих данных.

Что от них нужно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581093
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooonПрошу не пинать, может коту то на этом форуме ответ покажется очевидным. Я не специалист в данной области, потому хочется получить краткий лаконичный ответ.


Да, если ты ещё не понял, то краткого и лаконичного ответа на твой вопрос не будет.
Если тебе кто-то такой ответ даст -- это будте неправильный ответ.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581097
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooon,

Посмотрите в сторону SQL 2008-12 - там появилось удобное обращение с файлами в базе - они как-бы и файлы (лежат как файлы), но они какбы и элементы базы - честно зарегистренные объекты базы - filestream
Ну а из постановки видно - что заголовки расписать на структуру базы, а "тело" хранить как блоб
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581100
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/17/2011 03:32 PM, sp wrote:

> Посмотрите в сторону SQL 2008-12 - там появилось удобное обращение с файлами в
> базе - они как-бы и файлы (лежат как файлы), но они какбы и элементы базы -
> честно зарегистренные объекты базы - filestream


Зачем ? Если им надо обрабатывать эти данные в БД, то их надо будет
структурировать (в виде таблиц). Если нет -- их нет смысла тянуть в БД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581108
tooon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, все ваши вопросы позволяют мне все больше понять как правильно сформулировать задание на создание данной БД.

Можно провести практически 100 процентный аналог нашей задаче:
По сути мы имеем множество wav файлов с фонограммами. В них есть заголовок (автор, исполнитель, год выпуска, муз направление) и потоковые данные.
Нам надо создать подобие фонотеки, которая будет сортироваться запросами по заголовочным параметрам. Очевидно, что мами потоковые данные в отдельных файлах связи никакой не имеют.
На обработку самих потоковых данных сформировать ТЗ практически не возможно, т.к. это задача дальнейших научных исследований. В любом случае элементы потоков не будут ка-либо сопоставляться, будут сопоставляться результаты их обработки.
Например, возвращаясь к примеру с фонотекой, кому-то будет интересно проследить как меняется звуковой спектр фонограмм в течении длительного времени. Например выявить тенденцию увеличения низкочастотных составляющих спектра и т.п.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581111
tooon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivOn 12/17/2011 03:32 PM, sp wrote:

> Посмотрите в сторону SQL 2008-12 - там появилось удобное обращение с файлами в
> базе - они как-бы и файлы (лежат как файлы), но они какбы и элементы базы -
> честно зарегистренные объекты базы - filestream


Зачем ? Если им надо обрабатывать эти данные в БД, то их надо будет
структурировать (в виде таблиц). Если нет -- их нет смысла тянуть в БД.

Данные непосредственно в БД обрабатываться не будут т.к. требуют комплексного математического анализа. Необходимо лишь получить простой доступ к этим данным.
пример с фонотекой выше.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581149
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/17/2011 03:46 PM, tooon wrote:

> На обработку самих потоковых данных сформировать ТЗ практически не возможно,

На самом деле главный вопрос -- будете ли вы обрабатывать эти данные в БД,
средствами SQL. Если да -- данные в базу. Если нет -- данные в файлах.
И оракл никакой не обязателен.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581185
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, об вопросы: где хранить файлы (в субд или файловой системе), а также какую СУБД выбрать было сломано немало копий, то бишь однозначного ответа здесь нет. Это к тому что специалист (ДБД) жизненно необходим. Плюс другой специалист (ДБА) необходим, чтобы ваша СУБД нормально работала.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581232
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooon,

Если вам достаточно получить файл по заголовкам, то того же мускула вам с головой хватит под БД заголовков. Сами файли храните на файлопомойке (думаю по железу вы сами там разберетесь), а ссылку на него в БД с заголовками.
Если же вы будете каким-то образом сопоставлять данные которые внутри файла, тогда ставьте Оракл и тяните данные в БД.

В первом варианте можно обойтись и без специалиста. В нете куча информации, есть много форумов где можно спросить если что-то непоймете.
Во втором случае лучше нанять на недельку специалиста который создаст шаблон БД. Потом по ходу дела, при желании, будете дергать человека для консультаций.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581287
tooon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руководствуясь ответами и повтыкав в инете рассматриваю наиболее оптимальным использование BLOB объектов, которые хранятся в файловой системе, как реализовано в MSSQL:

> В SQL Server большие двоичные объекты (BLOB) могут представлять собой данные стандартного типа varbinary(max), данные которых > хранятся в таблице, либо объекты FILESTREAM типа varbinary(max), данные которых хранятся в файловой системе.

Правда есть одна проблема - у нас сервак-линуксоид.
Посмотрел реализацию БЛОБов на MySQL, там вроде реализован только первый тип записей БЛОБов, т.е. табличный. (Может я плохо смотрел).
Какая СУБД под линукс умеет делать то же самое, что и MS SQL - т.е. организовывать файловое хранилище данных?

to Злой Бобр
Собственно у нас уже реализован первый вариант, но не понятно можно получать информацию из файлов на основе sql запросов или нет? Не хочется сначала получать ссылку на файл по sql, а потом скачивать его по ftp, например. В этом случае форма запроса усложняется и теряет свою универсальность. Вот если бы можно было получить данные только посредством sql, как это реализовано в БЛОБах.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581310
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooonКакая СУБД под линукс умеет делать то же самое, что и MS SQL - т.е. организовывать
файловое хранилище данных?

Oracle с его BFILE. Вам, возможно, хватит даже халявного XE.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581447
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooonВопрос:
Может будет правильнее переписать данные из каждого файла с отльную таблицу (со временим, правда, таблиц накопится многие тысячи) и сделать связи между основной заголовочной таблицей и таблицами набора данных? Тогда доступ к данным будет только посредством SQL запроса. Но возникает вопрос: справиться ли с такой организацией таблиц сама БД?
Т.е. вопрос сводится к следующему: как правильно хранить большие однотипные массивы данных?
Что в этом случае рекомендуете почитать?Заранее благодарю за грамотные ответы.

Таблицы плодить не надо. С кучей таблиц СУБД может и загнуться. Файлы (или ссылки на файлы вне БД) могут храниться в записях одной таблицы.

Что значит доступ SQL запросом? SQL запрос это только серверная часть кода. На клиенте всё равно нужны процедуры, которые заберут файл с сервера и сохранят на диск.
Что касается ORACLE то в БД файл можно хранить в виде LOB (Binary BLOB или Character CLOB). Но можно хранить ссылки на биарный файл вне БД - BFILE. Для загрузки файлов из BLOB, CLOB и BFILE используется один и тот же API поверх протокола взаимодействия с СУБД.

Однако, можно получать из БД имена файлов и загружать их по имени через FTP и т.п. или просто читать с сетевого диска.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581472
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> По сути мы имеем множество wav файлов с фонограммами

Судя по
"
1. дата время
2. координаты места наблюдений
3. идентификатор вида наблюдений
4. некоторые параметры, заданные измерительной аппаратурой

Далее массив однотипных данных.
"
как бы ничего общего с фонограммами. Вид наблюдений, насколько я понимаю, определяет характер данных. Количество таблиц будет идентично или кратно (в зависимости от способа реализации) количеству видов наблюдений.

> потоковые данные в отдельных файлах связи никакой не имеют

Типа статистика - не про них? Что же это за данные [одного вида наблюдений], для которых каждое измерение предполагает независимую модель? Так бывает?

> сформировать ТЗ практически не возможно, т.к. это задача дальнейших научных исследований

Позвольте вам не поверить.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37581944
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tooonto Злой Бобр
Собственно у нас уже реализован первый вариант, но не понятно можно получать информацию из файлов на основе sql запросов или нет? Не хочется сначала получать ссылку на файл по sql, а потом скачивать его по ftp, например. В этом случае форма запроса усложняется и теряет свою универсальность. Вот если бы можно было получить данные только посредством sql, как это реализовано в БЛОБах.
Какую информацию? Выше вроде как говорилось о том что с файлом вы работаете в других приложениях, а БД у вас выступает только в роли каталога (грубо говоря).
Скриптом можно сделать с файлом очень много. Для этого достаточно иметь ссылку на него.

Вы уж извините но что-то чтение мыслей у меня несрабатывает...
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37582409
JoFan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tooonСпасибо за ответ!
С железом проблем нет. В этом году обзавелись профессиональными DELL-овскими хранилищами.


несмотря на "профессиональное" железо - не забудь про бэкапы )
я бы взял postgresql и хранил данные в блобах
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37582474
mcureenab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JoFan,

зависит от конфигурации.

если, например, файлы с наблюдениями лежат на сетевом диске, то нет смысла прокачивать их через СУБД. Гораздо продуктивнее забирать их в программу непосредственно с диска.

С другой стороны, если нужно удалить кактие то файлы и записи в каталоге, то проще это сделать одним DELETE в БД, чем удалять записи из БД, а потом отдельно файлы с диска.
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37582695
sp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257Кстати, об вопросы: где хранить файлы (в субд или файловой системе), а также какую СУБД выбрать было сломано немало копий, то бишь однозначного ответа здесь нет. Это к тому что специалист (ДБД) жизненно необходим. Плюс другой специалист (ДБА) необходим, чтобы ваша СУБД нормально работала.

В данном случае подход Майкрософт - золотая середина - они и файлы держат и эти файлы - это часть БД и движок за это по понятиям отвечает!) (похоже Макрософтовцы тут читали бои :) )
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37582904
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 12/19/2011 12:49 PM, sp wrote:

> В данном случае подход Майкрософт - золотая середина - они и файлы держат и эти
> файлы - это часть БД и движок за это по понятиям отвечает!)

Ещё раз подчеркну главную мысль. Закачивать данные в блобы только для того,
чтобы их там хранить, нет никакого смысла. Закачиваться они будут какое-то
время, а от хранения в БД никакого выигрыша не будет.

Так имеет смысл делать наверное только в одном случае -- если ПО, которое
эти данные снимает с оборудования, сразу их загружает в БД, и по-другому
работать не может.

В других вариантах смысла пихать эти данные в БД нет никакого, если запросами на
SQL вы их не будете обрабатывать, а будете только писать и считывать обратно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Создание БД с большим набором файлов файлов данных
    #37583280
Фотография Болтун
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivТак имеет смысл делать наверное только в одном случае -- если ПО, которое
эти данные снимает с оборудования, сразу их загружает в БД, и по-другому
работать не может.
Я бы добавил, что если уж хранить данные в БД, то уже расшифрованые, а не сырые BLOBы. Но это уже будет совсем другая база :)
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Создание БД с большим набором файлов файлов данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]