Как лучше всего хранить данные о тенденциях?

Я сейчас создаю приложение, в которое я импортирую статистические данные для (в настоящее время) около 15 000 продуктов. В настоящее время, если бы я должен был поддерживать одну таблицу базы данных для ежедневной статистики из одного источника, она увеличивалась бы на 15 000 строк данных (скажем, 5-10 полей в строке в основном с плавающей точкой, int) в день. Очевидно, это приравнивается к более чем 5 миллионам записей в год в одной таблице.

Меня это не волнует так сильно, как мысль о внесении данных из других источников (и, таким образом, увеличении размера базы данных на 5 миллионов записей для каждого нового источника). ).

Теперь данные представляют собой статистические данные / данные, основанные на тенденциях, и будут иметь в основном одну запись в день на запись и множество операций чтения. Однако для создания отчетов и построения графиков «на лету» мне нужен быстрый доступ к подмножествам данных на основе правил (диапазоны дат, диапазоны значений и т. Д.).

Мой вопрос: это лучший способ хранения данных ( MySQL InnoDb tables), или есть лучший способ хранить и обрабатывать статистические данные / данные о тенденциях?

Другие варианты, которые я выбрал в этот момент: 1. Несколько баз данных (по одной на продукт) с отдельными таблицами для каждого источника данных внутри. (например, База данных: ПродуктA, Таблица (и): Source_A, Source_B, Source_C) 2. Одна база данных, несколько таблиц (по одной для каждого продукта / источника данных) (например, База данных: Продукты, Таблицы: ProductA_SourceA, ProductA_SourceB и т. д.) 3. Вся фактическая или конкретная информация о продукте в базе данных и все статистические данные в csv, xml, json, (плоские файлы) в отдельных каталогах.

Пока что ни один из эти варианты очень удобны, у каждого есть свои плюсы и минусы. Мне нужно разумное решение, прежде чем я перейду к альфа-стадии разработки.

7
задан Brian Tompsett - 汤莱恩 26 December 2015 в 10:58
поделиться