singlepost

Базы данных и синхронизация << На главную или назад  

Извините, вопрос может немного тупой, но тем немения. Есть програма сервер, которая образно говоря обеспечивает доступ до бази даних (предполагается использовать MySQL и способ доступа через ADO.NET и взаимодействие с сервером основано на Remoting) и програмы клиенти, которые виполняют определенные действия с етой базой даних (виборка, вставка записей, удаление и тд.) посредством етой прогами-сервера. В общем ето разпределеная система типа предприятия. И вот вопрос, нужно ли програме-сервер самостоятельно синхронизировать ети запроси, или СУБД сделает ето сама. Зарание спасибо за ответ.

14 ответов в теме “Базы данных и синхронизация”

  1. 14
    Назарій Пйонтко ответил:

    #14
    >>Только такое счастье хорошо работает только при коротких транзакциях…

    Впринципе транзакции предполагаются быть короткими.

  2. 13
    Михаил Штельма ответил:

    не надо конектиться, нужно иметь пул коннектов, и каждый раз вытаскивать из пула коннект, после того как все сделали, отдать коннект в пул. Только такое счастье хорошо работает только при коротких транзакциях…

  3. 12
    Назарій Пйонтко ответил:

    #12
    >>Зачем так сделано, простите мой глупый вопрос? Или Вам коннектов жалко?

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

  4. 11
    Антон Щиров ответил:

    Зачем так сделано, простите мой глупый вопрос? Или Вам коннектов жалко?

    Как это сделано в АДО я понятия не имею, что касается API, то Вам сюда //dev.mysql.com/doc/refman/5.0/en/c-thread-func...

  5. 10
    Назарій Пйонтко ответил:

    А если используется один конект к базе даних, то нужна синхронизировать потоки в доступе к ней (в ADO.NET)?

  6. 9
    Назарій Пйонтко ответил:

    #7 – та может быти и не причом, просто мой друг пишет на Java EE и сказал мне что там синхронизацией доступа занимается "менеджер модулей", тобто там все запросы записываются в очередь и потом один поток их выбирает один за одным и отсылает на обработку СУБД.

  7. 8
    Назарій Пйонтко ответил:

    #3 – да все клиенты обращаются к одной базе даних и имеется введу синхронизация потоков.

  8. 7
    Михаил Штельма ответил:

    Ну если надо можно сделать и очередь…только в твоем случае не особо оно и нужно :) просто пул соединений и все…
    а вообще стоит имхо подучить мат часть :)

  9. 6
    Михаил Штельма ответил:

    я так понимали имелась в виду трехзвенная структура :) ))
    "менеджер модулей" ну и?? причем он здесь?

  10. 5
    Дмитрий Косточко ответил:

    Система управления базой данных (СУБД, database management system, DBMS) – программное обеспечение, контролирующее организацию, хранение, целостность, внесение изменений, чтение и безопасность информации в базе данных. СУБД отвечает за обработку запросов к базе данных, и получение ответа.

  11. 4
    Артём Шалхаков ответил:

    курите транзакции и блокировки таблиц в вашем СУБД

  12. 3
    Кирилл Быков ответил:

    Это не распределённая, а централизованная система, если сервак выделен.

  13. 2
    Антон Щиров ответил:

    Клиенты цепляются к одной базе? Если да, то такого понятия как синхронизация данных вообще не существует. Все хоанится в едином хранилище.
    Или Вы имеете в виду синхронизацию потоков? Обеспечте безопасное выполнение на вашем серверном приложении, а СУБД о себе позаботится сама/ Открывайте в каждом потоке свой собственный коннект к MySQL и будет Вам счастье

  14. 1
    Назарій Пйонтко ответил:

    Если я неошибаюся в Java EE (я Java почти совсем не знаю тому извенити если я ошибаюся) есть менеджер модулей, которий етим занимается, вот потому у меня возник такой вопрос.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.