Назад | Перейти на главную страницу

Международный сегмент MongoDB с хранением данных в зависимости от местоположения

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

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

Я надеялся, что смогу использовать функции сегментирования mongodb, чтобы данные распределялись глобально, как это, при этом позволяя доступ и обслуживание из одного места (что было бы медленным и запрашивало бы международные серверы). К сожалению, единственное упоминание о таком поведении, которое я могу найти, - это упоминание «интеллектуального самонаведения» в блоге MongoDB и ничего больше. Хотя можно было бы просто синхронизировать все в глобальном масштабе, это кажется довольно неэффективным и неизмеренная пропускная способность не является вариантом по крайней мере в одной из стран.

Может ли mongodb поддерживать такое поведение? Любая дополнительная информация о том, как заставить этот тип настройки работать (или почему я не должна заставить эту настройку работать, так как это приведет к смерти котят и т. Д.), Была бы очень признательна.

Некоторые из них уже реализованы в MongoDB, см. Достойную запись здесь:

http://www.mongodb.org/display/DOCS/Data+Center+Awareness

Что касается маршрутизации чтения, в драйверах есть некоторые реализации, но она не встроена. Полная версия функции чтения локализованных данных предназначена для выпуска с 2.2.

Если вы хотите взглянуть на две наиболее тесно связанные проблемы с главным сервером, вы можете взглянуть здесь:

https://jira.mongodb.org/browse/SERVER-3062 https://jira.mongodb.org/browse/SERVER-3358

И, конечно же, вы можете проголосовать за эту функцию, чтобы поднять ее в списке :)