Репликация Mnesia и большое количество грязных операций

Некоторым приложениям требуется действительно быстрый отклик, чтобы оправдать ожидания пользователей. Я создаю одно такое приложение и использую mnesia. Теперь, когда мы by-pass менеджер транзакций mnesia, мы приближаемся к хорошей производительности. Однако вот в чем проблема:

Нам нужно реплицировать эту базу данных как часть load balancing, в конце концов, mnesia делает репликацию за нас. Мы используем ONLY dirty операций в этом приложении. У нас есть несколько частей, использующих контекст async_dirty. Мне интересно, повлияет ли репликация мнезии, если мы не используем контекст transaction в этом масштабе?

С записями все время выполняется слишком много частых операций dirty, поэтому мне интересно, найдет ли запрос, сделанный на реплике side B, изменения, только что внесенные репликой side A с помощью грязной операции?


person Muzaaya Joshua    schedule 21.10.2012    source источник


Ответы (1)


Согласно Руководству пользователя Mnesia:

  • async_dirty действия "будут ждать выполнения операции на одном узле, но не на других".
  • Для действий sync_dirty: «Вызывающий объект будет ждать выполнения обновлений на всех активных репликах».
person igorrs    schedule 08.01.2013