Feed on Posts or Comments

Big Data Appliance &Hadoop &ODI &Oracle Database &R &Общее Андрей Пивоваров on 15 Feb 2012 12:22 pm

Oracle Big Data Appliance

\"OracleПредполагалось, что этот текст будет частью обзора новостей, но потом я решил вынести его отдельный пост. Да и тема новая.

В начале января Oracle объявил о начале продаж Oracle Big Data Appliance. Пресс-релиз об этом здесь.

Это новый программно-аппаратный комплекс из семейства Oracle Engineered Systems & Appliances. В это же семейство входят Exadata, Exalogic, Exalytics. Объявлен он был осенью прошлого года на Oracle OpenWorld 2011.

Для тех, кто знаком с темой NoSQL DB и Hadoop можно сказать, что это оптимизированный комплекс для выполнения как раз Oracle NoSQL Database и Hadoop.


Для тех, кто не знает что это. В двух словах.

Когда у нас есть \”обычные\” хранилища данных размером от сотен гигабайт до нескольких терабайт, то существующие СУБД вполне подходят для их хранения и обработки. Но когда данных становится очень много – десятки и сотни терабайт или даже петабайты, то возникает альтернатива. В Oracle, конечно, тоже можно хранить данные объемом в сотни терабайт. И примеры таких хранилищ у нас есть. Но довольно часто получается так, что эти сотни терабайт состоят из не очень ценных данных вроде логов, CDR-ов, неструктурированных данных и проч. Эти данные и выбросить жалко, так как из них можно извлечь ценную информацию, но и хранить и обрабатывать их дорого во всех смыслах.

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

Apache Hadoop – это Open Source среда для распределенных вычислений, состоящая из множества сравнительно дешевых узлов, на которых данные хранятся в распределенной файловой системе HDFS и обрабатываются при помощи фреймворка MapReduce. Преимуществом является то, что эта среда практически неограниченно масштабируется. Имеются примеры Hadoop кластеров на десятки тысяч(!) узлов.
Хранить вы в ней можете действительно петабайты данных и гораздо дешевле, чем в обычных реляционных СУБД.

Hadoop был создан на основе принципов, по которым хранение и обработка данных устроена в Google.

Конечно, есть своя ложка дегтя. Поскольку это распределенная среда, она требует немного другого подхода к обработке данных, нужно понимать тот-же MapReduce, но самое главное она не заменяет традиционные СУБД. Например в СУБД есть множество возможностей, которых нет в Hadoop. То есть, имеет смысл складировать данные и выполнять ETL-обработку петабайтов данных на Hadoop, но отфильтрованные и агрегированные данные затем стоит загружать в тот же Oracle, в классическое хранилище данных, для уже последующего бизнес-анализа.

В общем, если вы сталкиваетесь с задачей обработки сверхбольших объемов – имеет смысл подумать о Big Data Appliance и Hadoop.

Что же такое сам Oracle Big Data Appliance? Несмотря на то, что Hadoop – это open source и следовательно бесплатная среда, для того, чтобы собрать эффективный кластер из десятков узлов для обработки сотен терабайт данных нужны очень хорошие и дорогие навыки.

Oracle предлагает такой оптимизированный шкаф уже в сборе, и если у вас нет специалистов с такими навыками – вы можете просто купить готовый комплекс. На нем установлено 18 узлов, суммарно 216 процессорных ядер, 848 гигабайт оперативной памяти и 648 терабайт дискового пространства (которые превращаются в 216ТБ реальных, доступных для хранения, так как в таких распределенных системах, все данные обычно хранятся в трех копиях). Как и в случае с Exadata – если вам не хватает мощности или 648 TB, можно докупать дополнительные шкафы, связывать их через Infiniband и таким образом наращивать мощность кластера.

Поддержка и аппаратной и программной части обеспечивается Oracle. Дистрибутив Hadoop, который устанваливается на Big Data Appliance от компании Cloudera. Ситуация с дистрибутивами Hadoop напоминает Linux. Есть несколько поставщиков дистрибутивов. Дистрибутив Cloudera считается одним из самых лучших, если не самым лучшим на рынке.

Дополнительно на BDA есть дополнительный софт от Oracle (платный), т.н. Oracle Big Data Connectors:

  1. Oracle Loader for Hadoop – новый продукт, который позволяет эффективно закачивать данные из Hadoop в Oracle
  2. Oracle Data Integrator Application Adapter for Hadoop – набор модулей знаний для ODI, которые позволяют ему выполнять ETL процессы непосредственно в Hadoop.
  3. Oracle R Connector for Hadoop – Это специальные библиотеки к языку R, которые позволяют ему обрабатывать данные на кластере Hadoop. Cейчас получается, что для R есть две альтернативы – можно обрабатывать данные внутри СУБД Oracle, а можно на кластере Hadoop. Можно, наверное, и одновременно.
  4. Oracle Direct Connector for Hadoop Distributed File System – это специальная софтинка, которая позволяет Oracle Database \”видеть\” файлы, лежащие в HDFS непосредственно, так, как будто они лежат в обычной файловой системе. Ну и соответственно, можно, например создавать External Tables, у которых данные лежат в кластере Hadoop.

Надо сказать, что Hadoop используется не только для ETL процессов, но и как распределенная вычислительная среда, но в контекте Oracle, наверное имеет смысл говорить в основном о дополнении к хранилищам данных.

Страница Big Data Appliance на сайте Oracle тут.
Еще одно введение в тему Big Data от Саши Рындина тут. И у него же читайте подробнее о начинке Big Data Appliance.

__________________________________
Читайте также:
А еще можно почитать мой твиттер @apivovarov

Trackback This Post | Subscribe to the comments through RSS Feed

Leave a Reply