Теоретический вопрос о сохранности базы

  • Автор темы Vagor.ini
  • Дата начала
V

Vagor.ini

Интересует такой вопрос, какие возможности использует, уважаемые посетитель, при сохранении работоспособности БД.

Задача такая, имеется программа(Delphi 5), используется хранение различных данных в базе на основе компонента , все таблицы хранятся в одной базе (физически файл один).

Интересны мнения, как предложите хранить и когда создавать копию базы, для предотвращения потери данных или порчи БД. То что, нужно создавать резервную копию - это требование.

Спасибо за участие!
 
B

Barmutik

Всё зависит от требований... если надо то можно хоть каждый час сохранять ...

Маленький шедулерчик и сохраняеш по расписанию.. можно даже в прогу встроить... была когда-то похожая ситуация с Аксессовской базой.
 
W

waterfall

А когда у тя возникают ситуации, когда твоя база оказывается запорченной?
 
V

Vagor.ini

waterfall
Тут только резервные реплики помогут (думаю так)...
 
B

Barmutik

Тут два ваиранта:

1. Если формат базы известен то репэйр базы по правилам
2. Если формат не известен то восстановление из последней копии.

Сразу вопрос: А что ж за такая задача где настолько велика вероятноть запортить базу? Я поманию что база может быть испорчена только в результате отказа аппаратуры или сбоя ПО системного уровня .. твоя клиентская прога вообще поидее никак не может запортить базу ...
 
W

waterfall

2 Vagor:
Ты всё-таки не ответил на мой вопрос...

И потом действительно - это ещё надо поискать такие ситуации когда у тя база запорется - она у тебя ж локальная и в одном файле...
При занесении данных в базу, если она поддерживает сессии, то
тут думаю не должно быть особых проблем + ещё контроль занесения данных. И если питание компа вдруг вырубится и сессия на занесение данных не будет закрыта, то данные просто не попадут в базу... Она вовсе не запорется. Главное всё грамотно спроектировать. Так что ты ещё раз подумай - а надо ли тебе это вообще BackUp-ить базу?
 
B

Barmutik

Бакапить то надо .. всякое может быть .. просто вероятность физического запорчения базы как мне кажется крайне мала ...
 
V

Vagor.ini

waterfall
Прости, писал про реплики и не в ту ветку попал... :)

Сбоя и порчи базы у меня вообще не возникает, но, как я сказал ранее, в одном физическом файле у меня хранятся таблицы которые в принципе пользователь будет заполнять данными и думаю если юзер сам запорет файл (удалит например...), он первым делом взвоет в тех. помощи (собственно ко мне)...

Ситуация еще и такая, что программа shareware - в принципе раз я за нее собираюсь взымать деньги, значит и предусмотреть элементарную защиту от ду..юзверей надо. Пока остановился, на беккапе при загрузке и завершении программы. Просто хочется узнать кто как еще делает...


Barmutik
просто вероятность физического запорчения базы как мне кажется крайне мала ...
Ох, если бы было так. Работаю я админом (Lotus Notes) и при полной защищенности серверных баз (сами лотусовские фишки) сколько интересных историй как юзеры портят личные адресные книги (адреса - фигня, но там содержатся настройки конектов для клиентcкой программы)...
 
W

waterfall

Если бы был контроль при заполнении вводимых данных и хотя бы элементарный анализ, то я думаю вопрос про бэкапы так бы остро не стоял... Да и про саму базу ты толком так ничего и не сказал...
И как же это ты умудрился спроектировать базу, что юзер запросто как ты говоришь её может запороть? :) При занесении данных такая ситуация вообще должна быть исключена, особенно, если ты хочешь за свою прогу деньги получать...
 
W

waterfall

Если бы был контроль при заполнении вводимых данных и хотя бы элементарный анализ, то я думаю вопрос про бэкапы так бы остро не стоял... Да и про саму базу ты толком так ничего и не сказал...
И как же это ты умудрился спроектировать базу, что юзер запросто как ты говоришь её может запороть? :) При занесении данных такая ситуация вообще должна быть исключена, особенно, если ты хочешь за свою прогу деньги получать...
 
W

waterfall

И потом, ты случаем не htmlreader хотишь за бабки продавать?
 
V

Vagor.ini

waterfall
контроль при заполнении вводимых данных и хотя бы элементарный анализ
обижаешь:) - контроль есть, да и при занесении данных, вряд ли как-то ее испортить... Опять же вопрос стоит как защитить физический файл... ладно проехали... бекапю при открытии и закрытии программы...

И как же это ты умудрился спроектировать базу, что юзер запросто как ты говоришь её может запороть?
я как раз проектирую базу в едином файле, но с множеством таблиц и возможностью обмениваться таблицами между пользователями программы(через копии базы)...

И потом, ты случаем не htmlreader хотишь за бабки продавать?
Нет, сейчас другим проектом занят
 
W

waterfall

Просто HTML-Reader тебе было бы продавать не с руки, так как он расчитан на очень неопытного пользователя (я бы сказал совсем новичка, для написания homepage). И интерфейс проги я бы не назвал дружелюбным. Да и потом движок проги, что самое главное чужой...
Любой HomeSite + или Dreamweaver твою прогу превосходят по всем пунктам и поддерживают все новые стантарты HTML, XML и т.д. Macromedia есть THE BEST в этом плане. Тока не обижайся...

Ты собираешься какую прогу шароварить? По картам Таро?
 
V

Vagor.ini

waterfall
Так, а кто говорил про продажу HtmlReader, естественно, согласен что редактор для быстрого редактирования html, и не собираюсь, конечное, тягаться с монстрами htmlстроения...

Ты собираешься какую прогу шароварить? По картам Таро?
Да
 
P

Pete

А если при загрузке системы повесить сервис, который бы этот самый файл открывал, на чтение допустим. Тогда ОС бы не дала удалить файл базы. Бэкапа это конечно не отменяет, но от совершенно тупых пользователей думаю защитит.
 
V

Vagor.ini

Pete
Это уже слишком:) сильная защита, но вариант заметил, спасибо...
 
A

admin

ИМХО самое важное - это защита БД, её своевременный юэкап и конечно же движок.
 
S

saver

По твоим словам получается, что твоя прога не может похе...(ой) поломать БД..., и ты хочешь защитить её от нехороших пользователей... . Можно же просто делать при каждом запуске проги (или изменении БД) одну резервную копию (например в C:\Windows\System... незнаю кто туда полезит), причем копий этих 5 или 10 и каждый раз обновлять самую старую... Это стопудова сохранит твою БД и при этом можно будет откатить изменения... (как в Виндовс ХаЭр)... :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!