sql+nosql: on the way to converged data management platforms

44
SQL И NOSQL: на пути к централизованным платформам управления данными

Upload: andrei-nikolaenko

Post on 13-Apr-2017

44 views

Category:

Software


0 download

TRANSCRIPT

Page 1: SQL+NoSQL: On the Way to Converged Data Management Platforms

SQL И NOSQL:на пути к

централизованным

платформам

управления данными

Page 2: SQL+NoSQL: On the Way to Converged Data Management Platforms

DWHOLTP

RDBMSBI

БОЛЬШИЕ ДАННЫЕ В НАЧАЛЕ БОЛЬШОГО ПУТИ…

«данные такого объёма, разнообразия и скорости прироста, что их обработка традиционными средствами неэффективна»

McKinsey, PWC (2009–2010)

Hadoop NoSQLR

→ … → глубинное обучение

п р о т и в

Page 3: SQL+NoSQL: On the Way to Converged Data Management Platforms

NOSQL: ТЕРМИНОЛОГИЧЕСКИЕ ТОНКОСТИ

• Реляционные СУБД

• Классические «SQL-серверы»S Q L

• «Не SQL-сервер»

• … но, возможно, с поддержкой языка SQLN o S Q L

• “Not Only SQL”

• …в поддержку языка SQL, но не реляционной модели

N O S Q L

• Горизонтально масштабируемые СУБД на реляционных движках

• …или NoSQL-системы, говорящие на SQLN e w S Q L

Page 4: SQL+NoSQL: On the Way to Converged Data Management Platforms

NOSQL: ВЫЯВЛЕННОЕ ОПРЕДЕЛЕНИЕ

и иногда (в широком смысле)

другие нереляционные СУБД

а также

графовые СУБД

…класс горизонтально масштабируемых СУБД с агрегатной моделью хранения и ограниченной

транзакционностью

«ключ – значение»документо-

ориентированные«семейство столбцов»

Page 5: SQL+NoSQL: On the Way to Converged Data Management Platforms

NOSQL-I: АГРЕГАТНЫЕ

«Ключ –значение»

DynamoDB

Riak

Berkeley DB

Redis

Aerospike

Voldermort

Tarantool

MemcacheDB

FoundationDB

Документо-ориентированные

MongoDB

CouchDB и Couchbase

SequoiaDB

RavenDB

«Семейство столбцов»

BigTable

HBase

Cassandra

SimpleDB

Accumulo

Page 6: SQL+NoSQL: On the Way to Converged Data Management Platforms

NOSQL-II: ГРАФОВЫЕ

Neo4j

FlockDB OrientDB

InfiniteGraph

HyperGraphDB

Page 7: SQL+NoSQL: On the Way to Converged Data Management Platforms

NOSQL-III: «И ПРИМКНУВШИЕ К НИМ»

Многозначные (multivalue) и

иерархические

Mumps

Pick D3

Cachè

Объектно-ориентиро-ванные

Objectivity

db4o

Jasmine

XML DB,RDF-DB

(часто включены в сегмент «документо-ориентированных»)

Sedna

xDB

MarkLogic

Системы полно-текстового поиска

Lucene

Solr

Распределённые файловые системы

Hadoop+

Hive +

Pig

Page 8: SQL+NoSQL: On the Way to Converged Data Management Platforms

ВЫТЕСНЯТ ЛИ NOSQL

РЕЛЯЦИОННЫЕ СУБД?

Page 9: SQL+NoSQL: On the Way to Converged Data Management Platforms

ИСТОРИЯ ВЫЗОВОВ РЕЛЯЦИОННОМУ ДВИЖЕНИЮ

•Аналитические функции

•Кластеры без разделяемых ресурсов

•Встраивание в движок РСУБД (OLAP Option, Analytics Services)

MOLAP

•Косметическая поддержка

Объектно-ориентированные

СУБД

•Эффективный XMLType

•Эффективный BLOBXML-СУБД

NoSQL…?

Page 10: SQL+NoSQL: On the Way to Converged Data Management Platforms

«Ключ – значение»Документо-

ориентированные

«Семейство столбцов»

Графовые

ХАРАКТЕРИСТИЧЕСКИЕ СВОЙСТВА NOSQL

Агрегатная модель хранения

Бессхемность, комбинирование на стороне приложения

Атомарный доступ

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

Ограниченная транзакционность

Эффективная репликация

Page 11: SQL+NoSQL: On the Way to Converged Data Management Platforms

ГОРИЗОНТАЛЬНАЯ МАСШТАБИРУЕМОСТЬ

“Shared-nothing” и комплексы аналитики

«Прикладной кластер»

Multimaster cluster

“NewSQL”

“Shared-something”

•Oracle Real Application Cluster

•Sybase ASE Cluster Edition•Postgres XL

•PostgresPro cluster•VoltDB

•Clustrix

Копируются целикомна все узлы

Секционируются по узлам

Транзакционные объекты

•Большой объём вставки и обновлений

•Секционируются по признаку от основных данных

Основные данные

•«Большие» реестры (клиенты, материалы)

•Определяют ключи секционирования

Метаданные, внутрисистемная информация

Конфигурационные данные, типология для основных данных, «маленькие» справочники

Содержательно-статистическая классификация схемы данных

приложения

Page 12: SQL+NoSQL: On the Way to Converged Data Management Platforms

АГРЕГАТНАЯ МОДЕЛЬ ХРАНЕНИЯ

Кластер в Oracle Database(1988)

Совместно хранится

Совместно индексируется

Совместно секционируется

Изображение ©Oracle, 1997

Page 13: SQL+NoSQL: On the Way to Converged Data Management Platforms

БЕССХЕМНОСТЬ

«Полугибкие» схемы, data-vault-style

XML-, JSON-, BSON-типы столбцов и SQL-доступ к их содержимому

PERSON

PERSON_ADDRESS PERSON_ATTR PERSON_REL

MD_PERSON_ATTR MD_PERSON_REL

json_extract_path('{"f2":{"f3":1},

"f4":{"f5":99,"f6":"foo"}}','f4')

'{"a":[1,2,3],"b":[4,5,6]}'::json

#>>'{a,2}'

Page 14: SQL+NoSQL: On the Way to Converged Data Management Platforms

АТОМАРНЫЙ ДОСТУП

MapReduce над РСУБД

Teradata Aster Greenplum

Не менее «атомарные» возможности с процедурными расширениями

пользовательские функции

курсорыпользовательские

выходы

Page 15: SQL+NoSQL: On the Way to Converged Data Management Platforms

[ГЕО]РЕПЛИКАЦИЯ

В бизнес-приложениях в основном решается резервами, доступными на чтение

Основной узел(запись, чтение)

Резерв 1(чтение)

Резерв n(чтение)

Журналы изменений

Page 16: SQL+NoSQL: On the Way to Converged Data Management Platforms

МОГУТ ЛИ СОСУЩЕСТВОВАТЬ

SQL И NOSQL ВМЕСТЕ?

Изображение: Peter Koelbel, CC-SA

Page 17: SQL+NoSQL: On the Way to Converged Data Management Platforms

«МНОГОВАРИАНТНАЯ ПЕРСИСТЕНТНОСТЬ»

Hibernate OGM: библиотека, обеспечивающая Java Persistence

API для унифицированного доступа к различного класса NoSQL-

системам

I n i f n i s p a n

E h c a c h e

M o n g o D B

N e o 4 j

Marin Fowler, Pramod Sadalage. NoSQL Distilled: A Brief Guide to the

Emerging World of Polyglot PersistenceN. J.: Addison-Wesley, 2012

Переведена на русский язык (2013, Вильямс, перевод Дм.

Клюшин )

Page 18: SQL+NoSQL: On the Way to Converged Data Management Platforms

COSQL: ОБЩИЙ ЯЗЫК И ДВОЙСТВЕННОСТЬ SQL И NOSQL

Erik Meijer and Gavin Bierman

A co-relational model of data for large shared data banks

// Communications of the ACM, vol. 54 (2011), No. 4

SQL coSQL

Дочерние записи ссылаются на

родительские

Родительские записи содержат

дочерние

Элементы обязательно строго

типизированы

(Потенциально) динамически

типизированы

Синхронные обновления (ACID)

для нескольких записей

Асинхронные обновления (BASE)

для одной записи

Набросок теоретико-категорной модели, объединяющей реляционную алгебру и «двойственную ей» алгебру для агрегатных моделей

Page 19: SQL+NoSQL: On the Way to Converged Data Management Platforms
Page 20: SQL+NoSQL: On the Way to Converged Data Management Platforms

БОРЬБА ЗА ГЛАВЕНСТВУЮЩУЮ

РОЛЬ…

Page 21: SQL+NoSQL: On the Way to Converged Data Management Platforms

В БОРЬБЕ ЗА АНАЛИТИКУ: «ОЗЁРА ДАННЫХ»

Джеймс Диксон (генеральный директор Pentaho, 2011) :

• «если витрины данных – это бутылки с отфильтрованной водой, то озеро – их неисчерпаемый источник»

…собранные в большую

распределённую файловую систему данные в исходных

форматах, достаточных для [Hadoop-]обработки

… в противопоставление

хранилищу данных, для которого данные

приходится трансформировать

Озёрные пессимисты

Озёрные

оптимисты

Page 22: SQL+NoSQL: On the Way to Converged Data Management Platforms

В БОРЬБЕ ЗА OLTP-СИСТЕМЫ…

[ Р е з и д е н т н ы й ] N o S Q L б е з р а з д е л я е м ы х р е с у р с о в

Aerospike, Riak, Tarantool, …Необходима кардинальная переработка приложения

Практически неограниченная масштабируемость, поддержка

геокластеризации

Используется в основном для новых приложений (практика в

RTB, розничной торговле)

Р е з и д е н т н ы й г р и д д а н н ы х

Oracle Coherence, Infinispan, Gemfire, Gridgain, …

Необходима модификация приложения (но может быть

незначительной при аккуратной ORM-реализации)

Встаёт между сервером приложений и СУБД и

существенно разгружает последнюю

Практика с конца 2000-х, поддерживается некоторыми

тиражируемыми приложениями

О д н о у з л о в а я р е з и д е н т н а я С У Б Д

SAP Hana, Oracle Timesten, Oracle 12c in-memory option, Exasol, MemSQL, IBM solidDB,

VoltDB

Может обойтись (в некоторых случаях) без модификации

приложения

«Низкий потолок» размера базы данных (32 ТБ на RISC, 24 ТБ на

x86-64-scaleup, 4 ТБ x86-64 commodity)

Основная практика – за счёт поддержки со стороны

тиражируемых приложений (S4/Hana)

Р а з д е л ь н ы е э к з е м п л я р ы с ф е д е р а ц и е й о с н о в н ы х д а н н ы х

Не требуется специализированного

платформенного ПО (обычные СУБД + MDM)

Значительные модификации приложения и модели данных

Необходимость в естественных ключах разделения, от их выбора

зависит масштабируемость

Не всегда возможно при высокой частоте модификации

основных данных

Б о л ь ш а я м а ш и н а д л я С У Б Д , г о н к а з а i o p s

IBM p795, SPARC M6-32, all-flash-массивы

Не требует значительных модификаций приложения

«Низкий потолок» (384 ядра, 5 млн iops)

Наиболее традиционный подход для банков, «реального

сектора»…

Page 23: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЗИДЕНТНЫЕ ВЫЧИСЛЕНИЯ

СУ

БД

Page 24: SQL+NoSQL: On the Way to Converged Data Management Platforms

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ В РЕЗИДЕНТНЫХ КОМПЛЕКСАХ

OLTP-

SQL

MOLAP BI Data

Discovery

Stats Apps OLTP-

NoSQL

Hadoop

Hana in-memory database

DB 12c(Timesten)

MonetDB

Essbase

KXen

OBIEE

RevolutionR

Полиматика

SAP S/4

Endeca

Vora(Spark)

Spark

Spark

Spark

DB2 BLU

R (DB option)

Hyperion

R

PAL RHana

Exalytics

BLU

NumaQ

Скала-СР /Аналатика

IMM/H

Page 25: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЗИДЕНТНЫЕ СУБД

Реляционные SAP HanaOracle

TimesTenMemSQL

Реляционные расширения

Oracle 12g in-memory

option

IBM DB2 BLU

SQL Server in-memory

OLTP

MOLAP IBM TM1Oracle

Essbase for Exalytics

Jedox Palo

Page 26: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЗИДЕНТНАЯ АНАЛИТИКА (VISUAL DATA DISCOVERY)

Tableau QlikViewTibco

SpotfireIBM Cognos

Insight

SiSenseOracle Endeca

Полиматика

Узкоспециализированная СУБД в оперативной памяти

(как правило, колоночная и без широких средств доступа)

богатые средства визуального анализа в комплекте с ней

Page 27: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЗИДЕНТНЫЕ ГРИДЫДАННЫХ

Oracle Coherence

WebSphere Extreme Scale

TibcoActiveSpaces

Hazelcast

GigaspacesXAP

GridgainRed Hat Ininispan

TmaxIninicache

Распределённый кэш Java-объектов

На каждый узел J2EE-сервера приложений

ставится спец. ПО

Одно из ключевых требований –

поддержка JSR-107(java cache)

Пробрасывает операции в СУБД

Поддерживает основные ORM

(Hibernate, Toplink, …)

Требуется рефакторинг слоя

model в MVC-приложении

Page 28: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЗИДЕНТНЫЙ ГРИД: ФАКТОРЫ УСКОРЕНИЯ

О б л е г ч е н и е б а з ы о т и з б ы т о ч н ы х ч т е н и й

•Практически полная разгрузка транзакционной СУБД на чтение условно-постоянных данных (конфигураций, справочников, основных данных), которые полностью кэшированы в оперативной памяти, притом в распределённом режиме

Б а л а н с и р о в к а

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

Р е а л и з а ц и я м у л ь т и в е р с и о н н о г о к о н к у р е н т н о г о к о н т р о л я н а с т о р о н е г р и д а

•Разгрузка базы данных от длинных транзакций, в базе фиксируются только финализированныерезультаты, все неуспешные конкурентные попытки отсеиваются гридом; работа в качестве монитора транзакций

О п т и м и з а ц и я с е р в е р о в п р и л о ж е н и й

•Разгрузка кэшей серверов приложений, ограниченных особенностями виртуальной машины (off-heap-storage)

Page 29: SQL+NoSQL: On the Way to Converged Data Management Platforms

ЦЕНТРАЛИЗОВАННАЯ ПЛАТФОРМА?

Page 30: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЗИДЕНТНЫЙ ГРИД И РИТОРИКА “CONVERGED DATA PLATFORM”

И о п е р а т и в н а я о б р а б о т к а , и а н а л и т и к а – в о з м о ж н ы в о д н о м г р и д е

т р а н с ф о р м а ц и ин е н у ж н ы !

ц е н т р а л ь н а я п л а т ф о р м а , о с т о в – о д и н

Н а у ч и л и с ь р а б о т а т ь б е з б а з ы и H D F S

Б а з а и H D F S с т а л и р е з е р в о м и п е р е х о д н ы м э т а п о м

… п о д д е р ж а л и A p a c h e S p a r k

г л о б а л ь н ы е R D D !

… п о д д е р ж а л и H D F S

Р е з и д е н т н ы е г р и д ы з а г о в о р и л и н а S Q L

Page 31: SQL+NoSQL: On the Way to Converged Data Management Platforms

«КЛЮЧ – ЗНАЧЕНИЕ» –ЦЕНТРАЛЬНАЯ ПЛАТФОРМА

Е с л и р е з и д е н т н ы е г р и д ы о б р е т а ю т с м ы с л ц е н т р а л и з о в а н н о й п л а т ф о р м ы у п р а в л е н и я д а н н ы м и – т о

т о т ж е ш а н с у [ р е з и д е н т н ы х ] N o S Q L - С У Б Д в м о д е л и « к л ю ч – з н а ч е н и е »

… н о б е з г р у з а J a v a , . N e t …

с N o S Q L - s t y l e -A P I

с д о к а з а н н ы м и к а ч е с т в а м и п о г е о р е п л и к а ц и и

в т ы с я ч и у з л о в в г о р и з о н т а л ь

С у щ е с т в о р е з и д е н т н ы х г р и д о в –С У Б Д « к л ю ч – з н а ч е н и е »

Л и ш ь п о я в и в ш и е с я д о в р е м ё н N o S Q L

В к л ю ч а ю т с я а н а л и т и к а м и с о о т в е т с т в у ю щ и й к л а с с

( T e r r a c o t a , I n i n i s p a n )

Page 32: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЫНОК

Изображение: Clinton Lord, CC-SA

Page 33: SQL+NoSQL: On the Way to Converged Data Management Platforms

ОБЪЁМ РЫНКА

IDC: рынок СУБД в

2016 году – $45,7

млрд

451 Research: к 2016 году

объём рынка NoSQL

превзойдёт $1 млрд

IDC: рынок больших

данных к 2016 году

– $16 млрд

Gartner: резидентные

СУБД в 2015 году – $6

млрд

Page 34: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЛЯЦИОННЫЕ, NOSQL+HADOOP, ПРОЧИЕ НЕРЕЛЯЦИОННЫЕ

Page 35: SQL+NoSQL: On the Way to Converged Data Management Platforms

МАСШТАБ ПО 451 RESEARCH

Изображение ©451 Research, 2012

Page 36: SQL+NoSQL: On the Way to Converged Data Management Platforms

ВЕРСИЯ WIKIBON

Изображение ©Wikibon, 2013

Page 37: SQL+NoSQL: On the Way to Converged Data Management Platforms
Page 38: SQL+NoSQL: On the Way to Converged Data Management Platforms
Page 39: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕЙТИНГ DB-ENGINES, 1…10

Page 40: SQL+NoSQL: On the Way to Converged Data Management Platforms

РЕ

ЙТИ

НГ D

B-E

NG

INE

S,

11

…3

9

Page 41: SQL+NoSQL: On the Way to Converged Data Management Platforms

КВАДРАНТ МАГИЧЕСКИЙ, ОБЪЕДИНЯЮЩИЙ

Magic Quadrant for

Operational Database

Management Systems,

2015

«Реляционные и

нереляционные СУБД

для OLTP-приложений

корпоративного

уровня»

Page 42: SQL+NoSQL: On the Way to Converged Data Management Platforms

ФУНДАМЕНТАЛЬНЫЙ ОПРЕДЕЛИТЕЛЬ – АППАРАТНАЯ

ЭКОНОМИКАИзображение: NYC Department of Information, CC-SA

Page 43: SQL+NoSQL: On the Way to Converged Data Management Platforms

АППАРАТНЫЙ ПРОГРЕСС ВСКОРЕ МОЖЕТ ИЗМЕНИТЬ РАСКЛАД СИЛ…

Вертикально масштабируемые x86?

GPGPU

N V i d i a A M D I n t e l

100 GbE и адаптация In f i n iband

NVM-Express

NVMe over Fabrics

ОЗУ постоянного хранения

3D XPoint MeRAM NRAM STT-RAM CBRAM Racetrack

Page 44: SQL+NoSQL: On the Way to Converged Data Management Platforms

СПАСИБО ЗА ВНИМАНИЕ!

mailto:[email protected]

mailto:[email protected]