Обработка более 500 миллионов строк в кубе без проблем с производительностью - PullRequest
0 голосов
/ 05 апреля 2019

У меня огромная база данных, например:

Мой клиент ежедневно загружает 500 миллионов записей данных для продаж в буферную таблицу фактов, называемую «Продажи».Я должен обработать эти продажи на мой куб в режиме добавления / обновления, но это снижает производительность даже при 186 ГБ ОЗУ.

Я уже пытался создать индексы для таблиц измерений, это немного помогаетно не слишком много.

Мой клиент сказал, что они ожидают увеличения продаж на 15% каждые 6 месяцев ...

Существует умный способ загрузить эти данные, не ожидая слишкомсколько у нас?

Я использую SQL-Server 2016.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Если вы используете SAN для хранения своей базы данных.Возможно, вы захотите взглянуть на какое-нибудь программное обеспечение, такое как Condusiv V-locity, чтобы устранить большую часть операций ввода-вывода, отправляемых и получаемых от ядра базы данных.

Я мог бы предложить создать отдельное ядро ​​базы данных для доставкирегистрируйте транзакции на отдельном сервере и каждые 15 минут применяйте журналы транзакций к БД для создания аналитики без использования оперативных данных.Кроме того, интенсивная запись в производственную БД не повлияет на вашу способность создавать сложные запросы, которые время от времени блокируют таблицу или строки на сервере отчетов.

0 голосов
/ 05 апреля 2019

Вы можете настроить функцию индексации хранилища столбцов сервера sql 2016. Индексы Columnstore являются стандартом для хранения и запроса больших таблиц фактов хранилища данных. В этом индексе используется хранение данных на основе столбцов и обработка запросов, что позволяет в 10 раз увеличить производительность запросов в хранилище данных по сравнению с традиционным хранением на основе строк. Вы также можете получить прирост до 10 раз сжатия данных по сравнению с размером несжатого данных. Начиная с SQL Server 2016 (13.x), индексы columnstore обеспечивают операционную аналитику: возможность выполнять эффективную аналитику в реальном времени при транзакционной рабочей нагрузке.

Вы можете получить более подробную информацию об этом по ссылке Microsoft

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...