NoSQL — пережиток прошлого? Знакомьтесь: NewSQL и NuoDB

Кажется, парадигма NoSQL еще недавно считалась главным «хитом сезона» — но сегодня о ней всерьез заговорили как о пережитке прошлого. Сегодня мы напомним о том, что такое NoSQL и объясним, чем «не угодила» эта концепция, а также расскажем о пришедшей ей на смену NewSQL и ее важной реализации – облачной базе данных NuoDB.

NoSQL

В чем главные «фишки» «широко известной в узких кругах» технологии NoSQL (aka «не только SQL»)? Во-первых, это проектирование с учетом масштабирования и линейная масштабируемость, когда добавление нового узла повышает производительность всей системы. Во-вторых, это скорость: по сравнению с предшественниками, время отклика системы примерно в 100 раз меньше (и измеряется в миллисекундах вместо сотен миллисекунд). В-третьих, это принципиальные изменения в наборе свойств: если для РСУБД необходима ориентация на требования ACID (атомарность, согласованность, изолированность, надежность), то для NoSQL эти требования заменяются так называемым набором BASE:

  • Базовая доступность (Basic Availability) гарантирует завершение каждого запроса.
  • Гибкое состояние (Soft state) – состояние системы может изменяться вне зависимости от того, были ли введены новые данные, или нет.
  • Согласованность в конечном счете (Eventual consistency) означает, что данные могут какое-то время находиться в несогласованном состоянии, но обязательно приходят к нему после.

Так в чем же проблема? Почему NoSQL плохо приживается в сфере бизнеса? Ответ лежит на поверхности: предприятия используют РСУБД именно потому, что транзакционные системы и требования ACID удовлетворяют их нуждам. Довольно «туманные» перспективы, которые обещает масштабируемость – вроде увеличения производительности – не кажутся достойными того, чтобы ради них жертвовать надежным сервером и проверенной реляционной системой, а также серьезными финансовыми вложениями в разработку собственных API для связи узлов распределенной системы с мейнфреймом. К тому же, в некоторых сферах – той же банковской – без транзакций не обойтись вообще. А данные тем временем «растут», и необходимость в распределенных системах вместе с ними. Как быть?

Почему NewSQL?

Относительно новая концепция NewSQL призвана решить эту проблему, объединив преимущества реляционных БД с распределенной архитектурой.

  • приложения взаимодействуют в основном посредством SQL;
  • транзакции полностью поддерживают требования ACID;
  • при управлении не применяется механизм блокировок – таким образом, исключается вероятность конфликта между записываемыми и считываемыми в реальном времени данными;
  • архитектура sharednothing, при которой каждой узел системы отвечает за свой набор данных, являясь независимым и самодостаточным, подразумевает легкую и быструю масштабируемость;
  • производительность узла СУБД на NewSQL намного выше, чем у традиционных РСУБД;
  • скорость отклика системы в 50 раз превышает эту величину у традиционных РСУБД.

Такое решение может понравится всем: специалистам – потому что новая архитектура надежна и вместе с тем работает гораздо быстрее и производительнее, чем «классика» РСУБД, администраторам – потому что поддерживать работу такой распределенной системы гораздо проще; наконец, предпринимателям – потому что обеспечение работы распределенной системы в ее классическом понимании требует больших вложений – решив же отдать предпочтение CУБД на NewSQL, можно уберечь себя от лишних временных, денежных и даже кадровых затрат. А поскольку «общаться» c системой можно будет все на том же SQL, перейти на нее, по крайней мере, специалистам по работе с данными, будет не слишком трудно.

Что такое NuoDB?

Понятное дело, NewSQL – это всего лишь парадигма, концепция; задача ее практической реализации стоит перед вендорами, которые, к счастью, сразу «поймали волну». Сегодня мы расскажем о показавшемся нам особенно интересном облачном решении NuoDB.

По определению самих разработчиков, NuoDB – это распределенная база данных, работающая по принципу связи между клиентом и облаком. Основные принципы работы заключаются в следующем:

  • Объектно-распределенная архитектура. При добавлении нового узла производительность и скорость работы системы повышается.
  • «Безосколочная» масштабируемость. База данных спроектирована так, чтобы избежать «узких мест» данных, распределяя задачи между несколькими процессорами.
  • Используется принцип пирингового взаимодействия – все узлы равноправны.
  • Полная поддержка требований ACID. Более того, NuoDB разработана с учетом всех 12 правил Э. Кодда для реляционных БД.
  • БД использует так называемый «поярусный» подход – архитектура включает в себя многочисленные повторяющиеся ярусы процессоров транзакций (TE – transaction engines) и модулей управления памятью (SM – storage managers). Этот подход позволяет контролировать процесс масштабирования данных в облаке.

Резюме

Пока в кулуарах ведутся оживленные дискуссии по поводу будущего распределенных систем, факт остается фактом: сейчас без них не может обойтись ни одна компания, имеющая дело с большими данными. Одновременно бизнес не спешит отказываться от удобной и надежной реляционной архитектуры БД – именно поэтому такие «хиты сезона» как NoSQL приживаются в корпоративной сфере не очень хорошо. Такая ситуация дала толчок к появлению архитектуры NewSQL, которая объединяет отличную масштабируемость с привычными всем нам достоинствами РСУБД. Что из этого выйдет – покажет время.

Автор: Елизавета Филиппова

Добавить комментарий

Ваш e-mail не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =