Программисты SAS в моей компании работают с исследователями, чтобы проанализировать данные, хранящиеся в текстовых файлах размером около 1 ТБ.В результате процессы SAS могут занять несколько дней.Всякий раз, когда исследователи хотят немного изменить вопрос, процессы должны быть перезапущены, что потребует дополнительных часов или дней.
Программисты SAS обратились к нашей команде DBA за способом хранения своих данных с целью значительногоПовышение производительности запросов.
Две основные трудности:
- У нас есть только несколько примеров запросов, и нет типичного набора ожидаемых запросов.
Многие из запросов будут иметь форму, подобную
ВЫБЕРИТЕ СЧЕТЧИК (DISTINCT id) ИЗ ТАБЛИЦЫ t ГДЕ a = true И b = 3 И c IN (от 3 до 10);
, но в котором параметры фильтра WHERE неизвестны и могут включать любую комбинацию столбцов и атрибутов.Это означает, что мне кажется (прочитав немного о хранилищах данных), что наши требования исключают типичный подход к хранилищу данных, при котором мы выполняем некоторые агрегации и работаем с более высокой степенью детализации записей.
Iищу любые ресурсы, которые говорят о разработке баз данных с аналогичными ограничениями.В «1019 * Building Data Warehouse» Билла Инмона он кратко упоминает «хранилища данных» и «хранилища данных».Используя эти термины, я нашел эту статью, которая оказалась несколько полезной: «Проектирование хранилища данных для эффективного интеллектуального анализа данных» [ pdf ], но это более или менее так.Большая часть того, что я нахожу при поиске re: «интеллектуальный анализ данных», касается OLAP.
Я начинающий администратор баз данных, и мне было предложено предложить несколько предложений для этого проекта.Я думаю, что на данный момент мое самое полезное предложение будет заключаться в том, чтобы предложить дизайн, чтобы максимально избежать дорогих соединений.Я здесь на коне - не ожидаю чудес, но любые мудрые советы или рекомендации по чтению были бы очень кстати.
Спасибо!