Русская Википедия:Консервация баз данных

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Консервация базы данных обычно включает в себя преобразование информации, хранящейся в базе данных, в форму, доступную в долгосрочной перспективе по мере изменения технологии, без потери первоначальных характеристик (контекста, содержания, структуры, внешнего вида и поведения) данных[1]. Консервацию базы данных не следует путать с резервным копированием. В то время как цель резервного копирования — сохранить версию базы данных, актуальную на конкретный момент времени, чтобы, в случае каких-то проблем иметь возможность быстро восстановить её и продолжить работу с ней, в том числе изменяя её, цель консервации — обеспечить доступ к неизменяемому содержимому базы данных на относительно долгий срок, в течение которого могли бы поменяться технические свойства СУБД, в которой эта база данных была создана, а прикладной ПО, использованное для создания консервируемой базы данных могло бы исчезнуть из доступа. Консервация не подразумевает оперативности восстановления, но направлена на максимально точное воспроизведение состояния в БД, в том числе в будущих системах, о которых нам на момент консервации БД ничего не известно.

С распространением баз данных были разработаны различные методы, помогающие сохранить базы данных и их содержимое. Эти методы различаются в зависимости от характеристик базы данных и конкретных целях консервации[2].

Существует три основных метода сохранения базы данных для консервации: миграция, XML и эмуляция. Существуют также определенные инструменты, программное обеспечение и проекты, которые были созданы для помощи в сохранении баз данных, включая SIARD, Digital Preservation Toolkit, CHRONOS и RODA[1].

Характеристики базы данных

Характеристики самой базы данных должны учитываться при попытке её сохранения. Реляционные базы данных являются унифицированными по своей структуре вне зависимости от конкретной СУБД — они состоят из таблиц, которые содержат данные в записях, и эти таблицы затем соединяются друг с другом с использованием ключей[3].

Корректная консервация баз данных NoSQL является более сложной задачей[4].

Базы данных характеризуются как открытые или закрытые, статические или динамические. Когда база данных считается открытой, это означает, что она открыта для добавления дополнительных данных, однако, когда база данных считается закрытой, это означает обратное — что она закрыта для новых данных из-за своего завершенного характера. База данных считается статической, если она содержит записи, которые не редактируются или не изменяются после их первоначального включения, однако база данных считается динамической, если она содержит записи, которые могут быть отредактированы в будущем. То, является ли база данных открытой и статической, открытой и динамической, закрытой и статической или закрытой и динамической, может влиять на методы, используемые для её консервации. Динамическую базу данных сохранить сложнее, чем статическую, потому что данные постоянно меняются, а сохранить открытую базу сложнее, чем закрытую, потому что данные постоянно добавляются. Чем чаще база данных изменяется либо в записи, либо путем добавления записи, тем чаще необходимо предпринимать шаги, чтобы зафиксировать это изменение для консервации[2].

Методы консервации баз данных

Три основных метода сохранения цифровых данных также могут быть применены к консервации баз данных. Эти методы включают миграцию, XML и эмуляцию[1].

Миграция

Метод миграции (также известный как неактивное архивирование)[3] включает перенос данных из устаревшей программы работающей с базой данных в более новый формат. Существует три метода миграции: миграция в систему с обратной совместимостью, обеспечение интероперабельности и преобразование в стандартный формат. Обратная совместимость предполагает использование более новых версий программного обеспечения для открытия, доступа и чтения документа, созданного с использованием более старой версии. При этом подразумевается, что ответственность за совместимость форматов данных ложится на разработчиков этого програмного обеспечения.

Интероперабельность включает снижение вероятности устаревания за счет обеспечения доступа к конкретному файлу с помощью более чем одной комбинации программного и аппаратного обеспечения.

Переход на стандарты предполагает перевод хранения данных из проприетарного формата в открытый, более доступный и широко используемый формат[1].

XML

Метод XML (также известный как нормализация XML)[3] включает преобразование исходной информации базы данных в стандартный формат XML. XML как формат не требует определенного аппаратного или программного обеспечения (кроме текстового редактора или текстового процессора) и читается как человеком, так и машиной, что делает его стабильным форматом для целей консервации и хранения[1] данных. Однако при преобразовании данных в XML формате некоторые интерактивные функции базы данных, такие как возможность делать запросы, теряются[3].

Эмуляция

Метод эмуляции включает воссоздание старой вычислительной среды с использованием новых технологий и программного обеспечения. Это позволяет устаревшему программному обеспечению, оборудованию или форматам файлов оставаться доступными в новых системах. Следовательно, устаревшая база данных может быть запущена на эмуляторе, который имитирует среду, в которой изначально была создана база данных[1].

Инструменты для консервации данных

SIARD

Версия 1.0 формата Software Independent Archiving of Relational Databases (SIARD) была разработана Федеральным архивом Швейцарии в 2007 году. Она была разработана для архивирования реляционных баз данных в независимой от поставщика программного обеспечения форме. Архив SIARD представляет собой пакет файлов в формате ZIP на основе XML и SQL:1999. Файл SIARD включает в себя как содержимое базы данных, так и машинно-обрабатываемые структурные метаданные, которые содержат структуру таблиц базы данных и их отношения. ZIP-файл содержит XML-файл, описывающий структуру базы данных (metadata.xml), а также набор XML-файлов, по одному на таблицу, в которых содержится содержимое таблицы. Архив SIARD также может содержать текстовые файлы и двоичные файлы, представляющие большие объекты базы данных (BLOB и CLOB). SIARD разрешает прямой доступ к отдельным таблицам, позволяя извлекать их для исследования их с помощью ZIP-инструментов. Архив SIARD не является рабочей базой данных, но поддерживает повторную интеграцию заархивированной базы данных в другую систему управления реляционными базами данных (RDBMS), поддерживающую SQL:1999. Кроме того, SIARD поддерживает добавление описательных и контекстных метаданных, не записанных в самой базе данных, и встраивание файлов документации в архив[5]. SIARD версии 1.0 был оформлен как стандарт eCH-0165 в 2013 году[6] .

SIARDDK — вариант формата SIARD 1.0 модифицированный Национальными Архивами Дании[7].

Версия 2.0 формата сохранения SIARD (первоначально известная как SIARD-E[7]) была разработана Федеральным архивом Швейцарии под эгидой проекта E-ARK.

Версия 2.0 основана на версии 1.0 и определяет формат, обратно совместимый с версией 1.0. И, по заявлени разработчиков, также включающий лучшие свойства SIARDDK и формата DBML[7]. Новые свойства версии 2.0 включают в себя:

  • Обновление поддержки SQL:1999 до поддержки SQL:2008.
  • Поддержка всех типов SQL:2008, в частности определяемых пользователем типов данных (UDT).
  • Более явные правила проверки для определений типов данных с использованием регулярных выражений.
  • Поддержка хранения больших объектов вне файла SIARD с использованием URI "file: "
  • Поддержка «deflate» как механизма сжатия.

Версия 2.1 спецификации SIARD была опубликована разработчиками спецификации в июле 2018 года, но так и не была принята в качестве стандарта ECH[7].

DBML (Database Markup Language)

XML-схема созданная исследователем Хосе Карлосом Рамальо из Университета Минью для представления данных и информации о таблицах, взятых из реляционной базы данных. Была опубликована в 2007 году[8].

CHRONOS

CHRONOS (CSP Chronos Archiving) — это проприетарный программный продукт, который служит инструментом консервации базы данных[4]. CHRONOS разрабатывался с 2004 по 2006 год компанией CSP в сотрудничестве с факультетом компьютерных наук Высшей школы в Ландсхуте[4][9]. CHRONOS извлекает данные из системы управления базами данных и сохраняет их в архиве CHRONOS в виде текстовых или XML-файлов. Таким образом, ко всем данным можно получить доступ и прочитать их без системы управления базами данных или самой CHRONOS, поскольку они представлены в текстовом формате. Это устраняет необходимость поддерживать СУБД исключительно для чтения сохраненных статических баз данных, а также необходимость потенциально рискованного переноса файлов базы данных в новые форматы баз данных[9]. Хотя CHRONOS хранит данные в текстовом формате, его возможности запросов считаются сравнимыми с возможностями реляционной базы данных[4].

Database Preservation Toolkit

Среди шагов, проделанных проектом RODA для загрузки и сохранения реляционных баз данных в нормализованном формате, одним из важных стала разработка инструмента, предназначенного для сохранения архивных баз данных и последующего доступа к ним. Это инструмент был назван Database Preservation Toolkit или, сокращённо, DBPTK, dbtoolkit. При использовании Database Preservation Toolkit, для их нормализации данные из реляционной базы данных преобразуются либо в DBML либо в SIARD. Оба этих формата опираются на стандартный формат XML, который не требует специального или проприетарного программного обеспечения и идеально подходит для целей консервации данных[10].

DBPTK позволяет выполнять преобразование между форматами баз данных, в том числе в режиме подключения к работающим системам, в целях консервации баз данных. В процессе преобразования инструментарий извлекает уникальную информацию о СУБД, используя коннекторы, специфичные для СУБД. Эти коннекторы подключаются к конкретной СУБД, извлекают из неё данные. Затем данные экспортируются в выбранный формат консервации. Для подключения к новым СУБД и сохранения данных в новых форматах могут быть разработаны новые коннекторы (модули ввода-вывода)[10][11]. DBPTK также позволяет экспортировать данные из форматов консервации обратно в работающую СУБД. Например, он поддерживает специализированный экспорт в MySQL, оптимизированный для PhpMyAdmin, поэтому с базой данных можно полноценно экспериментировать, используя веб-интерфейс.

Database Preservation Toolkit изначально был частью проекта RODA, а затем был выпущен как самостоятельный продукт. Он получил дальнейшее развитие в проекте E-ARK вместе с новой версией формата сохранения SIARD[12].

Проекты по консервации баз данных

Исследовательские проекты в этой сфере включают:

  • Software independent archival of relational databases (SIARD)[13]
  • Software Database Preservation Toolkit (open-source, поддерживает SIARD 2.0)[11]
  • Repository of Authentic Digital Objects (RODA)[14]
  • Digital Preservation Testbed[15]
  • Проект Lots of Copies Keep Stuff Safe (LOCKSS) разрабатывавшийся под руководством библиотек Стэнфордского университета[16]

Repository of Authentic Digital Objects (RODA)

RODA, он же — Repository of Authentic Digital Objects был проектом, запущенным в Португалии в 2006 году Национальным архивом Португалии с целью сохранения цифровых объектов, созданных государственными учреждениями Португалии. Целью проекта было объединить несколько типов цифровых объектов в один репозиторий, включая реляционные базы данных. Являясь единым хранилищем множества различных типов цифровых объектов, RODA стремится нормализовать все загруженные объекты, то есть свести к минимуму типы форматов, используемые для хранения документов, и сохранять подобные документы в одинаковых форматах[10].

В проекте RODA особое внимание уделялось созданию стандартизированного метода сохранения баз данных как цифровых объектов. Сохранение базы данных представляет собой уникальную задачу, поскольку процесс сохранения разделен на три уровня: данные, структура (логика) и семантика (интерфейс)[17]. В задачах проекта было определено, что данные баз данных, а также их структура и семантика должны быть сохранены. Чтобы сохранить все три элемента, в рамках проекта RODA был разработан набор инструментов для сохранения базы данных[10].

См. также

Примечания

Шаблон:Примечания

  1. 1,0 1,1 1,2 1,3 1,4 1,5 Шаблон:Книга
  2. 2,0 2,1 Шаблон:Статья
  3. 3,0 3,1 3,2 3,3 Шаблон:Cite web
  4. 4,0 4,1 4,2 4,3 Шаблон:Статья
  5. Шаблон:Cite web
  6. Bruggisser, H., Büchler, G., Dubois, A., Kaiser, M., Kansy, L., Lischer, M., Röthlisberger-Jourdan, C., Thomas, H., & Voss, A. (2015). eCH-0165 SIARD format specification 2.0 (draft). eCH E Government Standards. https://www.eark-project.com/resources/specificationdocs/32-specification-for-siard-format-v20/STAN_e_FINAL_2015-07-04_eCH-0165_V2%200_SIARD-Format.pdf Шаблон:Wayback
  7. 7,0 7,1 7,2 7,3 Шаблон:Cite web
  8. Шаблон:Cite web
  9. 9,0 9,1 Brandl, S., & Keller-Marxer, P. (2007, March 23). Long-term archiving of relational databases with Chronos [Paper presentation]. First International Workshop on Database Preservation (PresDB’07), Edinburgh, Scotland. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.459.5158&rep=rep1&type=pdf Шаблон:Wayback
  10. 10,0 10,1 10,2 10,3 Ramalho, J.C., Faria, L., Helder, S., & Coutada, M. (2013, December 31). Database Preservation Toolkit: A flexible tool to normalize and give access to databases. University of Minho. https://core.ac.uk/display/55635702?source=1&algorithmId=15&similarToDoc=55614406&similarToDocKey=CORE&recSetID=f3ffea4d-1504-45e9-bfd6-a0495f5c8f9c&position=2&recommendation_type=same_repo&otherRecs=55614407,55635702,55607961,55613627,2255664 Шаблон:Wayback
  11. 11,0 11,1 Шаблон:Cite web
  12. Шаблон:Cite web
  13. Шаблон:Cite book
  14. Шаблон:Cite web
  15. Шаблон:Cite web
  16. Шаблон:Cite web
  17. Ribeiro, C., & David, G. (2009, March 11). Database preservation. Digital Preservation Europe. https://digitalpreservationeurope.eu/publications/briefs/database_preservation_ribiero_david.pdf Шаблон:Wayback