NewSQL - это класс систем управления реляционными базами данных, которые стремятся обеспечить масштабируемость систем NoSQL для рабочих нагрузок онлайн-обработки транзакций (OLTP) при сохранении гарантий ACID традиционной системы баз данных. [1] [2] [3] [4]
Многие корпоративные системы, которые обрабатывают важные данные (например, финансовые системы и системы обработки заказов), слишком велики для обычных реляционных баз данных, но имеют требования к транзакциям и согласованности, которые непрактичны для систем NoSQL. [5] [6] Единственными вариантами, ранее доступными для этих организаций, были либо покупка более мощных компьютеров, либо разработка специального промежуточного программного обеспечения, которое распределяет запросы по обычной СУБД . Оба подхода связаны с высокими затратами на инфраструктуру и / или затраты на разработку. Системы NewSQL пытаются урегулировать конфликты.
История [ править ]
Этот термин впервые был использован аналитиком 451 Group Мэтью Аслеттом в исследовательской работе 2011 года, в которой обсуждается рост нового поколения систем управления базами данных. [5] Одной из первых систем NewSQL была система параллельных баз данных H-Store . [7] [8]
Приложения [ править ]
Типичные приложения характеризуются большим объемом транзакций OLTP . OLTP-транзакции;
- недолговечны (т. е. нет пользовательских остановок)
- касайтесь небольших объемов данных за транзакцию
- использовать индексированный поиск (без сканирования таблиц)
- имеют небольшое количество форм (небольшое количество запросов с разными аргументами). [9]
Однако некоторые поддерживают приложения гибридной транзакционной / аналитической обработки (HTAP). Такие системы улучшают производительность и масштабируемость, исключая тяжелое восстановление или контроль параллелизма . [10]
Особенности [ править ]
Две общие отличительные особенности решений для баз данных NewSQL заключаются в том, что они поддерживают онлайн-масштабируемость баз данных NoSQL и реляционную модель данных (включая согласованность ACID) с использованием SQL в качестве основного интерфейса. [11]
Системы NewSQL можно условно разделить на три категории: [2] [12]
Новые архитектуры [ править ]
Системы NewSQL используют различные внутренние архитектуры. Некоторые системы используют кластер без совместного использования узлов, в которой каждый узел управляет подмножеством данных. Они включают такие компоненты, как управление распределенным параллелизмом, управление потоком данных и распределенная обработка запросов.
Механизмы SQL [ править ]
Вторая категория - это оптимизированные механизмы хранения для SQL . Эти системы предоставляют тот же программный интерфейс, что и SQL, но масштабируются лучше, чем встроенные механизмы.
Прозрачный сегмент [ править ]
Эти системы автоматически разделяют базы данных между несколькими узлами с помощью алгоритма консенсуса Raft или Paxos .
См. Также [ править ]
- Обработка транзакции
- Раздел (база данных)
- Архитектура распределенной реляционной базы данных
- Распределенный SQL
Ссылки [ править ]
- ^ Aslett, Мэтью (2011). "Как будут реагировать существующие базы данных на NoSQL и NewSQL?" (PDF) . 451 Group (опубликовано 4 апреля 2011 г.) . Проверено 22 февраля 2020 года .
- ^ a b Павел, Андрей; Аслетт, Мэтью (2016). "Что на самом деле нового в NewSQL?" (PDF) . Запись SIGMOD . Проверено 22 февраля 2020 года .
- ^ Stonebraker, Майкл (16 июня 2011). «NewSQL: альтернатива NoSQL и старому SQL для новых приложений OLTP» . Сообщения в блоге ACM . Проверено 22 февраля 2020 года .
- ↑ Хофф, Тодд (24 сентября 2012 г.). «Самое удивительное открытие Google Spanner: NoSQL уже нет, а NewSQL уже есть» . Проверено 22 февраля 2020 года .
- ^ a b Аслетт, Мэтью (6 апреля 2011 г.). «О чем мы говорим, когда говорим о NewSQL» . 451 Group . Проверено 22 февраля 2020 года .
- ^ Ллойд, Алекс (2012). "Строительный гаечный ключ" (PDF) . Берлинские словечки (опубликовано 5 июня 2012 г.) . Проверено 22 февраля 2020 года .
- ^ Aslett, Мэтью (4 марта 2008). «Является ли H-Store будущим систем управления базами данных?» . Проверено 22 февраля 2020 года .
- ↑ Monash, Curt (20 февраля 2008 г.). "H-Store: Полное разрушение старого порядка СУБД?" . ZDNet . Проверено 22 февраля 2020 года .
- ^ Stonebraker, Майкл ; и другие. (2007). «Конец архитектурной эры (время полностью переписать)» (PDF) . VLDB '07: Материалы 33-й международной конференции по очень большим базам данных . Вена, Австрия . Проверено 22 февраля 2020 года .
- ^ Stonebraker, Майкл; Кеттелл, Р. (2011). «10 правил масштабируемой производительности в хранилищах данных« простых операций »» . Коммуникации ACM . 54 (6): 72. DOI : 10.1145 / 1953122.1953144 .
- ^ Кеттел, R. (2011). «Масштабируемые хранилища данных SQL и NoSQL» (PDF) . ACM SIGMOD Запись . 39 (4): 12–27. CiteSeerX 10.1.1.692.2621 . DOI : 10.1145 / 1978915.1978919 . S2CID 3357124 . Проверено 22 февраля 2020 года .
- ↑ Венкатеш, Прасанна (30 января 2012 г.). «NewSQL - новый способ работы с большими данными» . Проверено 22 февраля 2020 года .