...

вторник, 14 января 2014 г.

[Из песочницы] Что такое Teradata?

Предисловие: По работе мне пришлось изучать устройство базы данных 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: каким образом проставляются эти индексы и как они влияют на быстродействие.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий