Я разрабатываю веб-гусеничный инструмент, который сканирует веб-магазины и находит продукты. В настоящее время я только сохраняю единственную цену, которая была найдена совсем недавно, но я хотел бы также сохранить историю. Я использую MariaDB (5.3.8) с таблицами InnoDB для основной базы данных.Что такое лучшая база данных для истории ценностей?
Однако я не уверен, что MariaDB/MySQL может быть лучшей базой данных для истории цен.
Я буду экономить не более одной цены за продукт в день, с периодом хранения данных где-то около 2-4 лет. Таблица моих продуктов будет содержать около 2 миллионов строк, которые принесут количество строк для истории цен до ~ 730 миллионов в течение года.
Это довольно много, говорит.
Эти данные должны быть доступны быстро (идентифицируются с помощью числового идентификатора (идентификатор продукта) или хэш-значения SHA1, что лучше/проще).
Данные, которые должны быть сохранены не просто:
product_id, цена, дата (! Нет времени)
Там будет тяжелая нагрузка на базе программного обеспечения обработки его, так как Вставки будет происходить довольно часто и SELECTs будут проходить одинаково часто, если не чаще. Агрегация данных в другую базу данных каждый раз в то же время является возможностью свести к минимуму запросы SELECT, но я бы предпочел избежать ее, чтобы не добавлять еще один уровень «вспомогательных скриптов».
Не будет выполненных DELETE.
Что вы предложите?
Необходимо указать хотя бы один индекс (product_id, date), так как для каждого продукта должно быть только одно значение в день. Я изложил все, что вы просите в моем вопросе. Резервное копирование релевантно, высокая доступность частично актуальна. –
Это были риторические вопросы в том смысле, что я хотел сказать, что производительность DML не имеет значения для вас. Вы должны решить только на основе этого вопроса. В этом смысле я рекомендую вам использовать только СУБД. – usr