2016-02-19 3 views
3

Я использую mongoDB для хранения и запросов к 50-миллионным записям (большие файлы Json без фиксированной схемы), через весеннее веб-приложение. Простые поисковые запросы на основе пары K-V запускаются через несколько секунд. Я ищу способы довести время поиска до < 1s.Sharding with spring mongo

Индексирование не работает для меня из-за характера хранящихся файлов. Я смотрел на альтернативы и натыкался на осколки. Однако я не нашел хорошего учебника, объясняющего, как настроить очертание моего существующего приложения Spring-Mongo.

Может ли кто-нибудь указать мне на хорошее объяснение тому же? Также будут приветствоваться любые другие предложения по оптимизации времени поиска!

EDIT

После комментария, я преобразовал мою существующую базу данных Монго в sharded один с 1 конфигурации сервера, сервера 1 запроса и 2 осколками. Раньше мой (весна-загрузка) application.properties файл выглядел следующим образом:

... 
spring.data.mongodb.database=pam 
spring.data.mongodb.host=localhost 
spring.data.mongodb.port=27017 
spring.data.mongodb.repositories.enabled=true 
spring.data.mongodb.uri=mongodb://localhost:27017/pam 
... 

Как изменить его сейчас, чтобы адаптироваться к sharded базы данных, с тем же именем?

+0

FYI. Нет такой вещи, как «настройка осколков на весну», но есть только «настройка осколки». Речь идет исключительно о конфигурации базы данных, и ваше приложение (за исключением выбора ключа осколки в настройке) на самом деле не затронуто, и его не волнует, если он подключается к одному серверу или кластерному кластеру. Таким образом, здесь нет никакого программирования. Выбор ключа осколка, который будет эффективным для вашего желаемого шаблона доступа, - это еще одна история. –

+0

Что касается настройки осколков, прочитайте руководство [«Учебники с отложенным кластером»] (https://docs.mongodb.org/manual/administration/sharded-clusters/) –

+0

О, ладно. Большое спасибо! –

ответ

1

Если вы внимательно прочитали документы https://docs.mongodb.com/manual/sharding/, вы согласитесь с тем, что факт осколки является и должен быть прозрачным для остальной части системы. То есть изначально ваша система может быть только одна база данных, а затем полный осколок с

  • mongos Router
  • Config сервера
  • Осколки (которые являются репликами)

т.е. Sharding является вопрос развертывания, не дизайн. Интерфейс MongoDB остается неизменным.

Смежные вопросы