Движок: InnoDB. Период. (Конечно, 1% вариантов использования лучше с чем-то другим, но ваш, похоже, не указывает на необходимость другого движка.)
Снежинка: Ужасно, особенно если вам нужно искать в «диапазоне». Предоставьте схему (желательно через ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ
); Я буду более конкретным. (Тогда я могу согласиться, что Снежинка хороша, но я сомневаюсь в этом.)
Звездная схема -- Хорошо. Нормализация общих строк: хорошо. Нормализация «непрерывных» значений (даты, целые числа, числа с плавающей запятой): плохо. Но цель состоит в том, чтобы сэкономить место на диске и, следовательно, ускорить некоторые запросы.
10 ГБ в год — в среднем это звучит как «несколько» строк в секунду. Тяжелый, но не сильно тяжелый. То есть обработка ETL не звучит так, как будто вам нужна помощь.
Хранилище данных -- http://mysql.rjweb.org/doc.php/хранилище данных
Очистить старые данные. Это одно из немногих применений РАЗДЕЛЕНИЕ
. http://mysql.rjweb.org/doc.php/partitionmaint
Разделение на отдельные таблицы, которые хранятся в сети, может быть хлопотным, но с очень небольшой пользой.
Дорогостоящие отчеты --> Сводные таблицы http://mysql.rjweb.org/doc.php/summarytables Сводные таблицы намного меньше таблицы фактов; допустима даже денормализация.
Хранилище столбцов. Одним из больших плюсов является значительное сжатие, которое он обеспечивает. Но я не считаю ваши 50 ГБ очень большими. Еще одним преимуществом CS является автоматическая «индексация» каждого столбца. Однако для двухуровневой эффективности поиска можно использовать только один столбец.
4 ядра — достаточно для InnoDB; больше ядер было бы полезно для CS.
32 ГБ ОЗУ — Всего 50 ГБ данных и 10 ГБ в год — Если все, что вы делаете, это смотрите на данные за последний год, 32 ГБ более чем достаточно. Если вы часто сканируете все 50 ГБ, то будет много операций ввода-вывода. Если вы реализуете сводные таблицы, то 32 ГБ будет излишним для большинства действий. (Сводные таблицы могут быть менее 10 ГБ и возвращаться к началу данных, поэтому их можно кэшировать.)
32 ГБ + CS — ваши 50 ГБ станут примерно 5 ГБ. (Но я не знаю, будет ли 32 излишним.)
Жесткий диск против.SSD — SSD заметно быстрее.
Практический результат (и бюджет). Упомянутые выше методы могут обеспечить бесперебойную работу InnoDB на 32 ГБ в течение нескольких лет.