Синхронизация распределенных баз данных в нестабильной сети

Довольно уверен, что флаг InjectNonPublic на NinjectSettings позволяет вам настроить его, чтобы делать то, что вы хотите - ближайшая ссылка , которую я могу быстро найти

поддерживаться в течение какого-либо значительного промежутка времени, я не знаю - инъекции рядовых - это просто плохая идея (вместе с Injection и ассоциированными негодяями: P)

16
задан Jonas 19 December 2011 в 03:40
поделиться

4 ответа

Я не знаю ни одной базы данных, которая бы предоставила вам эту функциональность из коробки; здесь много сложностей из-за необходимости в конечном итоге согласованности и разрешения конфликтов (например, что произойдет, если сеть разделится на 2 половины, и вы обновите что-то до значения 123, а я обновлю его на другой половине до 321, а затем сети снова подключаются?)

Возможно, вам придется свернуть свою собственную.

Для некоторых идей о том, как это сделать, ознакомьтесь с дизайном системы Yahoo PNUTS: http://research.yahoo. com / node / 2304 и Dynamo от Amazon: http://www.allthingsdistributed.com/2007/10/amazons_dynamo.html

9
ответ дан 30 November 2019 в 07:56
поделиться

Я не знаю ваших требований или приложений, но это не вопрос типа быстрого ответа. Мне очень интересно узнать, что говорят другие. Однако у меня есть предложение, которое может сработать или не сработать для вас, в зависимости от ваших требований и ситуации. в частности, это не поможет, если вашим пользователям необходимо использовать приложение, даже когда сеть недоступна (автономный доступ).

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

I осознайте, что это ограничивает офлайн-доступ, но вы можете использовать различные стратегии кэширования. (Что, конечно, возвращает вас к исходному вопросу.)

0
ответ дан 30 November 2019 в 07:56
поделиться

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

Некоторые ключевые слова: репликация , мобильные СУБД , распределенные отключенные СУБД .

Также актуальны эти исследовательские работы (как пример этой области исследований):

  1. Распределенные автономные базы данных ,

... and so on.

18
ответ дан 30 November 2019 в 07:56
поделиться

Проверьте SymmetricDS. SymmetricDS - это программное обеспечение с веб-интерфейсом, не зависящее от базы данных, предназначенное для синхронизации/репликации данных. Она использует веб-технологии и технологии баз данных для репликации таблиц между реляционными базами данных в режиме, близком к реальному времени. Программное обеспечение предназначено для масштабирования для большого количества баз данных, работы с низкоскоростными соединениями и выдерживания периодов перебоев в работе сети.

4
ответ дан 30 November 2019 в 07:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: