Универсальное резервное копирование базы данных / формат извлечения - PullRequest
3 голосов
/ 07 октября 2009

существует ли универсальный формат резервного копирования / извлечения базы данных?

Я объясню, откуда я: наше приложение поддерживает несколько поставщиков баз данных, DB2, MsSql, MySql и Oracle. В настоящее время, когда мы запрашиваем резервную копию у клиента, он должен сделать полную резервную копию в формате, указанном поставщиком.

У нас есть небольшая, но мощная домашняя утилита, которая позволяет нам полностью или частично импортировать и экспортировать данные из любого поставщика баз данных. К сожалению, общий формат извлечения - это таблицы dBase, которые работают не очень хорошо, так как мы сейчас используем типы полей SQL, которые не поддерживаются.

Решение состоит в том, чтобы использовать существующий стандартный формат резервного копирования / извлечения, если таковой существует. Хотя я не против изобретать свой собственный формат, у отраслевого стандартного формата было бы больше возможностей.

Существует ли один или мне придется его изобретать?

Заранее спасибо,

Стивен.

Ответы [ 5 ]

1 голос
/ 22 сентября 2012

К вашему сведению: В конце концов я остановился на использовании SQLite в качестве нашего формата. Там у нас есть несколько причин для этого:

  1. Использует один файл, который очень удобен для транспортировки.
  2. Поддерживает все типы полей, которые нам требуются.
  3. Имеет поддержку многих платформ и языков.
  4. С открытым исходным кодом и бесплатно.
  5. Маленький след.
  6. Очень быстро для добавления записей.
  7. Наши приложения могут напрямую взаимодействовать с базами данных SQLite.

Номер 7 определенно стал решающим фактором, поскольку, когда мы восстанавливаем резервную копию (или извлекаем) у клиента, нам не нужно восстанавливать его, а можно просто подключиться к нему напрямую.

0 голосов
/ 08 октября 2009

Я думаю, вы должны искать инструмент, который может качать данные.

Один пример здесь: http://www.clevercomponents.com/products/datapump/ibdatapump.asp

Это не совсем соответствует вашим потребностям, но может быть, это путь.

0 голосов
/ 07 октября 2009

Все известные мне СУБД (включая все те, которые вы перечислили) поддерживают экспорт и импорт в CSV .

Для бонусных баллов сжим экспорт для экономии места.

0 голосов
/ 07 октября 2009

Единственный универсальный формат экспорта - это некоторая вариация на тему текстового дампа.

Существует несколько возможных форматов - фиксированный или разделенный (или разделенный). Когда разделено, это может быть CSV или некоторый другой связанный формат. Соглашения об эвакуации, особенно для встроенных символов новой строки, имеют тенденцию быть своеобразными.

Другая сложность заключается в том, как разные СУБД предпочитают кодировать такие вещи, как значения BLOB двоичных данных - Base64, hex, ... и, возможно, некоторые другие ...

XML также возможен, но не существует стандартизации для использования XML-схемы или DTD.

0 голосов
/ 07 октября 2009

Как насчет XML? CSV

...