imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 30.01.2005, 00:29     # 1
asdus
Junior Member
 
Аватар для asdus
 
Регистрация: 26.03.2003
Сообщения: 104

asdus Известность не заставит себя ждать
Post Применение технологий транзакции для сохранения данных

Собственно сталкивался ли кто с этим? Не подскажете по реализации, а то писать все самому как-то кучеряво.
Итак, что есть: программа, с которой по сети одновременно работает 200-500 клиентов, работает активно, то есть информация меняется постойнно. Раз в 30 минут - сохранение данных (рабочих) - происходит "заморозка" всего, все объекты сереализируются и пишутся в файл, работаем дальше. Так вот, оная "заморозка" всех очень напрягает, так как занимает достаточно большое время (относительно ессно - на 2ГБ ОЗУ + 2x3Ггц Пень4, 2xHDD SATA 8Mb buf - около 60 сек, размер получаещегося файла ~1Гб(пока)), которое всех ну оччень напрягает, собственно поэтому так редко и происходит, хотелось-бы раз в 10 минут делать, или хотя-бы в 20, но тогда совсем съедят.
Посему хочется сделать следущее: всю систему сохранения информации построить по транзакционному принципу (знакомо по базам данных). То есть инициализируется начало сохранения, все как-бы заморозилось (читаем инфу по транзакциям в MySQL), идет дамп на диск, при этом, паралельно, продолжается работа, и где-то в отдельном месте накапливаются изменения от "момента начала сохранения", потом запись заканчивается, измененияприменяются, работает дальше, пауза прозрачна...
Воот такое, что написал я сверху - хочу. Как уже говорилось писать все самому - имхо долго, и тяжело, так может есть у кого некие наработки, или, быть может, советы по данному поводу.
З.Ы.: для заинтересовавшихся: http://www.innodb.com/ - база юзаемая в MySQL и поддерживающая транзакции, OpenSource.
__________________
Секс - хорошая штука. Как ни крути...
asdus вне форума  
Старый 31.01.2005, 00:11     # 2
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Так а во имя чего весь этот геморой? Какая поставлена задача?
RaZEr вне форума  
Старый 31.01.2005, 22:38     # 3
asdus
Junior Member
 
Аватар для asdus
 
Регистрация: 26.03.2003
Сообщения: 104

asdus Известность не заставит себя ждать
Избавить прогу от "сохранений". Очень напрягают народ.
А гемморой этот нажил в рамках проекта OpenSource - так что остерегайтесь - покупайте лекарства заранее ;-)
__________________
Секс - хорошая штука. Как ни крути...
asdus вне форума  
Старый 01.02.2005, 08:32     # 4
RaZEr
МОД-Оператор ЭВМ
 
Аватар для RaZEr
 
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343

RaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех ГуруRaZEr Отец (мать) всех Гуру
Т.е. база регулярно сохраняется. Своего рода backup. Тогда я думаю убери это сохранение и просто периодически копируй в безопасное место файлы с данными. Это будет быстрее.
RaZEr вне форума  
Старый 02.02.2005, 15:48     # 5
asdus
Junior Member
 
Аватар для asdus
 
Регистрация: 26.03.2003
Сообщения: 104

asdus Известность не заставит себя ждать
Так "файлы с данными" из оперативной памяти еще сохранить нужно - вот оно и есть это сохранение...
__________________
Секс - хорошая штука. Как ни крути...
asdus вне форума  
Старый 02.02.2005, 16:20     # 6
Saruman
::VIP::
 
Аватар для Saruman
 
Регистрация: 12.11.2002
Адрес: Nicosia, Cyprus
Сообщения: 1 285

Saruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman ГуруSaruman Гуру
asdus
А в твоей программе какая-то стандартная БД типа той же MySQL используется?
__________________
"If people only knew how hard I work to gain my mastery, it wouldn't seem so wonderful at all." Michelangelo Buonarroti
Saruman вне форума  
Старый 02.02.2005, 17:41     # 7
asdus
Junior Member
 
Аватар для asdus
 
Регистрация: 26.03.2003
Сообщения: 104

asdus Известность не заставит себя ждать
нет
__________________
Секс - хорошая штука. Как ни крути...
asdus вне форума  
Старый 02.02.2005, 18:29     # 8
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
на моем опыте очень стоит писать файлы архивируя, т.к. в основном время идет на запись на диск (т.е. процессор не важно какой из современных). Посмотри zlib например, может ускорит дело.
Drakosha вне форума  
Старый 02.02.2005, 19:45     # 9
asdus
Junior Member
 
Аватар для asdus
 
Регистрация: 26.03.2003
Сообщения: 104

asdus Известность не заставит себя ждать
Эх. Ускорить дело можно и купив сервер помощнее... Спасибо конечно, посмотрю, но вопрос остается открытым...
__________________
Секс - хорошая штука. Как ни крути...
asdus вне форума  
Старый 05.02.2005, 16:31     # 10
someone312002
Junior Member
 
Регистрация: 17.12.2002
Адрес: [EST], Tallinn
Сообщения: 120

someone312002 Путь к славе только начался
построй алгоритм "Исключения": одни данные критичны к изменениям (в зависисости от времени), другие - нет... от этого и играй. Создай "список" пользователей с их признаками (ИД), дальше, все изменеия "шифруй" по их ИД и времени изменеия и в зависимости от алгоритма...

УДАЧИ!!!
__________________
"я не волшебник - я только учусь..." (c)
...а зовут меня Олег...
someone312002 вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 02:31.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.