У меня есть установка MongoDB для одной машины, которая удовлетворяет потребности моего приложения во время выполнения, но налагает существенное узкое место во время загрузки данных, поскольку фоновая индексация в поле массива занимает несколько дней (инвертированный индекс). Кажется, это та же проблема, что и здесь Создание большого индекса MongoDB очень медленно . Интересно, имеет ли смысл делегировать / распространять создание индекса, а затем развертывать индекс результата на главном компьютере. Если кто-то обдумал это - был бы признателен за обмен опытом. Вот некоторые идеи, которые я хотел проверить:
- Используйте распределенное задание, такое как Hadoop или DataFlow, для создания кортежей индексов, а затем загрузите их обратно либо в MongoDB напрямую, либо в другую БД, которая может быть более эффективной для хранения инвертированного индекса.
- Используйте другой сервис, такой как ElasticSearch, который потенциально может более эффективно обрабатывать индексирование; однако я не имею опыта работы с ним и хочу продолжать размещать все на одной машине.