NewSQL - NewSQL

NewSQL это класс реляционный системы управления базами данных которые стремятся обеспечить масштабируемость NoSQL системы для онлайн-обработка транзакций (OLTP) при сохранении КИСЛОТА гарантии традиционной системы баз данных.[1][2][3][4]

Много корпоративные системы которые обрабатывают важные данные (например, финансовые системы и системы обработки заказов), слишком велики для обычных реляционных баз данных, но имеют транзакционный и требования согласованности, которые не подходят для систем NoSQL.[5][6] Единственными вариантами, доступными ранее для этих организаций, были либо покупка более мощных компьютеров, либо разработка индивидуальных промежуточное ПО который распределяет запросы по обычным СУБД. Оба подхода связаны с высокими затратами на инфраструктуру и / или затраты на разработку. Системы NewSQL пытаются урегулировать конфликты.

История

Термин впервые был использован 451 Группа аналитик Мэтью Аслетт в исследовательской статье 2011 года, в которой обсуждается рост нового поколения систем управления базами данных.[5] Одной из первых систем NewSQL была H-Store система параллельных баз данных.[7][8]

Приложения

Типичные приложения характеризуются тяжелым OLTP объемы транзакций. OLTP-транзакции;

  • недолговечны (т. е. отсутствие пользовательских остановок)
  • касайтесь небольших объемов данных за транзакцию
  • использовать индексированный поиск (без сканирования таблиц)
  • имеют небольшое количество форм (небольшое количество запросов с разными аргументами).[9]

Однако некоторая поддержка гибридная транзакционная / аналитическая обработка (HTAP) приложения. Такие системы улучшают производительность и масштабируемость за счет исключения тяжеловесных восстановление или же контроль параллелизма.[10]

Функции

Двумя общими отличительными чертами решений для баз данных NewSQL являются то, что они поддерживают онлайн-масштабируемость баз данных NoSQL и реляционная модель данных (включая кислотность) с использованием SQL как их основной интерфейс.[11]

Системы NewSQL можно условно разделить на три категории:[2][12]

Новые архитектуры

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

Движки SQL

Вторая категория оптимизирована двигатели хранения за SQL. Эти системы предоставляют тот же программный интерфейс, что и SQL, но масштабируются лучше, чем встроенные механизмы.

Прозрачный шардинг

Эти системы автоматически разделяют базы данных на несколько узлов, используя Плот или же Паксос алгоритм консенсуса.

Смотрите также

Рекомендации

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