HadoopDB архитектурный гибрид технологий



             

Введение - часть 3


Однако, как отмечали Девитт (DeWitt) и Стоунбрейкер (Stonebraker) , в MapReduce отсутствуют многие характеристики, являющиеся бесценными при обработке рабочих нагрузок над стуктурированными данными, (в основном, из-за того, что изначально MapReduce не предназначался для выполнения анализа структурированных данных) и парадигма "прямой отдачи" (immediate gratification), на которой основаны системы MapReduce, препятствует получению дологовременных преимуществ от моделирования и загрузки данных до их обработки. Эти недостатки приводят к тому, что системы MapReduce в ряде случаев демонстрируют производительность, на порядок уступающую производительности параллельных систем баз данных .

В идеальном случае преимущества MapReduce в масштабируемости можно было бы объединить с преимуществами параллельных систем баз данных в проризводительности и эффективности, чтобы получить гибридную систему, которая хорошо подходила бы для рынка аналитических СУБД и отвечала бы потребностям будущих приложений аналитической обработки больших объемов данных. В этой статье мы описываем свою реализацию и экспериментальное использование HadoopDB, которая замышлялась именно как подобная гибридная система. Основная идея HadoopDB состоит в использовании MapReduce в качестве коммуникационного слоя над несколькими узлами, в которых выполяются экземпляры одноузловой СУБД. Запросы представляются на языке SQL, транслируются в MapReduce расширенными существующими средствами, и как можно большая часть работы передается в высокопроизводительные одноузловые СУБД.

Одним из не упоминавшихся ранее преимуществ MapReduce над параллельными системами баз данных является стоимость. Имеется версия MapReduce с открытыми кодами (Hadoop), которую можно получить и использовать бесплатно. При этом у всех упоминавшихся параллельных систем баз данных имеется совсем не маленькая цена, часто составляющая семизначное число для крупных установок. Поскольку наша цель состояла в объединении в гибридной системе всех преимуществ обоих подходов к анализу данных, мы решили основывать свой протитип исключительно на компонентах с открытыми исходными текстами, чтобы добиться еще и преимущества в стоимости. Поэтому мы используем PostgreSQL на уровне управления базами данных, Hadoop – на уровне коммуникаций, Hive – на уровне компиляции. Мы открываем также и весь свой собственный код .




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