Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 25.12.2016
Сообщений: 108

Резервное копирование небольшой БД в файл JSON

11.03.2021, 15:43. Показов 1326. Ответов 6

Студворк — интернет-сервис помощи студентам
Доброго времени суток.

Дано: небольшое однопользовательское Desctop приложение использующее СУБД HSQLDB для хранения данных.

Задача: определить общий подход к реализации следующих функциональных требований:
система должна предоставить пользователю возможность
  1. Создавать резервную копию всех данных системы в один файл, наименование и местоположение которого определяется пользователем.
  2. Откатить все состояние системы к выбранной пользователем резервной копии.

При этом нужно учитывать, что
  1. У приложения могут обновляться версии и версия структуры БД может отличаться от версии БД резервной копии.
  2. У новых версий приложения может поменяться СУБД.
  3. Объем хранимых данных приложением небольшой.

Как я пытался решить задачу: чтобы было проще мигрировать данные между разными СУБД я решил хранить резервную копию в независимом от любой СУБД формате - в формате json. Такой подход также может решать проблему разных версий схем БД у приложения и резервной копии.

Вопрос: подход который я выбрал можно считать приемлемым? Если нет - то какой подход Вы могли бы посоветовать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.03.2021, 15:43
Ответы с готовыми решениями:

Резервное копирование данных через bat файл
Доброго времени суток. Требуется помощь с заданием, а именно: Нужно создать bat файл, который будет делать резервное копирование...

Резервное копирование
Добрый день. Вот такой вопрос, есть ipad 2 и ноутбук. Чтобы скинуть фильм на ipad требует сделать резервное копирование данных. Дело в том...

Резервное копирование БД
Кто может подсказать: чтобы из клиента можно было делать резервное копирование бд на флешку бд на парадоксе

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.03.2021, 16:08
Ну если тебя всё устраивает, то в чем вопрос то?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
11.03.2021, 16:43
Цитата Сообщение от Bakuard Посмотреть сообщение
У приложения могут обновляться версии и версия структуры БД может отличаться от версии БД резервной копии.
в таком случае надо предупредить что бекап будет невозможно восстановить. Поддерживать обратную совместимость для такого случая задача очень трудоемкая и лучше туда не идти.
0
0 / 0 / 1
Регистрация: 25.12.2016
Сообщений: 108
11.03.2021, 17:25  [ТС]
в таком случае надо предупредить что бекап будет невозможно восстановить. Поддерживать обратную совместимость для такого случая задача очень трудоемкая и лучше туда не идти.
Разве версионная миграция структуры БД между разными версиями приложения - это не распространенная задача?
Я думал сохранять номер версии структуры БД в backup, чтобы при востановлении использовать метод инкрементных изменений (как это сделано в Android с помощью класса SQLiteOpenHelper). Чем не вариант, если кол-во версий небольшое?
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.03.2021, 17:30
Bakuard, в общем случае у тебя будет отдельное большое приложение, которое знает, как мапить каждую старую версию на каждую новую
0
0 / 0 / 1
Регистрация: 25.12.2016
Сообщений: 108
11.03.2021, 18:49  [ТС]
в общем случае у тебя будет отдельное большое приложение, которое знает, как мапить каждую старую версию на каждую новую
Ты имеешь ввиду, что-то вроде Менеджера Обновлений или Лаунчера?
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
15.03.2021, 19:21
Цитата Сообщение от Bakuard Посмотреть сообщение
Разве версионная миграция структуры БД между разными версиями приложения - это не распространенная задача?
это задача трудозатратная поэтому лучше рассмотреть варианты работы без обратной совместимости иначе трудозатраты на разработку, поддержание и кол-во багов в приложении вырастет в разы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.03.2021, 19:21
Помогаю со студенческими работами здесь

Резервное копирование БД
Здравствуйте, помогите реализовать резервное копирование Базы Данных на кнопку. При то путь к БД лежит в файле XML, нужно чтобы базу он...

Резервное копирование
Нужна помощь. 1. test100.7z начальное состояние каталога; 2. test101.7z должно быть на выходе; ... Действия: 1. из удалить...

Резервное копирование
Создал устройство резервного копирования. Создал план обслуживания. Добавил задачу резервное копирование. Поставил срок действия набора...

Резервное копирование БД
Может кто знает код или пример как можно копировать в определенную папку MS Access из приложения, что то делать резервную копию что ли.

Резервное копирование БД
Привет, подскажите пожалуйста как сделать копию БД и развернуть её на другом компьютере? Я попробовал сделать BuckUp. Но как его потом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru