On-line: tnsr2, гостей 2. Всего: 3 [подробнее..]
АвторСообщение
Администратор




Пост N: 2229
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.01.12 10:36. Заголовок: Архивация в letodb


Хочу посоветоваться. Задача - сделать бэкап (архив) базы в произвольный момент времени.
Пусть архиватор будет 7z, хотя это не принципиально.
Утилита запускается на сервере, где установлен letodb, по определенному графику (хотя бы планировщиком).
Входные параметры: каталог БД и список расширений файлов, которые надо поместить в архив.
Предлагается такой алгоритм: сканируется все содержимое каталога БД, и формируется список @listfiles для архиватора.
Если это не файл данных, он просто добавляется в список. Если это файл данных, то выполняется попытка его открыть монопольно. Если попытка успешная - файл закрывается и добавляется в список.
Если нет - добавляется в список № 2 для 2-го прохода.
Для 1-го прохода через run вызывается архиватор, и ему дается список файлов.
Для 2-го прохода создается новый каталог, куда средствами letodb через команду copy to копируются открытые файлы, затем вызывается архиватор с командой добавления в архив файлов, которые не были заархивированы во время 1-го прохода.
Какие будут идеи ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 127 , стр: 1 2 3 4 5 6 7 All [только новые]


постоянный участник


Пост N: 582
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 12:15. Заголовок: PSP пишет: Вот, вкр..


PSP пишет:

 цитата:
Вот, вкратце. Можете пинать...



Ну, почему пинать Но это все "техника", "способы реализации". С помощью каких механизмов что-то реализовать, тут Паше виднее. Вопрос тогда с другой стороны, а к чему этой техникой идем? "Какой бэкап" идеален с нашей общей точки зрения? Когда есть чётко сформулированная цель тогда и средства подбирать удобнее :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 583
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 12:18. Заголовок: Аппаратный сбой прив..


Аппаратный сбой приведет к порче бэкапа любого сервера, не думаю, что нужно принимать такую вероятность во внимание.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 688
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.12 12:19. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
"Какой бэкап" идеален с нашей общей точки зрения?


В общем-то да. Кому-то проще развернуть RAID-5 и 1 раз в сутки копировать файлы.
Но, честно говоря, я бы не отказался от наличия в LetoDB функции бэкапа.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 584
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 12:41. Заголовок: PSP пишет: Но, чест..


PSP пишет:

 цитата:
Но, честно говоря, я бы не отказался от наличия в LetoDB функции бэкапа.



Нет-нет, я о бэкапе, зеркалирование имеет все-таки несколько другой смысл. Можно ли принять за аксиому вот такое утверждение:

"Полноценный бэкап - это моментальный снимок БД на момент старта процесса бэкапа. "Снимок" включает в себя все данные закомиченные к моменту старта и не включает данные более поздних транзакций". Частичное попадание данных одной транзакции в бэкап недопустимо.

?




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 383
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.01.12 12:44. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Можно ли принять за аксиому вот такое утверждение:

Скорее да, чем нет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 689
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.12 12:48. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Можно ли принять за аксиому вот такое утверждение


Думаю, можно. По-крайней мере, это утверждение довольно чётко описывает цель.
Но я не знаю, как такой снимок сделать в контексте LetoDB.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 585
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 14:40. Заголовок: AlexMyr пишет: Скор..


AlexMyr пишет:

 цитата:
Скорее да, чем нет.


PSP пишет:

 цитата:
Думаю, можно.



Тогда, можно ли считать аксиомой второе утверждение:

"Прерывание работы сервера во время работы процесса бэкапа недопустимо".

Если это аксиома, то я думаю, очевидно, что никакое внешнее средство, типа 7z, нам здесь не помошник. Но реализация такой задачи фактически сводится к реализации snapshot-транзакций в сервере Лето. Snapshot-транзакции это и есть такие транзакции, которые видят только данные существовавшие на момент их старта, ну и свои, конечно. ReadCommited-транзакции видят все закоммиченные данные и свои любые... На каких механизмах это можно реализовать Паше, конечно, лучше знать. Но мне кажется логичным, что начать надо с анализа реализации ReadCommited-транзакций, для попытки понять можно ли "вписаться" в тот же механизм. Но про механизм Паша что-то не ответил...

Если же это не аксиома, а реализация snapshot-а затруднительно, то задача сводится к реализации такой остановки сервера "по команде", а чем копировать данные становится уже не так важно.

Давайте определяться, аксиома ли это?



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 384
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.01.12 15:01. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Тогда, можно ли считать аксиомой второе утверждение:

"Прерывание работы сервера во время работы процесса бэкапа недопустимо".

Что такое прерывание работы сервера? Если сам сервер создает бэкап без использования внешних средств, это есть прерывание работы, или все таки это нужная фича сервера?
И в целом, что такое актуальный бэкап, насколько он актуален через два, три часа, 15 минут, когда данные вносятся сотнями за 10, 40 минут, за сутки?
Про второе утверждение, не знаю, и да, и нет.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 690
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.12 15:30. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
"Прерывание работы сервера во время работы процесса бэкапа недопустимо".


Это - не аксиома. Ответ зависит от конкретной задачи. Где-то "допустимо", где-то "недопустимо".

Я предлагаю все-таки дождаться Пашу.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 587
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 15:34. Заголовок: AlexMyr пишет: Что ..


AlexMyr пишет:

 цитата:
Что такое прерывание работы сервера? Если сам сервер создает бэкап без использования внешних средств, это есть прерывание работы, или все таки это нужная фича сервера?



Ok. Действительно, надо уточнить. Давайте "прерывание работы сервера" определим как "существенную временную паузу в обслуживании клиентских подключений и откат незавершенных транзакций, существовавших на момент прерывания".

AlexMyr пишет:

 цитата:
И в целом, что такое актуальный бэкап, насколько он актуален через два, три часа, 15 минут, когда данные вносятся сотнями за 10, 40 минут, за сутки?



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





Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 385
Зарегистрирован: 11.06.10
ссылка на сообщение  Отправлено: 18.01.12 15:37. Заголовок: Паша, какие мысли? :..


Паша, какие мысли?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 692
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.12 15:49. Заголовок: Что такое snapshot-т..


Что такое snapshot-транзакция (или уровень изоляции)? Как я понимаю, сессия, для которой установлен этот уровень, будет всегда получать данные, существовавшие на момент включения этого уровня до момента отключения, независимо от того, что происходит с данными между двумя этими моментами. Но для такого варианта нужно реализовывать полноценный механизм транзакций. Думаю, для LetoDB пока это не подходит. :)

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 589
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 17:39. Заголовок: PSP пишет: Но для т..


PSP пишет:

 цитата:
Но для такого варианта нужно реализовывать полноценный механизм транзакций.



Конечно, нужен какой-то механизм.

PSP пишет:

 цитата:
Думаю, для LetoDB пока это не подходит. :)



Тогда вариант с "прерыванием работы сервера" фактически единственный для реализации полноценного бэкапа...

Кстати, а "родственник" ADS на dbf-ах бэкапит?



Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 2263
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 18.01.12 17:43. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Кстати, а "родственник" ADS на dbf-ах бэкапит?


Да вроде есть такой механизм начиная с версии 8
http://www.hotsoft.ru/ADS/ads_80.htm

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 591
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 18:27. Заголовок: Dima пишет: Да врод..


Dima пишет:

 цитата:
Да вроде есть такой механизм начиная с версии 8
http://www.hotsoft.ru/ADS/ads_80.htm



Да, даже вот цитата оттуда "с нами перекликается": :)

All backups can be performed while the database is in use and will provide a logically correct “snapshot” of the database at the time the backup is started.

То есть, принципиально это реализуемо и для dbf-ов....





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 693
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.12 19:18. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
То есть, принципиально это реализуемо и для dbf-ов....


Да, но бывают казусы... http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=091104-2224

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1076
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 18.01.12 19:35. Заголовок: Ну вы здесь и наваял..


Ну вы здесь и наваяли Откуда можно скачать последнюю версию Leto, посмотреть так сказать..
типа :pserver:anonymous@hwgui.cvs.sourceforge.net:/cvsroot/hwgui

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 694
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 18.01.12 19:45. Заголовок: Петр пишет: Ну вы з..


Петр пишет:

 цитата:
Ну вы здесь и наваяли


cvs -d:pserver:anonymous@letodb.cvs.sourceforge.net:/cvsroot/letodb checkout -r rel-1-mt letodb

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 592
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 18.01.12 19:46. Заголовок: PSP пишет: Да, но б..


PSP пишет:

 цитата:
Да, но бывают казусы... http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=091104-2224



Ух ты, перешел из этого топика на другой по ссылке и обнаружил эту статью:

http://devzone.advantagedatabase.com/dz/content.aspx?Key=17&RefNo=090521-2178

Где четко разъясняется, что ADS-ный бэкап работает на принципе нашего "прерывания работы сервера" Гм.. Текущие транзакции он не откатывает, а пытается ждать когда они закончатся. И если не дождется, то вываливается с ошибкой



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1077
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 18.01.12 20:31. Заголовок: PSP пишет: cvs -d:p..


PSP пишет:

 цитата:
cvs -d:pserver:anonymous@letodb.cvs.sourceforge.net:/cvsroot/letodb checkout -r rel-1-mt letodb


А что от поддержки xHarbour уже отказались полностью?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 127 , стр: 1 2 3 4 5 6 7 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 150
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет