Извините, вопрос может немного тупой, но тем немения. Есть програма сервер, которая образно говоря обеспечивает доступ до бази даних (предполагается использовать MySQL и способ доступа через ADO.NET и взаимодействие с сервером основано на Remoting) и програмы клиенти, которые виполняют определенные действия с етой базой даних (виборка, вставка записей, удаление и тд.) посредством етой прогами-сервера. В общем ето разпределеная система типа предприятия. И вот вопрос, нужно ли програме-сервер самостоятельно синхронизировать ети запроси, или СУБД сделает ето сама. Зарание спасибо за ответ.
3 сентября 2008 в 1:02
#14
>>Только такое счастье хорошо работает только при коротких транзакциях…
Впринципе транзакции предполагаются быть короткими.
3 сентября 2008 в 1:01
не надо конектиться, нужно иметь пул коннектов, и каждый раз вытаскивать из пула коннект, после того как все сделали, отдать коннект в пул. Только такое счастье хорошо работает только при коротких транзакциях…
3 сентября 2008 в 0:04
#12
>>Зачем так сделано, простите мой глупый вопрос? Или Вам коннектов жалко?
ну впринцыпе не жалко, но если по каждой потребности получить что-то из бази даних нужно наново конектится, то мне кажется, что ето чуть снизить быстродействие, хотя я могу величину етого снижения приизводитильности сильно преувеличивать. )
3 сентября 2008 в 0:02
Зачем так сделано, простите мой глупый вопрос? Или Вам коннектов жалко?
Как это сделано в АДО я понятия не имею, что касается API, то Вам сюда //dev.mysql.com/doc/refman/5.0/en/c-thread-func...
3 сентября 2008 в 0:00
А если используется один конект к базе даних, то нужна синхронизировать потоки в доступе к ней (в ADO.NET)?
2 сентября 2008 в 22:00
#7 – та может быти и не причом, просто мой друг пишет на Java EE и сказал мне что там синхронизацией доступа занимается "менеджер модулей", тобто там все запросы записываются в очередь и потом один поток их выбирает один за одным и отсылает на обработку СУБД.
2 сентября 2008 в 22:00
#3 – да все клиенты обращаются к одной базе даних и имеется введу синхронизация потоков.
2 сентября 2008 в 22:00
Ну если надо можно сделать и очередь…только в твоем случае не особо оно и нужно просто пул соединений и все…
а вообще стоит имхо подучить мат часть
2 сентября 2008 в 11:00
я так понимали имелась в виду трехзвенная структура ))
"менеджер модулей" ну и?? причем он здесь?
2 сентября 2008 в 10:02
Система управления базой данных (СУБД, database management system, DBMS) – программное обеспечение, контролирующее организацию, хранение, целостность, внесение изменений, чтение и безопасность информации в базе данных. СУБД отвечает за обработку запросов к базе данных, и получение ответа.
2 сентября 2008 в 7:04
курите транзакции и блокировки таблиц в вашем СУБД
2 сентября 2008 в 6:02
Это не распределённая, а централизованная система, если сервак выделен.
2 сентября 2008 в 1:01
Клиенты цепляются к одной базе? Если да, то такого понятия как синхронизация данных вообще не существует. Все хоанится в едином хранилище.
Или Вы имеете в виду синхронизацию потоков? Обеспечте безопасное выполнение на вашем серверном приложении, а СУБД о себе позаботится сама/ Открывайте в каждом потоке свой собственный коннект к MySQL и будет Вам счастье
2 сентября 2008 в 0:00
Если я неошибаюся в Java EE (я Java почти совсем не знаю тому извенити если я ошибаюся) есть менеджер модулей, которий етим занимается, вот потому у меня возник такой вопрос.