|
|
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
Прошу не пинать, может коту то на этом форуме ответ покажется очевидным. Я не специалист в данной области, потому хочется получить краткий лаконичный ответ. Задача. В центе геофизики ААНИИ geophys.aari.ru создается база данных по определенным видам наблюдений. В результате одного из методов наблюдений образуются достаточно большие файлы данных (порядка 5Мб каждый) . Частота формирования файлов такова, что в год получается порядка нескольких десятков Тб данных. Файл состоит из заголовка, в котором имеется структура описания режимов наблюдений и, собственно, массив данных. Нам необходимо индексировать эти результаты наблюдений. Пока проблема решена следующим образом: Создана SQL таблица в которой индексируются заголовки файлов. Файлы переписываются в хранилище, поле чего в таблицу добавляется путь к конкретному файлу. В данном случае имеется хорошая защита от полной потери набора данных. В случае повреждения таблицы ее легко восстановить заново проиндексировав файлы данных. Проблема в том, что сложно формировать запрос к данным. По сути мы можем сделать выборку только по заголовку, а потом скачать файлы с сервера по их путям используя какой-либо транспортный протокол. Вопрос: Может будет правильнее переписать данные из каждого файла с отльную таблицу (со временим, правда, таблиц накопится многие тысячи) и сделать связи между основной заголовочной таблицей и таблицами набора данных? Тогда доступ к данным будет только посредством SQL запроса. Но возникает вопрос: справиться ли с такой организацией таблиц сама БД? Т.е. вопрос сводится к следующему: как правильно хранить большие однотипные массивы данных? Что в этом случае рекомендуете почитать?Заранее благодарю за грамотные ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 12:56 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooon... будет правильнее переписать данные из каждого файла с отльную таблицу ... и сделать связи между основной заголовочной таблицей и таблицами набора данных. В правильно заданном вопросе уже 50% ответа. Что касается справится БД или нет. Вы упорно умалчиваете какая БД у вас. Могу с твердой уверенностью сказать что ORACLE справится. Единственное изначально правильно создать структуру БД и индексы. Насчет надежности БД. Указанная выше вполне надежна. Но как и любую другую БД необходимо также защищать и железом - от примитивного RAID до высоконагруженного кластера. Поэтому тут вопрос скорее в ваших финансовых возможностях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 13:15 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ! С железом проблем нет. В этом году обзавелись профессиональными DELL-овскими хранилищами. Пока в режиме тестирования используем MySQL. Понятно, что его надо менять на что-нить приличное, поэтому приобретение Оракла в плане стоит. В принципе индексируемый заголовок имеет простую структуру, пример: 1. дата время 2. координаты места наблюдений 3. идентификатор вида наблюдений 4. некоторые параметры, заданные измерительной аппаратурой Далее массив однотипных данных. Структура такой базы представляется достаточно простой. Стоит ли в этом случае привлекать специалистов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 13:36 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooonСтруктура такой базы представляется достаточно простой. Стоит ли в этом случае привлекать специалистов? Стоит. Потому что ваши "простые представления" откуда-то высосали, что "со временем таблиц накопится многие тысячи"... Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 13:40 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovtooonСтруктура такой базы представляется достаточно простой. Стоит ли в этом случае привлекать специалистов? Стоит. Потому что ваши "простые представления" откуда-то высосали, что "со временем таблиц накопится многие тысячи"... Мне кажется я косвенно сообщил о том, что отдельные массивы данных, представленные в файлах, никак не связаны между собой. Связь только через заголовок. Поэтому все отдельные таблицы будут ссылаться только на основную заголовочную таблицу. Между наборами данных тысяч таблиц непосредственная связь отсутствует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:17 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
On 12/17/2011 01:56 PM, tooon wrote: > Может будет правильнее переписать данные из каждого файла с отльную таблицу (со > временим, правда, таблиц накопится многие тысячи) Таблица будет ОДНА, если конечно данные в файлах у вас регулярной (одинаковой) структуры. и сделать связи между основной > заголовочной таблицей и таблицами набора данных? Может и правильнее. Только тут прежде чем думать, надо ответить на очень много постановочных запросов. что за данные ? что с ними надо делать ? какими средствами ? и ещё очень-очень много вопросов. в общем нужно иметь все требования к обработке этих данных Тогда доступ к данным будет > только посредством SQL запроса. Но возникает вопрос: справиться ли с такой > организацией таблиц сама БД? Если хорошо сделать, справиться. > Т.е. вопрос сводится к следующему: как правильно хранить большие однотипные > массивы данных? Если в реляционной СУБД, то в таблицах. Собственно, другого способа и не может быть в реляционой СУБД. > Что в этом случае рекомендуете почитать?Заранее благодарю за грамотные ответы. Прежде всего, ТЗ на обработку этих данных. Что от них нужно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:25 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooonПрошу не пинать, может коту то на этом форуме ответ покажется очевидным. Я не специалист в данной области, потому хочется получить краткий лаконичный ответ. Да, если ты ещё не понял, то краткого и лаконичного ответа на твой вопрос не будет. Если тебе кто-то такой ответ даст -- это будте неправильный ответ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:29 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooon, Посмотрите в сторону SQL 2008-12 - там появилось удобное обращение с файлами в базе - они как-бы и файлы (лежат как файлы), но они какбы и элементы базы - честно зарегистренные объекты базы - filestream Ну а из постановки видно - что заголовки расписать на структуру базы, а "тело" хранить как блоб ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:32 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
On 12/17/2011 03:32 PM, sp wrote: > Посмотрите в сторону SQL 2008-12 - там появилось удобное обращение с файлами в > базе - они как-бы и файлы (лежат как файлы), но они какбы и элементы базы - > честно зарегистренные объекты базы - filestream Зачем ? Если им надо обрабатывать эти данные в БД, то их надо будет структурировать (в виде таблиц). Если нет -- их нет смысла тянуть в БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:34 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
Спасибо, все ваши вопросы позволяют мне все больше понять как правильно сформулировать задание на создание данной БД. Можно провести практически 100 процентный аналог нашей задаче: По сути мы имеем множество wav файлов с фонограммами. В них есть заголовок (автор, исполнитель, год выпуска, муз направление) и потоковые данные. Нам надо создать подобие фонотеки, которая будет сортироваться запросами по заголовочным параметрам. Очевидно, что мами потоковые данные в отдельных файлах связи никакой не имеют. На обработку самих потоковых данных сформировать ТЗ практически не возможно, т.к. это задача дальнейших научных исследований. В любом случае элементы потоков не будут ка-либо сопоставляться, будут сопоставляться результаты их обработки. Например, возвращаясь к примеру с фонотекой, кому-то будет интересно проследить как меняется звуковой спектр фонограмм в течении длительного времени. Например выявить тенденцию увеличения низкочастотных составляющих спектра и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:46 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
MasterZivOn 12/17/2011 03:32 PM, sp wrote: > Посмотрите в сторону SQL 2008-12 - там появилось удобное обращение с файлами в > базе - они как-бы и файлы (лежат как файлы), но они какбы и элементы базы - > честно зарегистренные объекты базы - filestream Зачем ? Если им надо обрабатывать эти данные в БД, то их надо будет структурировать (в виде таблиц). Если нет -- их нет смысла тянуть в БД. Данные непосредственно в БД обрабатываться не будут т.к. требуют комплексного математического анализа. Необходимо лишь получить простой доступ к этим данным. пример с фонотекой выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 14:52 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
On 12/17/2011 03:46 PM, tooon wrote: > На обработку самих потоковых данных сформировать ТЗ практически не возможно, На самом деле главный вопрос -- будете ли вы обрабатывать эти данные в БД, средствами SQL. Если да -- данные в базу. Если нет -- данные в файлах. И оракл никакой не обязателен. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 16:00 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
Кстати, об вопросы: где хранить файлы (в субд или файловой системе), а также какую СУБД выбрать было сломано немало копий, то бишь однозначного ответа здесь нет. Это к тому что специалист (ДБД) жизненно необходим. Плюс другой специалист (ДБА) необходим, чтобы ваша СУБД нормально работала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 17:05 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooon, Если вам достаточно получить файл по заголовкам, то того же мускула вам с головой хватит под БД заголовков. Сами файли храните на файлопомойке (думаю по железу вы сами там разберетесь), а ссылку на него в БД с заголовками. Если же вы будете каким-то образом сопоставлять данные которые внутри файла, тогда ставьте Оракл и тяните данные в БД. В первом варианте можно обойтись и без специалиста. В нете куча информации, есть много форумов где можно спросить если что-то непоймете. Во втором случае лучше нанять на недельку специалиста который создаст шаблон БД. Потом по ходу дела, при желании, будете дергать человека для консультаций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 18:27 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
Руководствуясь ответами и повтыкав в инете рассматриваю наиболее оптимальным использование BLOB объектов, которые хранятся в файловой системе, как реализовано в MSSQL: > В SQL Server большие двоичные объекты (BLOB) могут представлять собой данные стандартного типа varbinary(max), данные которых > хранятся в таблице, либо объекты FILESTREAM типа varbinary(max), данные которых хранятся в файловой системе. Правда есть одна проблема - у нас сервак-линуксоид. Посмотрел реализацию БЛОБов на MySQL, там вроде реализован только первый тип записей БЛОБов, т.е. табличный. (Может я плохо смотрел). Какая СУБД под линукс умеет делать то же самое, что и MS SQL - т.е. организовывать файловое хранилище данных? to Злой Бобр Собственно у нас уже реализован первый вариант, но не понятно можно получать информацию из файлов на основе sql запросов или нет? Не хочется сначала получать ссылку на файл по sql, а потом скачивать его по ftp, например. В этом случае форма запроса усложняется и теряет свою универсальность. Вот если бы можно было получить данные только посредством sql, как это реализовано в БЛОБах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 20:02 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooonКакая СУБД под линукс умеет делать то же самое, что и MS SQL - т.е. организовывать файловое хранилище данных? Oracle с его BFILE. Вам, возможно, хватит даже халявного XE. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2011, 20:49 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooonВопрос: Может будет правильнее переписать данные из каждого файла с отльную таблицу (со временим, правда, таблиц накопится многие тысячи) и сделать связи между основной заголовочной таблицей и таблицами набора данных? Тогда доступ к данным будет только посредством SQL запроса. Но возникает вопрос: справиться ли с такой организацией таблиц сама БД? Т.е. вопрос сводится к следующему: как правильно хранить большие однотипные массивы данных? Что в этом случае рекомендуете почитать?Заранее благодарю за грамотные ответы. Таблицы плодить не надо. С кучей таблиц СУБД может и загнуться. Файлы (или ссылки на файлы вне БД) могут храниться в записях одной таблицы. Что значит доступ SQL запросом? SQL запрос это только серверная часть кода. На клиенте всё равно нужны процедуры, которые заберут файл с сервера и сохранят на диск. Что касается ORACLE то в БД файл можно хранить в виде LOB (Binary BLOB или Character CLOB). Но можно хранить ссылки на биарный файл вне БД - BFILE. Для загрузки файлов из BLOB, CLOB и BFILE используется один и тот же API поверх протокола взаимодействия с СУБД. Однако, можно получать из БД имена файлов и загружать их по имени через FTP и т.п. или просто читать с сетевого диска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2011, 00:17 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
> По сути мы имеем множество wav файлов с фонограммами Судя по " 1. дата время 2. координаты места наблюдений 3. идентификатор вида наблюдений 4. некоторые параметры, заданные измерительной аппаратурой Далее массив однотипных данных. " как бы ничего общего с фонограммами. Вид наблюдений, насколько я понимаю, определяет характер данных. Количество таблиц будет идентично или кратно (в зависимости от способа реализации) количеству видов наблюдений. > потоковые данные в отдельных файлах связи никакой не имеют Типа статистика - не про них? Что же это за данные [одного вида наблюдений], для которых каждое измерение предполагает независимую модель? Так бывает? > сформировать ТЗ практически не возможно, т.к. это задача дальнейших научных исследований Позвольте вам не поверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2011, 00:57 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooonto Злой Бобр Собственно у нас уже реализован первый вариант, но не понятно можно получать информацию из файлов на основе sql запросов или нет? Не хочется сначала получать ссылку на файл по sql, а потом скачивать его по ftp, например. В этом случае форма запроса усложняется и теряет свою универсальность. Вот если бы можно было получить данные только посредством sql, как это реализовано в БЛОБах. Какую информацию? Выше вроде как говорилось о том что с файлом вы работаете в других приложениях, а БД у вас выступает только в роли каталога (грубо говоря). Скриптом можно сделать с файлом очень много. Для этого достаточно иметь ссылку на него. Вы уж извините но что-то чтение мыслей у меня несрабатывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2011, 18:29 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
tooonСпасибо за ответ! С железом проблем нет. В этом году обзавелись профессиональными DELL-овскими хранилищами. несмотря на "профессиональное" железо - не забудь про бэкапы ) я бы взял postgresql и хранил данные в блобах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 09:15 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
JoFan, зависит от конфигурации. если, например, файлы с наблюдениями лежат на сетевом диске, то нет смысла прокачивать их через СУБД. Гораздо продуктивнее забирать их в программу непосредственно с диска. С другой стороны, если нужно удалить кактие то файлы и записи в каталоге, то проще это сделать одним DELETE в БД, чем удалять записи из БД, а потом отдельно файлы с диска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 09:58 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
SERG1257Кстати, об вопросы: где хранить файлы (в субд или файловой системе), а также какую СУБД выбрать было сломано немало копий, то бишь однозначного ответа здесь нет. Это к тому что специалист (ДБД) жизненно необходим. Плюс другой специалист (ДБА) необходим, чтобы ваша СУБД нормально работала. В данном случае подход Майкрософт - золотая середина - они и файлы держат и эти файлы - это часть БД и движок за это по понятиям отвечает!) (похоже Макрософтовцы тут читали бои :) ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 11:49 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
On 12/19/2011 12:49 PM, sp wrote: > В данном случае подход Майкрософт - золотая середина - они и файлы держат и эти > файлы - это часть БД и движок за это по понятиям отвечает!) Ещё раз подчеркну главную мысль. Закачивать данные в блобы только для того, чтобы их там хранить, нет никакого смысла. Закачиваться они будут какое-то время, а от хранения в БД никакого выигрыша не будет. Так имеет смысл делать наверное только в одном случае -- если ПО, которое эти данные снимает с оборудования, сразу их загружает в БД, и по-другому работать не может. В других вариантах смысла пихать эти данные в БД нет никакого, если запросами на SQL вы их не будете обрабатывать, а будете только писать и считывать обратно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 13:14 |
|
||
|
Создание БД с большим набором файлов файлов данных
|
|||
|---|---|---|---|
|
#18+
MasterZivТак имеет смысл делать наверное только в одном случае -- если ПО, которое эти данные снимает с оборудования, сразу их загружает в БД, и по-другому работать не может. Я бы добавил, что если уж хранить данные в БД, то уже расшифрованые, а не сырые BLOBы. Но это уже будет совсем другая база :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 15:35 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=54&tid=1541888]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 231ms |
| total: | 362ms |

| 0 / 0 |
