Pull to refresh

Что такое Teradata?

SQL *Big Data *
Sandbox
Предисловие: По работе мне пришлось изучать устройство базы данных Teradata, и оказалось, что в интернете почти нет информации, особенно на русском языке. Поэтому я решила собрать в кучу всю доступную информацию.

Стремительное увеличение объемов носителей информации и удешевление стоимости хранения данных привело к появлению методов, способных обеспечить более быстрый доступ к необходимым данным – индексы, хранение данных в отсортированном виде и т.п. Эти методы вполне успешно справляются со своей задачей, однако возрастающая конкуренция в мире заставляет искать новые, более быстрые, способы доступа к информации. «Кто владеет информацией, тот владеет миром». Основной интерес вызывают базы данных с традиционной реляционной моделью данных, отвечающие требованиям ACID (Atomicity, Consistency, Isolation, Durability — атомарность, согласованность, изолированность, надежность) и предназначенные для аналитики Больших Данных (Big Data).

Teradata – это параллельная реляционная СУБД, которая работает на операционных системах:

  • MP-RAS UNIX
  • Microsoft Windows 2000/2003 Server
  • SuSE Linux

Разнообразие поддерживаемых ОС — одна из причин, почему Teradata имеет открытую архитектуру.

СУБД Teradata – это большой сервер баз данных, который взаимодействует с множеством клиентов посредством протокола TCP/IP или через соединение с каналом универсальной вычислительной машины (mainframe) IBM.

Компании выбирают СУБД Teradata по множеству причин:

  • Поддержка больших объемов информации – более 400 Тб в одной области
  • Поддержка модульного наращивания от маленьких баз данных (10Гб) до больших (100+ Тб)
  • Обеспечение параллельно-осведомленным оптимизатором, который исключает выполнение сложных настроек для получения запроса
  • Автоматическое распределение данных исключает сложные схемы индексации и трудоемкие реорганизации
  • База данных спроектирована и построена на параллельной архитектуре с самого начала
  • Поддержка нерегламентированных запросов, использующих ANSI-стандарт SQL и включающих в себя информацию управления базами данных SQL (log-файлы), что позволяет представлять запросы других систем управления базами данных в Teradata
  • Единая точка управления для администрирования базы данных (Teradata Manager)


Высокую скорость доступа к данным Teradata обеспечивает за счет MPP (Massive Parallel Processing) – массивно-параллельной архитектуры. Ее особенность заключается в том, что память физически разделена. Teradata предлагает серверы Intel, соединённые в частную сеть BYNET для обмена сообщениями. Системы Teradata предлагаются с фирменными дисковыми массивами для хранения баз данных производства либо LSI, либо EMC. Подробнее о конфигурации систем хранения можно почитать в блоге компании.

AMP

Основное понятие в архитектуре Teradata Database — это AMP (Access Module Processor), отдельная нода/узел, содержащая и самостоятельно обрабатывающая свои данные. То есть каждый AMP занят обработкой и хранением лишь своей части базы данных и мало зависит от других AMP-ов. В этом Teradata Database похожа на Hadoop (система для распределённых вычислений). Однако массивно-параллельная архитектура с неверно спроектированной базой данных за счет перегрузки сетевых каналов между AMP-ами может давать даже худшие результаты, чем однопотоковый мощный сервер баз данных, такой, каким изначально создан сервер СУБД Oracle. Для балансировки нагрузки между AMP-ами и других административных задач используются средства Teradata Manager, DBSConsole и Teradata Administrator. В частности эти средства позволяют задавать фильтры и приоритеты для выполняющихся на AMP-ах, либо сервере в целом, пользовательских процессов.

Более подробно архитектура Teradata описана в блоге компании.

В Teradata есть оптимизатор запросов, работа которого основана на статистической информации о данных.

Начиная с 14-й версии в Teradata есть возможность хранить данные как в виде строк, так и в виде столбцов (горизонтальное и вертикальное партиционирование). Гибридное хранение данных также описано в блоге компании.

Data Mart

Традиционно обработка данных делилась на две категории: OLTP (On-line Transaction Processing) и DSS (Decision Support Systems). Но для аналитических баз данных с большим объемом информации обработка данных делится на OLAP (On-line Analytical Processing) и DM (Data Mining).

Тип Описание Пример Число доступных строк Время ответа
OLTP Работа с небольшими по размерам транзакциями, но идущими большим потоком, при этом клиенту требуется от системы минимальное время отклика Обновить текущий счет, чтобы отобразить депозит Мало Секунды
DSS Система поддержки принятия решений для полного и объективного анализа предметной деятельности Каковы были ежемесячные продажи обуви у розничного продавца Х? Много (миллионы) Секунды или минуты
OLAP Технология обработки данных, заключающаяся в подготовке суммарной (агрегированной) информации на основе больших массивов данных, структурированных по многомерному принципу Показать 10 наиболее продаваемых товаров среди всех магазинов в 2005 году Много детализированных строк или среднее число сводных строк Секунды или минуты
Data Mining Интеллектуальный анализ данных Какие клиенты, скорее всего, ответят на акцию? Среднее число длинных детализированных строк Фаза 1: минуты или часы
Фаза 2: секунды или доли секунд

Таким образом, Big Data удобнее обрабатывать с помощью т.н. витрин данных (Data Mart) – среза хранилища данных, представляющего собой массив тематической, узконаправленной информации, ориентированной, например, на пользователей одной рабочей группы.

Концепция имеет ряд достоинств:

  • Аналитики видят и работают только с теми данными, которые им реально нужны
  • Целевая БД максимально приближена к конечному пользователю
  • Витрины данных обычно содержат тематические подмножества заранее агрегированных данных, их проще проектировать и настраивать
  • Для реализации витрин данных не требуется высокомощная вычислительная техника

Однако в концепции витрин не предлагается способов, как обеспечить целостность и непротиворечивость хранимых данных.

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

Источники:
[1] Блог компании Teradata: Teradata – СУБД, параллельная от рождения
[2] Блог компании Teradata: Скорость или объем? Автоматизация управления системами хранения с разнородными характеристиками
[3] Блог компании Teradata: Статистика в СУБД Teradata
[4] Блог компании Teradata: Поколоночное и гибридное хранение записей в СУБД Teradata
[5] Реляционные базы данных обречены?
[6] Просто и доступно о аналитических БД
[7] Скорость доступа к данным: битва за будущее
[8] Wikipedia
[9] Документация на английском языке в бумажном виде

Теперь нужно разобраться с понятием Primary Index: каким образом проставляются эти индексы и как они влияют на быстродействие.

UPD
Следующий пост: Распределение строк и доступ в СУБД Teradata (Primary Index)
Tags:
Hubs:
Total votes 13: ↑11 and ↓2 +9
Views 65K
Comments Comments 9