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

Post on 13-Apr-2017

44 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

SQL И NOSQL:на пути к

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

платформам

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

DWHOLTP

RDBMSBI

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

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

McKinsey, PWC (2009–2010)

Hadoop NoSQLR

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

п р о т и в

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

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

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

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

а также

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

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

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

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

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

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

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

DynamoDB

Riak

Berkeley DB

Redis

Aerospike

Voldermort

Tarantool

MemcacheDB

FoundationDB

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

MongoDB

CouchDB и Couchbase

SequoiaDB

RavenDB

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

BigTable

HBase

Cassandra

SimpleDB

Accumulo

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

Neo4j

FlockDB OrientDB

InfiniteGraph

HyperGraphDB

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

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

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

Mumps

Pick D3

Cachè

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

Objectivity

db4o

Jasmine

XML DB,RDF-DB

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

Sedna

xDB

MarkLogic

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

Lucene

Solr

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

Hadoop+

Hive +

Pig

ВЫТЕСНЯТ ЛИ NOSQL

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

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

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

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

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

MOLAP

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

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

СУБД

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

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

NoSQL…?

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

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

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

Графовые

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

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

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

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

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

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

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

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

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

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

Multimaster cluster

“NewSQL”

“Shared-something”

•Oracle Real Application Cluster

•Sybase ASE Cluster Edition•Postgres XL

•PostgresPro cluster•VoltDB

•Clustrix

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

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

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

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

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

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

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

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

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

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

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

приложения

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

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

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

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

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

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

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

«Полугибкие» схемы, 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}'

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

MapReduce над РСУБД

Teradata Aster Greenplum

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

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

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

выходы

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

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

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

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

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

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

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

SQL И NOSQL ВМЕСТЕ?

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

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

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, Вильямс, перевод Дм.

Клюшин )

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)

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

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

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

РОЛЬ…

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

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

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

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

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

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

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

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

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

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

Озёрные

оптимисты

В БОРЬБЕ ЗА 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)

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

сектора»…

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

СУ

БД

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

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

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

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

TimesTenMemSQL

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

Oracle 12g in-memory

option

IBM DB2 BLU

SQL Server in-memory

OLTP

MOLAP IBM TM1Oracle

Essbase for Exalytics

Jedox Palo

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

Tableau QlikViewTibco

SpotfireIBM Cognos

Insight

SiSenseOracle Endeca

Полиматика

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

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

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

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

Oracle Coherence

WebSphere Extreme Scale

TibcoActiveSpaces

Hazelcast

GigaspacesXAP

GridgainRed Hat Ininispan

TmaxIninicache

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

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

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

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

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

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

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

(Hibernate, Toplink, …)

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

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

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

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

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

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

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

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

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

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

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

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

РЕЗИДЕНТНЫЙ ГРИД И РИТОРИКА “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

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

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

т о т ж е ш а н с у [ р е з и д е н т н ы х ] 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 )

РЫНОК

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

ОБЪЁМ РЫНКА

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

2016 году – $45,7

млрд

451 Research: к 2016 году

объём рынка NoSQL

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

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

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

– $16 млрд

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

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

млрд

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

МАСШТАБ ПО 451 RESEARCH

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

ВЕРСИЯ WIKIBON

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

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

РЕ

ЙТИ

НГ D

B-E

NG

INE

S,

11

…3

9

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

Magic Quadrant for

Operational Database

Management Systems,

2015

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

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

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

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

уровня»

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

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

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

Вертикально масштабируемые 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

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

mailto:anikolaenko@ibs.ru

mailto:anikolaenko@acm.org

top related