Я использую morphia для подключения к mongoDB. Я собираю ежедневный пробег для автомобилей. Прямо сейчас, каждый ежедневный пробег для всех автомобилей хранится в 1 коллекции со следующим атрибутом: plateNumber, дата, пробегМножество масштабируемых коллекций MongoDB
Мы хотим хранить ежедневные пробеги со всех сторон в 1990 году и далее. Сейчас мы уже поддерживаем около 4500 автомобилей (это примерно 1,3 миллиона записей в год). Мы пытаемся использовать данные за один год, и производительность уже сильно изнашивается. Я думал о разделении хранилища на несколько коллекций на основе номера пластины. поэтому каждый номер пластины будет иметь свою собственную коллекцию, названную после номера пластины. Мне нужны идеи. Есть ли другой способ решить эту проблему?
Дополнительная информация: Как мы будем использовать данные: мы хотим запросить мильяды нескольких автомобилей (иногда на один отдел или на географическую область, на марку/модель и т. Д.) В любой заданный диапазон дат. Итак, давайте просто скажем, что хотим контролировать мильяжи в пригороде, мы проведем миксы с номерами пластин, работающие в этом пригороде с 01 января 2014 года по 23 июня 2014 года, и выполните расчет по данным.
спасибо.
Возможно, вы захотите использовать объемную вставку для старых данных, что значительно быстрее, чем последовательные вставки. –
нормально, но как часто вы хотите запускать эти запросы? Я имею в виду, что отдельные владельцы автомобилей смогут запускать их или в любой момент времени, или вы сделаете это в одночасье, чтобы сделать статистику в течение недели или около того. Также 1,3 миллиона записей не кажутся слишком большими, поэтому я удивлен, что ваша производительность плохая. Какие индексы у вас есть в коллекции? – Pio
указатель на табличке Номер и дата (составной индекс). Вставка не будет проблемой, поскольку она будет проводиться только один раз в год в конце года. Извлечение будет довольно интенсивным. Запросы будут часто выполняться для целей мониторинга. и это всего лишь один год. когда ему будет 10 лет, это будет 13 mil + и так далее. –