SlideShare a Scribd company logo
SQL И NOSQL:
на пути к
централизованным
платформам
управления данными
DWH
OLTP
RDBMS
BI
БОЛЬШИЕ ДАННЫЕ В
НАЧАЛЕ БОЛЬШОГО ПУТИ…
«данные такого объёма, разнообразия и скорости прироста,
что их обработка традиционными средствами неэффективна»
McKinsey, PWC (2009–2010)
Hadoop NoSQL
R
→ … → глубинное
обучение
п р о т и в
NOSQL:
ТЕРМИНОЛОГИЧЕСКИЕ
ТОНКОСТИ
•Реляционные СУБД
•Классические «SQL-серверы»S Q L
•«Не SQL-сервер»
•… но, возможно, с поддержкой языка SQLN o S Q L
•“Not Only SQL”
•…в поддержку языка SQL, но не
реляционной модели
N O S Q L
•Горизонтально масштабируемые СУБД на
реляционных движках
•…или NoSQL-системы, говорящие на SQL
N 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
Infinite
Graph
Hyper
GraphDB
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 Persistence
N. 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)
для одной записи
Набросок теоретико-категорной модели, объединяющей реляционную
алгебру и «двойственную ей» алгебру для агрегатных моделей
SQL+NoSQL: On the Way to Converged Data Management Platforms
БОРЬБА ЗА
ГЛАВЕНСТВУЮЩУЮ
РОЛЬ…
В БОРЬБЕ ЗА АНАЛИТИКУ:
«ОЗЁРА ДАННЫХ»
Джеймс Диксон
(генеральный директор
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 R
Hana
Exalytics
BLU
NumaQ
Скала-СР /
Аналатика
IMM/H
РЕЗИДЕНТНЫЕ СУБД
Реляционные SAP Hana
Oracle
TimesTen
MemSQL
Реляционные
расширения
Oracle 12g
in-memory
option
IBM DB2
BLU
SQL Server
in-memory
OLTP
MOLAP IBM TM1
Oracle
Essbase for
Exalytics
Jedox Palo
РЕЗИДЕНТНАЯ АНАЛИТИКА
(VISUAL DATA DISCOVERY)
Tableau QlikView
Tibco
Spotfire
IBM Cognos
Insight
SiSense
Oracle
Endeca
Полиматика
Узкоспециализированная СУБД в оперативной памяти
(как правило, колоночная и без широких средств доступа)
богатые средства визуального анализа в комплекте с ней
РЕЗИДЕНТНЫЕ ГРИДЫ
ДАННЫХ
Oracle
Coherence
WebSphere
Extreme Scale
Tibco
ActiveSpaces
Hazelcast
Gigaspaces
XAP
Gridgain
Red Hat
Ininispan
Tmax
Ininicache
Распределённый кэш 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
SQL+NoSQL: On the Way to Converged Data Management Platforms
SQL+NoSQL: On the Way to Converged Data Management Platforms
РЕЙТИНГ DB-ENGINES,
1…10
РЕЙТИНГDB-ENGINES,
11…39
КВАДРАНТ МАГИЧЕСКИЙ,
ОБЪЕДИНЯЮЩИЙ
Magic Quadrant for
Operational Database
Management Systems,
2015
«Реляционные и
нереляционные СУБД
для OLTP-приложений
корпоративного
уровня»
ФУНДАМЕНТАЛЬНЫЙ
ОПРЕДЕЛИТЕЛЬ
– АППАРАТНАЯ
ЭКОНОМИКА Изображение: NYC Department of Information, CC-SA
АППАРАТНЫЙ ПРОГРЕСС
ВСКОРЕ МОЖЕТ ИЗМЕНИТЬ
РАСКЛАД СИЛ…
Вертикально масштабируемые x86?
GPGPU
NVi di a AMD I nt el
100 GbE и адаптация Infiniband
NVM-Express
NVMe over Fabrics
ОЗУ постоянного хранения
3D XPoint MeRAM NRAM STT-RAM CBRAM Racetrack
СПАСИБО ЗА
ВНИМАНИЕ!
mailto:anikolaenko@ibs.ru
mailto:anikolaenko@acm.org

More Related Content

What's hot (8)

PPTX
Введение в Apache Cassandra
Alexander Tivelkov
 
PDF
Лекция 1. Введение в Big Data и MapReduce
Technopark
 
PPTX
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Ontico
 
PPTX
No sql.mongodb scaling
Олег Винников
 
PPT
Алексей Чумаков. Apache Cassandra на реальном проекте
Volha Banadyseva
 
PDF
Практика миграции реляционных баз данных в экосистему Hadoop
Yury Petrov
 
PDF
Лекция 2. Основы Hadoop
Technopark
 
PPT
Реальный мир и хорошие модели данных.
Victor Agroskin
 
Введение в Apache Cassandra
Alexander Tivelkov
 
Лекция 1. Введение в Big Data и MapReduce
Technopark
 
Apache Cassandra. Ещё одно NoSQL хранилище (Владимир Климонтович)
Ontico
 
No sql.mongodb scaling
Олег Винников
 
Алексей Чумаков. Apache Cassandra на реальном проекте
Volha Banadyseva
 
Практика миграции реляционных баз данных в экосистему Hadoop
Yury Petrov
 
Лекция 2. Основы Hadoop
Technopark
 
Реальный мир и хорошие модели данных.
Victor Agroskin
 

Similar to SQL+NoSQL: On the Way to Converged Data Management Platforms (20)

PDF
Платформа и решения НРЕ для больших данных
Andrey Karpov
 
PDF
Информационные технологии в эру Больших данных
Sergey Makrushin
 
PPTX
Информационные технологии в эру Больших данных
Сергей Макрушин
 
PDF
Нереляционный SQL
Andrei Nikolaenko
 
PDF
Нереляционный SQL / Андрей Николаенко (IBS)
Ontico
 
PPTX
DBD lection 4. Big Data, NoSQL. In Russian.
mikhaelsmirnov
 
PPT
Sql Server Data Services
Media Gorod
 
DOC
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
Serge Dobridnjuk
 
PDF
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Ontico
 
PDF
Tk conf daniel-podolsky-sqlvsnosql
Daniel Podolsky
 
PDF
SQL vs NoSQL: 
проблема выбора
TKConf
 
PPT
Web весна 2012 лекция 6
Technopark
 
PDF
High Load 2009 Imdg Presentation
HighLoad2009
 
PDF
Fors и big data appliance
CleverDATA
 
PDF
Машины баз данных: концентрированное обозрение
Andrei Nikolaenko
 
PDF
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
Andrei Nikolaenko
 
PDF
Инструменты больших данных: от конкуренции — к интеграции
Andrei Nikolaenko
 
PDF
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
IBS
 
PPTX
3 ibm bdw2015
antishmanti
 
PDF
Дмитрий Долгов
CodeFest
 
Платформа и решения НРЕ для больших данных
Andrey Karpov
 
Информационные технологии в эру Больших данных
Sergey Makrushin
 
Информационные технологии в эру Больших данных
Сергей Макрушин
 
Нереляционный SQL
Andrei Nikolaenko
 
Нереляционный SQL / Андрей Николаенко (IBS)
Ontico
 
DBD lection 4. Big Data, NoSQL. In Russian.
mikhaelsmirnov
 
Sql Server Data Services
Media Gorod
 
Доклад "Реализация требований современных информационно-насыщенных бизнес-арх...
Serge Dobridnjuk
 
Cравнительный анализ хранилищ данных (Олег Царев, Кирилл Коринский)
Ontico
 
Tk conf daniel-podolsky-sqlvsnosql
Daniel Podolsky
 
SQL vs NoSQL: 
проблема выбора
TKConf
 
Web весна 2012 лекция 6
Technopark
 
High Load 2009 Imdg Presentation
HighLoad2009
 
Fors и big data appliance
CleverDATA
 
Машины баз данных: концентрированное обозрение
Andrei Nikolaenko
 
DB-Technologies-2017 Keynote (Strategy and tactics for db evaluation)
Andrei Nikolaenko
 
Инструменты больших данных: от конкуренции — к интеграции
Andrei Nikolaenko
 
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
IBS
 
3 ibm bdw2015
antishmanti
 
Дмитрий Долгов
CodeFest
 
Ad

More from Andrei Nikolaenko (11)

PDF
Байтоадресуемая энергонезависимая память и СУБД
Andrei Nikolaenko
 
PDF
DBMS Benchmarks in a Nutshell
Andrei Nikolaenko
 
PDF
Машины баз данных на Web-scale IT — 2017 (РИТ++)
Andrei Nikolaenko
 
PDF
Эталонные тесты производительнсоти СУБД: обзор и тенденции
Andrei Nikolaenko
 
PDF
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
Andrei Nikolaenko
 
PDF
Note on hyperconvered infrastructure on CIPR
Andrei Nikolaenko
 
PDF
DBMS benchmarking overview
Andrei Nikolaenko
 
PDF
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Andrei Nikolaenko
 
PDF
Rapid Deployment of Hadoop Development Environments
Andrei Nikolaenko
 
PDF
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Andrei Nikolaenko
 
PDF
IBS at IBM Fast Data (Moscow, 2014)
Andrei Nikolaenko
 
Байтоадресуемая энергонезависимая память и СУБД
Andrei Nikolaenko
 
DBMS Benchmarks in a Nutshell
Andrei Nikolaenko
 
Машины баз данных на Web-scale IT — 2017 (РИТ++)
Andrei Nikolaenko
 
Эталонные тесты производительнсоти СУБД: обзор и тенденции
Andrei Nikolaenko
 
DBMS benchmarking overview and trends for Moscow ACM SIGMOD Chapter
Andrei Nikolaenko
 
Note on hyperconvered infrastructure on CIPR
Andrei Nikolaenko
 
DBMS benchmarking overview
Andrei Nikolaenko
 
Cloud Databases, ACM SIGMOD Moscow Workshop, November, 2013
Andrei Nikolaenko
 
Rapid Deployment of Hadoop Development Environments
Andrei Nikolaenko
 
Introductory Keynote at Hadoop Workshop by Ospcon (2014)
Andrei Nikolaenko
 
IBS at IBM Fast Data (Moscow, 2014)
Andrei Nikolaenko
 
Ad

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

  • 1. SQL И NOSQL: на пути к централизованным платформам управления данными
  • 2. DWH OLTP RDBMS BI БОЛЬШИЕ ДАННЫЕ В НАЧАЛЕ БОЛЬШОГО ПУТИ… «данные такого объёма, разнообразия и скорости прироста, что их обработка традиционными средствами неэффективна» McKinsey, PWC (2009–2010) Hadoop NoSQL R → … → глубинное обучение п р о т и в
  • 3. NOSQL: ТЕРМИНОЛОГИЧЕСКИЕ ТОНКОСТИ •Реляционные СУБД •Классические «SQL-серверы»S Q L •«Не SQL-сервер» •… но, возможно, с поддержкой языка SQLN o S Q L •“Not Only SQL” •…в поддержку языка SQL, но не реляционной модели N O S Q L •Горизонтально масштабируемые СУБД на реляционных движках •…или NoSQL-системы, говорящие на SQL N e w S Q L
  • 4. NOSQL: ВЫЯВЛЕННОЕ ОПРЕДЕЛЕНИЕ и иногда (в широком смысле) другие нереляционные СУБД а также графовые СУБД …класс горизонтально масштабируемых СУБД с агрегатной моделью хранения и ограниченной транзакционностью «ключ – значение» документо- ориентированные «семейство столбцов»
  • 5. NOSQL-I: АГРЕГАТНЫЕ «Ключ – значение» DynamoDB Riak Berkeley DB Redis Aerospike Voldermort Tarantool MemcacheDB FoundationDB Документо- ориентированные MongoDB CouchDB и Couchbase SequoiaDB RavenDB «Семейство столбцов» BigTable HBase Cassandra SimpleDB Accumulo
  • 7. NOSQL-III: «И ПРИМКНУВШИЕ К НИМ» Многозначные (multivalue) и иерархические Mumps Pick D3 Cachè Объектно- ориентиро-ванные Objectivity db4o Jasmine XML DB, RDF-DB (часто включены в сегмент «документо- ориентированных») Sedna xDB MarkLogic Системы полно- текстового поиска Lucene Solr … Распределённые файловые системы Hadoop + Hive + Pig
  • 9. ИСТОРИЯ ВЫЗОВОВ РЕЛЯЦИОННОМУ ДВИЖЕНИЮ •Аналитические функции •Кластеры без разделяемых ресурсов •Встраивание в движок РСУБД (OLAP Option, Analytics Services) MOLAP •Косметическая поддержка Объектно- ориентированные СУБД •Эффективный XMLType •Эффективный BLOBXML-СУБД NoSQL…?
  • 10. «Ключ – значение» Документо- ориентированны е «Семейство столбцов» Графовые ХАРАКТЕРИСТИЧЕСКИЕ СВОЙСТВА NOSQL Агрегатная модель хранения Бессхемность, комбинирование на стороне приложения Атомарный доступ Горизонтальная масштабируемость Ограниченная транзакционность Эффективная репликация
  • 11. ГОРИЗОНТАЛЬНАЯ МАСШТАБИРУЕМОСТЬ “Shared-nothing” и комплексы аналитики «Прикладной кластер» Multimaster cluster “NewSQL” “Shared-something” •Oracle Real Application Cluster •Sybase ASE Cluster Edition •Postgres XL •PostgresPro cluster •VoltDB •Clustrix Копируются целиком на все узлы Секционируются по узлам Транзакционные объекты •Большой объём вставки и обновлений •Секционируются по признаку от основных данных Основные данные •«Большие» реестры (клиенты, материалы) •Определяют ключи секционирования Метаданные, внутрисистемная информация Конфигурационные данные, типология для основных данных, «маленькие» справочники Содержательно-статистическая классификация схемы данных приложения
  • 13. БЕССХЕМНОСТЬ «Полугибкие» схемы, 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}'
  • 14. АТОМАРНЫЙ ДОСТУП MapReduce над РСУБД Teradata Aster Greenplum Не менее «атомарные» возможности с процедурными расширениями пользовательские функции курсоры пользовательские выходы
  • 15. [ГЕО]РЕПЛИКАЦИЯ В бизнес-приложениях в основном решается резервами, доступными на чтение Основной узел (запись, чтение) Резерв 1 (чтение) Резерв n (чтение) … Журналы изменений
  • 16. МОГУТ ЛИ СОСУЩЕСТВОВАТЬ SQL И NOSQL ВМЕСТЕ? Изображение: Peter Koelbel, CC-SA
  • 17. «МНОГОВАРИАНТНАЯ ПЕРСИСТЕНТНОСТЬ» 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 Persistence N. J.: Addison-Wesley, 2012 Переведена на русский язык (2013, Вильямс, перевод Дм. Клюшин )
  • 18. 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) для одной записи Набросок теоретико-категорной модели, объединяющей реляционную алгебру и «двойственную ей» алгебру для агрегатных моделей
  • 21. В БОРЬБЕ ЗА АНАЛИТИКУ: «ОЗЁРА ДАННЫХ» Джеймс Диксон (генеральный директор Pentaho, 2011) : •«если витрины данных – это бутылки с отфильтрованной водой, то озеро – их неисчерпаемый источник» …собранные в большую распределённую файловую систему данные в исходных форматах, достаточных для [Hadoop-]обработки … в противопоставление хранилищу данных, для которого данные приходится трансформировать Озёрные пессимисты Озёрные оптимисты
  • 22. В БОРЬБЕ ЗА 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) Наиболее традиционный подход для банков, «реального сектора»…
  • 24. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ В РЕЗИДЕНТНЫХ КОМПЛЕКСАХ 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 R Hana Exalytics BLU NumaQ Скала-СР / Аналатика IMM/H
  • 25. РЕЗИДЕНТНЫЕ СУБД Реляционные SAP Hana Oracle TimesTen MemSQL Реляционные расширения Oracle 12g in-memory option IBM DB2 BLU SQL Server in-memory OLTP MOLAP IBM TM1 Oracle Essbase for Exalytics Jedox Palo
  • 26. РЕЗИДЕНТНАЯ АНАЛИТИКА (VISUAL DATA DISCOVERY) Tableau QlikView Tibco Spotfire IBM Cognos Insight SiSense Oracle Endeca Полиматика Узкоспециализированная СУБД в оперативной памяти (как правило, колоночная и без широких средств доступа) богатые средства визуального анализа в комплекте с ней
  • 27. РЕЗИДЕНТНЫЕ ГРИДЫ ДАННЫХ Oracle Coherence WebSphere Extreme Scale Tibco ActiveSpaces Hazelcast Gigaspaces XAP Gridgain Red Hat Ininispan Tmax Ininicache Распределённый кэш Java-объектов На каждый узел J2EE-сервера приложений ставится спец. ПО Одно из ключевых требований – поддержка JSR-107 (java cache) Пробрасывает операции в СУБД Поддерживает основные ORM (Hibernate, Toplink, …) Требуется рефакторинг слоя model в MVC- приложении
  • 28. РЕЗИДЕНТНЫЙ ГРИД: ФАКТОРЫ УСКОРЕНИЯ О б л е г ч е н и е б а з ы о т и з б ы т о ч н ы х ч т е н и й •Практически полная разгрузка транзакционной СУБД на чтение условно-постоянных данных (конфигураций, справочников, основных данных), которые полностью кэшированы в оперативной памяти, притом в распределённом режиме Б а л а н с и р о в к а •Весь пул соединений сосредоточен в гриде, приложение не держит соединений с базой данных, соответственно, загрузка пула соединений управляется из одного места Р е а л и з а ц и я м у л ь т и в е р с и о н н о г о к о н к у р е н т н о г о к о н т р о л я н а с т о р о н е г р и д а •Разгрузка базы данных от длинных транзакций, в базе фиксируются только финализированные результаты, все неуспешные конкурентные попытки отсеиваются гридом; работа в качестве монитора транзакций О п т и м и з а ц и я с е р в е р о в п р и л о ж е н и й •Разгрузка кэшей серверов приложений, ограниченных особенностями виртуальной машины (off-heap-storage)
  • 30. РЕЗИДЕНТНЫЙ ГРИД И РИТОРИКА “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
  • 31. «КЛЮЧ – ЗНАЧЕНИЕ» – ЦЕНТРАЛЬНАЯ ПЛАТФОРМА Е с л и р е з и д е н т н ы е г р и д ы о б р е т а ю т с м ы с л ц е н т р а л и з о в а н н о й п л а т ф о р м ы у п р а в л е н и я д а н н ы м и – т о т о т ж е ш а н с у [ р е з и д е н т н ы х ] 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 )
  • 33. ОБЪЁМ РЫНКА IDC: рынок СУБД в 2016 году – $45,7 451 Research: к 2016 году объём рынка NoSQL превзойдёт $1 млрд IDC: рынок больших данных к 2016 году – $16 млрд Gartner: резидентные СУБД в 2015 году – $6 млрд
  • 41. КВАДРАНТ МАГИЧЕСКИЙ, ОБЪЕДИНЯЮЩИЙ Magic Quadrant for Operational Database Management Systems, 2015 «Реляционные и нереляционные СУБД для OLTP-приложений корпоративного уровня»
  • 43. АППАРАТНЫЙ ПРОГРЕСС ВСКОРЕ МОЖЕТ ИЗМЕНИТЬ РАСКЛАД СИЛ… Вертикально масштабируемые x86? GPGPU NVi di a AMD I nt el 100 GbE и адаптация Infiniband NVM-Express NVMe over Fabrics ОЗУ постоянного хранения 3D XPoint MeRAM NRAM STT-RAM CBRAM Racetrack