Способы хранения неструктурированных данных

Приложения, основанные на работе с реляционными и нереляционными данными, в основном используют одну из трех архитектур:

  • 1) реляционные данные находятся в БД, а данные в формате больших нереляционных двоичных объектов (BLOB) — в файловых системах или на файловых серверах;
  • 2) реляционные данные находятся в БД, а нереляционные — в хранилище, предназначенном для BLOB-данных;
  • 3) реляционные и нереляционные данные находятся в БД.

Кроме сложностей, связанных с хранением неструктурированных данных, требуется учитывать то, как эти данные будут использоваться приложениями:

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

Каждый из перечисленных подходов имеет свои преимущества и недостатки. Например, хранение неструктурированных данных на файловых серверах или в хранилищах, предназначенных для хранения BLOB-данных, может снизить денежные затраты на память. Это усложняет разработку приложении и управление ими, так как приложения должны поддерживать согласованность между записями в БД и системами, в которых находятся BLOB-данные, связанные с этими записями. С другой стороны, при хранении BLOB-данных в БД одна БД становится удобным централизованным хранилищем, но при этом происходит увеличение затрат и может произойти снижение быстродействия.

Пример неструктурированных данных, которые получены с датчика космических исследований (2012):

{58} n_vers:byte; {номер версии программы записи информации}

{59-62} n_krit:longint; {номер критерия экспресс-обработки}

{63-64} n_bad:integer; {количество кадров, отбракованных обработкой}

{65-76} fam_fiz:array[1..12]of char; {фамилия дежурного физика}

{77-116} skr_k:array| 1..40| of byte; {информация с искровой камеры}

{117-118} n_vved; {количество введенных кадров с разными номерами} {119—120} n_good:integer; {количество кадров, записанных в первичный банк кадров}

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >