Как вы могли бы решить следующую проблему хранения и поиска?
Примерно 2.000.000 строк будут добавляться каждый день (365 дней/год) со следующей информацией в строке:
- id (уникальный идентификатор строки)
- entity_id (принимает значения от 1 до 2.000.000 включительно)
- date_id (увеличивается с каждым днем) будет принимать значения от 1 до 3,650 (десять лет: 1 * 365 * 10))
- value_1 (принимает значения от 1 до 1.000.000 включительно)
- значение_2 (принимает значения от 1 до 1.000.000 включительно)
entity_id в сочетании с date_id уникален. Следовательно, в таблицу может быть добавлено не более одной строки на сущность и дату. База данных должна иметь возможность хранить 10-дневную ежедневную информацию (7,300,000,000 строк (3,650 * 2,000,000)).
То, что описано выше, - это шаблоны записи. Шаблон чтения прост: все запросы будут выполняться на определенном объекте_ид. То есть получить все строки, описывающие entity_id = 12345.
Поддержка транзакций не требуется, но решение для хранения должно быть открыто. В идеале я бы хотел использовать MySQL, но я открыт для предложений.
Теперь - как бы вы справились с описанной проблемой?
Обновление: Мне было предложено подробно рассказать о шаблонах чтения и записи. Записи в таблице будут выполняться в одной партии в день, когда новые записи 2M будут добавлены за один раз. Считывание будет производиться непрерывно с каждым чтением каждую секунду.