NewSQL. Свежий взгляд на реляционные СУБД

Содержание

Слайд 2

Agenda Введение в NewSQL Архитектура Недостатки Заключение Q&A

Agenda

Введение в NewSQL
Архитектура
Недостатки
Заключение
Q&A

Слайд 3

NewSQL = SQL + NoSQL NewSQL (англ. новый SQL) — класс

NewSQL = SQL + NoSQL

NewSQL (англ. новый SQL) — класс реляционных

СУБД, возникших на рубеже 2000-х и 2010-х годов, стремящихся совместить в себе преимущества масштабируемости и производительности NoSQL и ACID-гарантии RDBMS.
Термин NewSQL предложен в 2011 году аналитиком 451 Group Мэтью Аслетом.
Слайд 4

ACID Атомарность Консистентность Изолированность Надежность

ACID

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

Слайд 5

Traditional dbms overheads

Traditional dbms overheads

Слайд 6

OLTP & OLAP OLTP-система - это общая система обработки данных на

OLTP & OLAP

OLTP-система - это общая система обработки данных на

современных продуктах. Классическими примерами OLTP-систем являются ввод заказов, розничные продажи и системы финансовых транзакций.
OLTP обычно противопоставляется OLAP (онлайн-аналитическая обработка), которая, как правило, характеризуется гораздо более сложными запросами, в меньшем объеме, для целей бизнес-аналитики или отчетности, а не для обработки транзакций. В то время как OLTP-системы обрабатывают все виды запросов (чтение, вставка, обновление и удаление), OLAP обычно оптимизируется только для чтения и может даже не поддерживать другие виды запросов.
OLTP придерживаются принципов нормализации, OLAP - денормализации.
Слайд 7

OLTP vs. OLAP

OLTP vs. OLAP

Слайд 8

Welcome NewSQL Технические характеристики решений NewSQL SQL как основной механизм для

Welcome NewSQL

Технические характеристики решений NewSQL
SQL как основной механизм для взаимодействия.
ACID поддержка

транзакций.
Механизм управления без применения блокировок, таким образом считывающие данные в реальном времени не будут находится в противоречии с записывающими, что исключает конфликт.
Архитектура, обеспечивающая намного выше производительность узла, чем доступный из традиционных решений RDBMS.
Удобное масштабирование, способное управлять большим количеством узлов, не перенося узкие места.
Слайд 9

NewSQL 3 Types Новые базы данных Новый движок базы данных Объединение в кластеры

NewSQL 3 Types

Новые базы данных
Новый движок базы данных
Объединение в кластеры

Слайд 10

VoltDB VoltDB — инновационная открытая СУБД, которая развивается под руководством Майкла

VoltDB

VoltDB — инновационная открытая СУБД, которая развивается под руководством Майкла Стоунбрейкера,

одного из основателей проектов Ingres и PostgreSQL.
СУБД VoltDB поддерживает горизонтальное масштабирование и ориентирована на обработку транзакций в реальном времени (OLTP).
VoltDB позволяет достичь уровня производительности NoSQL-систем, сохранив при этом поддержку выполнения запросов на языке SQL и гарантированную транзакционную целостность данных (ACID, атомарность и изолированность транзакций).
Слайд 11

VoltDB Scaling Model

VoltDB Scaling Model

Слайд 12

MemSQL MemSQL очень похожа на VoltDB. Тоже in-memory СУБД, только написана

MemSQL

MemSQL очень похожа на VoltDB. Тоже in-memory СУБД, только написана на

C++. Первый публичный релиз состоялся в июне 2012 года.
Ключевой особенностью MemSQL является компиляция запросов. Любой SQL запрос (все DML и некоторые DDL) превращается в код на C++ (SELECT * FROM TEST превращается в две сотни строк чего-то нечитаемого). Этот код компилируется обычным GCC в разделяемую библиотеку, которая подключается к серверу.
Слайд 13

MemSQL Scaling Model

MemSQL Scaling Model

Слайд 14

NuoDB Создатели NuoDB решили сделать развертывание кластера в облаке приятным и

NuoDB

Создатели NuoDB решили сделать развертывание кластера в облаке приятным и необременительным

занятием.
Это проприетарная СУБД, написанная преимущественно на Java.
Слайд 15

NuoDB Architecture

NuoDB Architecture

Слайд 16

FoundationDB FoundationDB — это распределенная NoSQL база данных с ACID-транзакциями уровня

FoundationDB

FoundationDB — это распределенная NoSQL база данных с ACID-транзакциями уровня Serializable,

хранящая отсортированные пары ключ-значение (ordered key-value store).
Слайд 17

FoundationDb Diagram

FoundationDb Diagram