Классика баз данных - статьи

       

Детальная информация о вызовах телефонных компаний


В большинстве приложений хранилищ данных (если не во всех них) используются схемы «звезда» или «снежинка»; и схема одного из таких хранилищ данных показана на рис. 1. Эта схема используется в производственном режиме некоторой компанией, специализирующейся на бизнес-анализе детальной информации о вызовах телефонных компаний. Здесь в центральной таблице фактов (usage) поддерживаются записи с разнообразными детальными данными о вызовах; в таблице account содержатся номера телефонов, являющихся субъектами биллинга; source содержит информацию о сети, из которой поступили детали вызова, и toll содержит информацию биллинга.


Рис.1. Схема телефонной компании

Кроме этой схемы,телефонная компания предоставила компании Vertica 600 гигабайт реальных данных и набор примеров запросов, которые используются в их повседневной работе. Кроме того, они также предоставили Vertica приблизительные времена выполнения этих запросов при использовании их текущего решения – 28-процессорного блейд-сервера с СУБД одного из ведущих поставщиков; эта установка стоит примерно 300000 долларов, а СУБД основывается на традиционной архитектуре с хранением данных по строкам. На рис. 2 показаны эти значения времени выполнения запросов, а также соответствующие показатели системы Vertica, полученные при использовании двухпроцессорного компьютера с двухъядерным процессором Opteron стоимостью около 2500 долларов.


Рис. 2. Время выполнения запросов (в секундах)

На рис. 3 показан код на языке SQL запроса 2 этого тестового набора над звездообразной схемой, показанной на рис. 1. Этот запрос является типичным для запросов над хранилищами данных: сначала в нем производится фильтрация таблицы фактов с использованием предикатов, определенных над ее столбцами или столбцами таблиц измерений; затем ограниченная таблица фактов группируется на основе некоторых атрибутов и агрегатов. При выполнении этого запроса производительность системы с хранением данных по столбцам в 47 раз превосходит производительность системы с хранением данных по строкам при использовании в семь раз меньшего числа процессоров.

Содержание  Назад  Вперед