- PVSM.RU - https://www.pvsm.ru -
Предисловие: По работе мне пришлось изучать устройство базы данных Teradata, и оказалось, что в интернете почти нет информации, особенно на русском языке. Поэтому я решила собрать в кучу всю доступную информацию.
Стремительное увеличение объемов носителей информации и удешевление стоимости хранения данных привело к появлению методов, способных обеспечить более быстрый доступ к необходимым данным – индексы, хранение данных в отсортированном виде и т.п. Эти методы вполне успешно справляются со своей задачей, однако возрастающая конкуренция в мире заставляет искать новые, более быстрые, способы доступа к информации. «Кто владеет информацией, тот владеет миром». Основной интерес вызывают базы данных с традиционной реляционной моделью данных, отвечающие требованиям ACID (Atomicity, Consistency, Isolation, Durability — атомарность, согласованность, изолированность, надежность) и предназначенные для аналитики Больших Данных (Big Data).
Teradata – это параллельная реляционная [1] СУБД, которая работает на операционных системах:
Разнообразие поддерживаемых ОС — одна из причин, почему Teradata имеет открытую архитектуру.
СУБД Teradata – это большой сервер баз данных, который взаимодействует с множеством клиентов посредством протокола TCP/IP или через соединение с каналом универсальной вычислительной машины (mainframe) IBM.
Компании выбирают СУБД Teradata по множеству причин:
Высокую скорость доступа к данным Teradata обеспечивает за счет MPP (Massive Parallel Processing) – массивно-параллельной архитектуры. Ее особенность заключается в том, что память физически разделена. Teradata предлагает серверы Intel, соединённые в частную сеть BYNET для обмена сообщениями. Системы Teradata предлагаются с фирменными дисковыми массивами для хранения баз данных производства либо LSI, либо EMC. Подробнее о конфигурации систем хранения [2] можно почитать в блоге компании.
Основное понятие в архитектуре Teradata Database — это AMP (Access Module Processor), отдельная нода/узел, содержащая и самостоятельно обрабатывающая свои данные. То есть каждый AMP занят обработкой и хранением лишь своей части базы данных и мало зависит от других AMP-ов. В этом Teradata Database похожа на Hadoop (система для распределённых вычислений). Однако массивно-параллельная архитектура с неверно спроектированной базой данных за счет перегрузки сетевых каналов между AMP-ами может давать даже худшие результаты, чем однопотоковый мощный сервер баз данных, такой, каким изначально создан сервер СУБД Oracle. Для балансировки нагрузки между AMP-ами и других административных задач используются средства Teradata Manager, DBSConsole и Teradata Administrator. В частности эти средства позволяют задавать фильтры и приоритеты для выполняющихся на AMP-ах, либо сервере в целом, пользовательских процессов.
Более подробно архитектура Teradata [3] описана в блоге компании.
В Teradata есть оптимизатор запросов [4], работа которого основана на статистической информации о данных.
Начиная с 14-й версии в Teradata есть возможность хранить данные как в виде строк, так и в виде столбцов (горизонтальное и вертикальное партиционирование). Гибридное хранение данных [5] также описано в блоге компании.
Традиционно обработка данных делилась на две категории: OLTP (On-line Transaction Processing) и DSS (Decision Support Systems). Но для аналитических баз данных [6] с большим объемом информации обработка данных делится на 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 – СУБД, параллельная от рождения [3]
[2] Блог компании Teradata: Скорость или объем? Автоматизация управления системами хранения с разнородными характеристиками [2]
[3] Блог компании Teradata: Статистика в СУБД Teradata [4]
[4] Блог компании Teradata: Поколоночное и гибридное хранение записей в СУБД Teradata [5]
[5] Реляционные базы данных обречены? [1]
[6] Просто и доступно о аналитических БД [6]
[7] Скорость доступа к данным: битва за будущее [7]
[8] Wikipedia [8]
[9] Документация на английском языке в бумажном виде
Теперь нужно разобраться с понятием Primary Index: каким образом проставляются эти индексы и как они влияют на быстродействие.
Автор: alfiruna
Источник [9]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/big-data/52756
Ссылки в тексте:
[1] реляционная: http://habrahabr.ru/post/103021/
[2] конфигурации систем хранения: http://habrahabr.ru/company/teradata/blog/165463/
[3] архитектура Teradata: http://habrahabr.ru/company/teradata/blog/160821/
[4] оптимизатор запросов: http://habrahabr.ru/company/teradata/blog/167801/
[5] Гибридное хранение данных: http://habrahabr.ru/company/teradata/blog/170321/
[6] аналитических баз данных: http://habrahabr.ru/post/149641/
[7] Скорость доступа к данным: битва за будущее: http://habrahabr.ru/post/147743/
[8] Wikipedia: http://ru.wikipedia.org/wiki/Teradata
[9] Источник: http://habrahabr.ru/post/209078/
Нажмите здесь для печати.