Слайд 1NewSQL
Свежий взгляд на реляционные СУБД.
Слайд 2Agenda
Введение в NewSQL
Архитектура
Недостатки
Заключение
Q&A
Слайд 3NewSQL = SQL + NoSQL
NewSQL (англ. новый SQL) — класс
реляционных СУБД, возникших на рубеже 2000-х и 2010-х годов, стремящихся
совместить в себе преимущества масштабируемости и производительности NoSQL и ACID-гарантии RDBMS.
Термин NewSQL предложен в 2011 году аналитиком 451 Group Мэтью Аслетом.
Слайд 4ACID
Атомарность
Консистентность
Изолированность
Надежность
Слайд 6OLTP & OLAP
OLTP-система - это общая система обработки данных
на современных продуктах. Классическими примерами OLTP-систем являются ввод заказов, розничные
продажи и системы финансовых транзакций.
OLTP обычно противопоставляется OLAP (онлайн-аналитическая обработка), которая, как правило, характеризуется гораздо более сложными запросами, в меньшем объеме, для целей бизнес-аналитики или отчетности, а не для обработки транзакций. В то время как OLTP-системы обрабатывают все виды запросов (чтение, вставка, обновление и удаление), OLAP обычно оптимизируется только для чтения и может даже не поддерживать другие виды запросов.
OLTP придерживаются принципов нормализации, OLAP - денормализации.
Слайд 8Welcome NewSQL
Технические характеристики решений NewSQL
SQL как основной механизм для взаимодействия.
ACID
поддержка транзакций.
Механизм управления без применения блокировок, таким образом считывающие данные
в реальном времени не будут находится в противоречии с записывающими, что исключает конфликт.
Архитектура, обеспечивающая намного выше производительность узла, чем доступный из традиционных решений RDBMS.
Удобное масштабирование, способное управлять большим количеством узлов, не перенося узкие места.
Слайд 9NewSQL 3 Types
Новые базы данных
Новый движок базы данных
Объединение в
кластеры
Слайд 10VoltDB
VoltDB — инновационная открытая СУБД, которая развивается под руководством Майкла
Стоунбрейкера, одного из основателей проектов Ingres и PostgreSQL.
СУБД VoltDB поддерживает
горизонтальное масштабирование и ориентирована на обработку транзакций в реальном времени (OLTP).
VoltDB позволяет достичь уровня производительности NoSQL-систем, сохранив при этом поддержку выполнения запросов на языке SQL и гарантированную транзакционную целостность данных (ACID, атомарность и изолированность транзакций).
Слайд 12MemSQL
MemSQL очень похожа на VoltDB. Тоже in-memory СУБД, только написана
на C++. Первый публичный релиз состоялся в июне 2012 года.
Ключевой
особенностью MemSQL является компиляция запросов. Любой SQL запрос (все DML и некоторые DDL) превращается в код на C++ (SELECT * FROM TEST превращается в две сотни строк чего-то нечитаемого). Этот код компилируется обычным GCC в разделяемую библиотеку, которая подключается к серверу.
Слайд 14NuoDB
Создатели NuoDB решили сделать развертывание кластера в облаке приятным и
необременительным занятием.
Это проприетарная СУБД, написанная преимущественно на Java.
Слайд 16FoundationDB
FoundationDB — это распределенная NoSQL база данных с ACID-транзакциями уровня
Serializable, хранящая отсортированные пары ключ-значение (ordered key-value store).
Слайд 18Final
Мощно
Быстро
Сложно
Дорого
Cloud наступает на пятки