Поддержка nosql и платформ mongodb, hive и teradata в продуктах...

46
EMBARCADERO TECHNOLOGIES Кросс-платформенные инструменты для работы с БД Андрей Совцов Embarcadero,Москва email: [email protected] Поддержка NoSQL и платформ Big Data: MongoDB, Hive, Teradata и др.

Upload: andrew-sovtsov

Post on 16-Jul-2015

212 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Кросс-платформенные инструменты для работы с БД

Андрей СовцовEmbarcadero,Москва

email: [email protected]

Поддержка NoSQL и платформ Big Data: MongoDB, Hive, Teradata и др.

Page 2: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Темы1. СУБД сегодня

2. Большие данные

3. NoSQL: категории СУБД

4. MongoDB

5. «Горизонтальное» масштабирование БД

6. Map Reduce, Hadoop, Hive

7. Проектирование NoSQL БД

8. ER/Studio и NoSQL (demo)

Page 3: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Насколько велики «Big Data»

Page 4: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Big Data 2014

Все более значительная часть ИТ

Применяется • Инфраструктура

• Аналитика

• Приложения

5

Page 5: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Проблемы «Больших данных» в картинках

Page 6: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Что требуется от БД?

• Удобная для отображения моих данных структура данных

• Скорость и возможность масштабирования (верт. и гор. )

• Богатые и удобные средства доступа и разработки приложений

Page 7: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Что означает «масштабирование»?

• Перенос обработки как можно ближе к данным

• Массивно-параллельная обработка

• Использование более дешевого, стандартного оборудования, но в больших количествах

• Оптимизация для: запросов / чтения / вопросов / аналитики

Page 8: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Page 9: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Кроме шуток…

Page 10: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

NoSQL, не только SQL

Реляционные Графические Колоночные

Ключ-значение

Документные Другие

Page 11: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Терминология

ACID Atomic, Consistent, Isolated, Durable

Атомарность, Согласованность, Изолированность, Надежность

BASE Basically available, Soft state, Eventual consistency

базовая доступностьгибкое состояниесогласованность в конечном счёте

Eventual consistency Согласованность в конечном счете

Schemaless Отсутствие схемы данных

Constraints / Have-to/ MUST / OBEY / Rigid / Inflexible

Ограничения

Page 12: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Мифы про «Большие данные»

• Отсутствие схемы данных

– При чтении мы все равно получаем структуру

– При записи мы можем использовать другую

• Лучше говорить о«данных с множеством схем»

• Новая аппаратная база

• Новые технологии

Page 13: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Schema для записи/ Schema на чтение

Schema для записи(RDBMS)

Директивное моделирование данных:

• Создать схему БД

• Загрузить данные в формате RDBMS

• Запросы к данным в формате RDBMS

Новые колонки должны быть добавлены ДО ТОГО, как новые данные будут помещены в систему.

Хорошо для Known Unknowns

(повторяемости)

14

Schema на чтение(Hadoop/NoSQL)

Описательное моделирование данных:• Собрать данные в натуральном формате• Создать схему• Запросы к данным в натуральном

формате

Новые данные могут появляться в любое время и появляться задним числом если схема правильно описывает ихХорошо для Unknown Unknowns(исследования)

Page 14: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Page 15: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Колоночные (ключ\значение)

• Хранение по колонкам (one-dimensional)

• Единица значения – BLOB

• Запросы только по ключу

• Некоторые СУБД поддерживают вторичные индексы

• Схема не существует

• Update запрещены – только перезапись

• Cassandra, Redis, MemcacheD, Riak, DynamoDB, Sybase IQ

Page 16: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Apache Map Reduce

Page 17: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Реляционные и документо-ориентированные

Реляционные• Запросы по

любому полю

• Замена по месту

• Табличное хранение• Каждое поле содержит

единственное значение• «Жесткая» схема• Нормализация приводит к

Joins «мелких» таблиц• Oracle, MSSQL, MySQL,

PostgreSQL,DB2

Документные• Многомерное

хранение• В каждом поле

м.б. 0,1 или много значений

• Запросы по любому полю на любом уровне

• Гибкая изменяемая схема

• Замена значения по месту• Требуется меньше индексов,

быстрее работает

• MongoDB, CouchDB, RethinkDB

Page 18: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Реляционная модель требует нормализации

User• Name

• Email

Address

Category• Name

• Url

Article• Name

• Slug

• Publish date

• Text

Tag• Name

• Url

Comment• Comment

• Date

• Author

User• Name

• Email Address

Article• Name

• Slug

• Publish date

• Text

• Author

Tag[]• Value

Comment[]• Comment

• Date

• Author

Category[]• Value

В базе данных MongoDB хранятся документы

Page 19: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

MongoDB

Горизонтальная масштабируемость

{ author : “steve”,date : new Date(),text : “About MongoDB...”,tags : [“tech”, “database”]}

Хранит документы

Приложение

Высокая производительность

Целостные данные

Page 20: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Пример документа о вебинаре

{ "_id" : ObjectId("516866d7b29e4f47ecdf02f0"),"actual_duration_(minutes)_" : 69,"actual_start_date/time" : ISODate("2012-10-15T21:00:00.000+04:00"),"clicked_registration_link" : 6,"details" : [

{ "first_name" : "Viacheslav","last_name" : "Slavinsky","interest_rating" : 80,"questions_asked_by_attendee" : "Q: я слышу\nA: --unanswered--\n","registration_date" : ISODate("2012-10-15T20:54:00.000+04:00"),"join_time" : ISODate("2012-10-15T21:01:00.000+04:00"),"attended" : "Yes","unsubscribed" : "No","in_session_duration*_(minutes)_" : 69.03,"leave_time" : ISODate("2012-10-15T22:10:00.000+04:00"),"email" : "[email protected]" },

{}, {}, {}, {}, {},

],"generated" : ISODate("2013-04-12T16:33:00.000+04:00"),"opened_invitation" : 0,"presenter" : [ "VLeonov" ],"tools" : "RAD Studio","total_attended" : 6,"webinar_id" : 857747534,"webinar_name" : "Blogging on FireMonkey"

}

Page 21: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Широкий набор возможностей

• Богатый язык запросов (полный CRUD)

• GeoSpatial – географические запросы

• Текстовый поиск

• Гибкие схемы

• Aggregation и MapReduce

• GridFS (distributed & replicated file storage для больших объектов)

• Интеграция с Hadoop, Storm, Solr и т.п.

Page 22: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Автоматическая репликация данных.

Page 23: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Page 24: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Горизонтальное масштабирование

Page 25: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Баланс

Ма

сш

таб

ируе

мо

сть

и п

ро

изв

од

ите

льно

сть

Глубина функциональных возможностей

MongoDB

Memcached

RDBMS

Page 26: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Почему MongoDB?

Используют MongoDB в промышленном режиме

Page 27: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

А также…

• и тысячи кроме этого

Page 28: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

MongoDB & Hadoop

Page 29: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

N

Page 30: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Прямая поддержка Big Data и NoSQL – в ER/Studio XE6

• Big Data Forward / Reverse Engineering• Сбор описаний новых источников данных

Классические No SQL

• DW, BI

• Data Vault

• Инфраструктуры

• Специализированные

• Новые источники данных

• Новые типы

• Нужны модели (нет жестких схем)

На базе PostgreSQLMPP EDW

Page 31: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Прямая поддержка Big Data и NoSQL – в ER/Studio XE6

• MongoDB

– Versions 2.4 and 2.6

• Hadoop Hive

– Versions 0.12 and 0.13

• Возможности

– Создание диаграмм

– Reverse Engineering (JSON, BSON)

– Создание DDL для Hive (без ALTER)

– Создание JSON-шаблона для MongoDB

32

Page 32: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Hive и ER/Studio

33

Page 33: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Классические СУБД и технологии Hadoop могут работать вместе

Программнаяаналитика

Стандартные Средства (SQL)

Реляционные Многоструктурные данные

SQL

Hadoop

DW

Stag

ing

dat

a

Data Warehouse

Анализ данных

Delphi, Java, C++, C#, PHP, Python,Perl, Ruby

Page 34: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Где еще пригодятся инструменты Embarcadero для работы с БД

Page 35: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Архитектура и модели в эпоху NoSQL

• Модель появляется в результате работы архитектора

• Без инструментов моделирования не обойтись

• Есть много типов моделей данных: какие именно вам нужны?

• В разных проектах модели нужны в разное время. Но они должны быть доступны в нужное время

• Моделирование не просто проектирование схем. Это взгляд «с высоты птичьего полета» и на перспективу

Page 36: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Архитектура и модели в эпоху NoSQL

• Модели данных содержат гораздо больше, чем просто диаграммы

• Может потребоваться обучение моделированию

• Участники проекта могут не понимать модели. Обучите их

• Есть много вариантов использования NoSql. Рассмотрите все способы

• Современные архитектуры данных чаще всего представляют смешанные решения. Нельзя поддерживать только одну часть из общего

Page 37: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Роль архитекторов и разработчиков в проектах

• Для архитекторов данных это означает:– Останется место для

традиционных, реляционных моделей

– …как и для разработчиков

– Все данные имеют свое назначение. Множество назначений.

– Нужно найти верное решение для каждого такого назначения

Page 38: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Наш набор Database Tools

40

Не важно, работаете ли в команде над масштабными моделями данных, управляете гетерогенными средами с многочисленными типами СУБД или разрабатываете оптимальный по производительности код на SQL, инструменты Embarcadero для работы с БД дают существенный рост продуктивности на еще более расширенном наборе поддерживаемых платформ СУБД

Page 39: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Полезные ссылки• Для более подробной информации о ER/Studio

http://www.embarcadero.com/products/er-studio

http://www.embarcadero.com/solutions/data-governance

• Демонстрационные примеры ER/Studio

http://www.embarcadero.com/quick-solution-demos

• Загрузка бесплатной пробной версии (Free Trial)

https://downloads.embarcadero.com/free/er_studio_enterprise

http://webportal.embarcadero.com (username=“PortalUser”, password=“portal*trial”)

• Примеры использования

Newmont Mining, Protective Life, Catalina Marketing, Entrust, Microsoft:

http://www.embarcadero.com/our-customers/case-studies

• Поддержка

http://www.embarcadero.com/support

• Представительство

mailto: [email protected]

Телефон: +7(495)7084393

В социальных сетяхFacebook: http://on.fb.me/WDUQqYLinkedIn: http://linkd.in/WDVeWuGoogle+: http://bit.ly/WDVViLTwitter: @ERStudio

Page 40: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

90 из Fortune 100 и 97% из Global 2000

Page 41: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Спасибо за внимание!

Powering Today’s Applications and Data

Андрей СовцовEmbarcadero

Email: [email protected]: http://embt.co/ASovtsovTel: +7(495)708 4393

Записи вебинаров: http://embt.co/MrAndySovaБлоги Embarcadero (все языки):

http://community.embarcadero.com/index.php/blogs

Page 42: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Вопросы?

Page 43: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Приложение

Page 44: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Рост интереса по годам

Page 45: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Интерес по странам

Page 46: Поддержка NoSQL и платформ MongoDB, Hive и Teradata  в продуктах Embarcadero

EMBARCADERO TECHNOLOGIES

Big Data & NoSQL Resources (EMBT)

• Big Data & NoSQL Solution Webinar (recorded)– https://www3.gotomeeting.com/register/264404974?elq=eadeadfbc4414ca1b53c906d6624f701&elqCampaignId=2703

• ER/Studio XE6 - Data Architect 10 New Features Guide - Big Data / NoSQL platforms

– http://docs.embarcadero.com/products/er_studio/erstudioDA10.0.0_EN/ERStudioDA_10.0.0_NewFeaturesGuide_EN.pdf

• Perform reverse and forward engineering with Hadoop Hive– http://www.youtube.com/watch?v=SQSiPwbdTlA&vq=hd720&width=940&height=680

• ER/Studio Support for MongoDB– https://www.youtube.com/watch?v=ZKbjlsa2bhI

• NoSQL and Big Data Modeling: 10 Tips for Data Modelers and Architects– http://embt.co/1xbDJPU

– Webinar Recording (Karen Lopez) : http://buff.ly/1mpu0Uh

48