NoSQL: issues and progress, current status and prospects
-
Upload
andrei-nikolaenko -
Category
Software
-
view
84 -
download
3
Transcript of NoSQL: issues and progress, current status and prospects
1999: STROZZI NOSQL
Реляционная СУБД
NoSQL – без
поддержки SQL
Постоянно упоминается
как «первое NoSQL-
решение»
• Разработана Карлом Строцци в
1998–1999 годы
• реляционная алгебра реализована
через хитроумные сценарии
оболочки, соединяемые через
стандартные Unix-конвейеры
• Однако общность с NoSQL в
современном понимании только
лингвистическая
2001: ТЕОРЕМА CAP
О д н о в р е м е н н о в ы п о л н и м ы т о л ь к о д в а и з т р ё х с в о й с т в :
onsistency
vailability
artition tolerance
Устойчивость к распаду на сегменты
Доступность
Согласованность данных
2006: СТАТЬЯ О BIGTABLEFay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. Bigtable: A Distributed Storage System for Structured Data// Proceedings of 7th USENIX Symposium on Operating Systems Design and Implementation, Seattle, WA, 2006
Работы начаты в 2004 году
Утверждалось об использовании в продуктах Google
Google Analytics Google Earth Google Finance
2007: “SQL IS KLUDGE”Эван Уивер (RailsConf’2006): «SQL – это клудж»
Kludge ([klʌdʒ], техн., жарг.)
•клудж, устройство, программа или часть программы, которые теоретически не должны работать, но почему-то работают
•ошибка, ляп (The first time, it’s a kludge! The second, a trick. Later, it’s a well-established technique!)
«Большинство веб-приложений используют СУБД как хэш-таблицу»
Более сильный вывод Уивера: «SQL – ошибка природы»
Последующее активное обсуждение в Ruby-сообществе о необходимости
СУБД вообще и реализации хранения для приложений
Популярная альтернативная идея среди разработчиков каркасов в стиле
RailsТекст определения: ©2015, Викисловарь (лицензия CC-SA)
2008 – 2009: ВСПЛЕСК «АНАЛОГОВ BIGTABLE»
• AmazonS i m p l e D B
• Powerset
• потом – ApacheH B a s e
• FacebookC a s s a n d r a
• Zvents
• потом – BaiduH y p e r t a b l e
2009: РОЖДЕНИЕ NOSQL
На первом семинаре освещены:
Voldemort Cassandra Dynomite Hbase Hypertable CouchDB MongoDB
Возник вопрос о «хэштеге» для семинара, в irc-чате на Freenode #cassandra
Эрик Эванс (Rackspace) предложил #NoSQL
Семинар Йохана Оскарссона по «распределённым нереляционным СУБД с
открытым исходным кодом»
Hadoop-конференция в Сан-Франциско
2010: ПРИЗНАНИЕ КАК КЛЮЧЕВОЙ ТЕХНОЛОГИИ «БОЛЬШИХ ДАННЫХ»
O’Reilly Media The EconomistPricewaterhouse
CoopersMcKinsey
… как технологии, обеспечивающую горизонтальную масштабируемость,наряду с Hadoop, отмечена в отчётах:
C 2012 года NoSQL входит в академические программы по «большим данным» и «науке о данных»
2010: “NOT ONLY SQL”
Возник в районе 2010 года
По-видимому, автором является Джон Расин, в ответ на публикацию
Стоунбрейкера в Blogs@ACM написавший:
“…To me, NoSQL means Not-Only-SQL, more than No SQL at all. In
Pick, we have SQL phrases which allow access and handling of
associative array data, so it isn’t necessarily a one-or-the-other
situation…”
2011: NEWSQL
Объединяет два типа решений
NoSQL-системы, понимающие SQL или SQL-
подобный язык (UnQL, Hive)
Построение средствами реляционных
движков систем, обладающих свойствами
NoSQL (горизонтальная масштабируемость,
MapReduce API)
Как “new school” против “old school”
Джеймс Аслетт (451 Research)
2012: «МНОГОВАРИАНТНАЯ ПЕРСИСТЕНТНОСТЬ»
Hibernate OGM: библиотека,
обеспечивающая Java Persistence API для
унифицированного доступа к
различного класса NoSQL-системам
I n i f n i s p a n
E h c a c h e
M o n g o D B
N e o 4 j
Marin Fowler, Pramod Sadalage. NoSQL
Distilled: A Brief Guide to the Emerging
World of Polyglot Persistence
N. J.: Addison-Wesley, 2012
Переведена на русский язык
(2013, Вильямс, перевод Дм. Клюшин )
В 2015 году готовится второе издание
на русском
ОСНОВНАЯ ТАКСОНОМИЯ
«Ключ – значение»
DynamoDB
Riak
BerkeleyDB
Redis
Aerospike
Voldermort
MemcacheDB
FoundationDB
Mnesia
Hibari
Документо-
ориентированные
MongoDB
CouchDB и
Couchbase
SequoiaDB
RavenDB
«Семейство
столбцов»
BigTable
HBase
Cassandra
SimpleDB
Accumulo
Графовые
Neo4j
FlockDB
OrientDB
InfiniteGraph
HyperGraphDB
ХАРАКТЕРИСТИЧЕСКИЕ СВОЙСТВА
«Ключ – значение»Документо-
ориентированные
«Семейство
столбцов»Графовые
Агрегатная модель хранения
Бессхемность, комбинирование на стороне приложения
Атомарный доступ
Горизонтальная масштабируемость
Ограниченная транзакционность
Эффективная репликация
ERLANG: НОВЫЙ ЯЗЫК РАЗРАБОТКИ СУБД
«Ключ – значение»
DynamoDB
Riak
BerkeleyDB
Redis
Aerospike
Voldermort
MemcacheDB
FoundationDB
Mnesia
Hibari
Документо-
ориентированные
MongoDB
CouchDB и
Couchbase
SequoiaDB
RavenDB
«Семейство
столбцов»
BigTable
HBase
Cassandra
SimpleDB
Accumulo
Графовые
Neo4j
FlockDB
OrientDB
InfiniteGraph
HyperGraphDB
JAVA: ОСНОВНОЙ ЯЗЫК РАЗРАБОТКИ ГРАФОВЫХ СУБД
«Ключ – значение»
DynamoDB
Riak
BerkeleyDB
Redis
Aerospike
Voldermort
MemcacheDB
FoundationDB
Mnesia
Hibari
Документо-
ориентированные
MongoDB
CouchDB и
Couchbase
SequoiaDB
RavenDB
«Семейство
столбцов»
BigTable
HBase
Cassandra
SimpleDB
Accumulo
Графовые
Neo4j
FlockDB
OrientDB
InfiniteGraph
HyperGraphDB
ПРОЧИЕ «ПРЕТЕНДЕНТЫ НА NOSQL»
Многозначные
(multivalue) и
иерархические
Mumps
Pick D3
Cachè
Объектно-
ориентиро-
ванные
Objectivity
db4o
Jasmine
XML DB,
RDF-DB(часто включены в
сегмент «документо-
ориентированных»)
Sedna
xDB
MarkLogic
Системы
полно-
текстового
поиска
Lucene
Solr
…
Распреде-
лённые
файловые
системы
Hadoop
+
Hive
+
Pig
ОПРЕДЕЛЕНИЕ-ПРЕТЕНДЕНТ
и иногда (в широком смысле)
другие нереляционные СУБД
а также
графовые СУБД
NoSQL – класс горизонтально масштабируемых СУБД с агрегатной
моделью хранения и ограниченной транзакционностью, появившихся в
конце 2000-х – начале 2010-х годов
«ключ – значение» документоориентированные «семейство столбцов»
ОБЪЁМ РЫНКА
IDC: рынок СУБД к 2016 году – $30 млрд
451 Research: к 2016 году объём рынка NoSQLпревзойдёт $1 млрд
IDC: рынок больших данных к 2016 году
– $16 млрд
ПОСТАВЩИКИ
O r a c l eВладелец BerkeleyDB (после
поглощения Sleepycat в 2006)
Владелец Coherence (после поглощения
Tangasol в 2007)
Сконцентрировала более 50% рынка
СУБД (Oracle Database, MySQL)
D a t a S t a x
Коммерциализатор Apache Cassandra от
выходцев из RackspaceВ списке «20 кандидатов на IPO» (IDG) Инвестиции – $190 млн
B a s h o
Разработчик Riak и Riak CS Инвестиции – $57,5 млн
A e r o s p i k e
Фокусируется на рынке RTBОсенью 2014 года опубликовали СУБД
под свободной лицензиейИнвестиции – $22 млн
C o u c h B a s e
Основной разработчик Couchbase Инвестиции – $60 млн
1 0 g e nОсновной разработчик MongoDB
(переименована в MongoDB Inc.)
«No. 9 The Next Big Thing –2012» // The
Wall Street JournalИнвестиции – $311 млн
ПРОВАЙДЕРЫ
O b j e c t R o c k e t
MongoDB Redis Поглощена Rackspace
C l o u d a n t
BigCouch (на основе CouchDB) Поглощена IBM
G o o g l e
BigQuery Cloud Datastore
A m a z o n
SimpleDB DynamoDB ElastiCache Elastic MapReduce
MapReduce
BigTable
Megastore
Spanner
Pregel
Dremel Tenzing
Hadoop
HBase
BigQuery
Cloud Datastore
Cloud SQL
Распределённое столбцовое хранилище и механизм запросов
SQL-MapReduce-механизм
распределённых запросов
Распределённая графовая СУБД
32
GARTNER
Изображение ©2014, Gartner
Magic Quadrant forOperational DatabaseManagement Systems,2014
«Реляционные и нереляционные СУБД
для OLTP-приложений корпоративного
уровня»
FORRESTER
Изображения: ©2014, Forrester
«ключ – значение»(включает «семейство-столбцовые»)
документоориентированные(включает XML-СУБД)
ПЕРВАЯ РЕАКЦИЯ
Майкл Стоунбрейкер
(blogs@ACM):
• разделил NoSQL-системы
на «ключ – значение» и
«документоориентированные»
• провёл критический анализ
(постепенно смягчая позицию к
движению в целом)
• породил полемику и интерес со
стороны видных деятелей
научного сообщества
Русскоязычное пространство
(Сергей Дмитриевич Кузнецов):
• Серия переводов (в том числе
записей Стоунбрейкера)
• Серия критических обзоров
(Citforum, «Открытые системы.
СУБД»)
• Скепсис на базе историй неуспеха
альтернатив реляционной
технологии в 1990-е (прежде всего,
объектных СУБД)
КОЛЛЕКЦИЯ
Nosql-database.org
Ведётся профессором
Берлинского университета
Штефаном Эдлихом c 2009 года
Содержит 150 NoSQL-СУБД
«Семейство столбцов»
Документоориентированные
«Ключ-значение» и кортежные
Графовые
Мультимодельные
«Для грида и облачных вычислений»
Объектные
Многомерные
XML-СУБД
Многозначные (multivalue)
Сетевые
«Event-sourcing»
COSQLErik Meijer and Gavin Bierman
A co-relational model of data for large shared data banks
// Communications of the ACM, vol. 54 (2011), No. 4
SQL coSQL
Дочерние записи ссылаются на родительские
Родительские записи содержат дочерние
Элементы обязательно строго типизированы
(Потенциально) динамически типизированы
Синхронные обновления (ACID) для нескольких записей
Асинхронные обновления (BASE) для одной записи
Набросок теоретико-категорной модели, объединяющей реляционную алгебру и «двойственную ей» алгебру для агрегатных моделей
NOSQL: ПРОБЛЕМЫ
«Зонтичность»
• широкий класс решений, объединённых под одним [дискуссионным] заголовком
• отсутствует концептуальный взгляд на движение в целом, каждое решение «пробивается»
самостоятельно, нет единой идеологической базы
• понятийные и терминологические разночтения внутри движения, отсутствие внутренней
поддержки
Нестандартизованность
• отсутствуют стандарты в сегментах, даже в тех случаях, где они могли бы быть сформулированы
• слабая сочетаемость и взаимозаменяемость решений (риски уникальности)
Молодость, новизна
• неприятие и непонимание со стороны части опытных экспертов
• критика со стороны конкурентных технологий
NOSQL: ДОСТИЖЕНИЯСтановление как важной технологии в интернет-гигантах
• Google (BigTable)
• Amazon (DynamoDB)
• Facebook (Cassandra)
Признание как ключевой технологии «больших данных»
Оформление как дополняющей технологии
• сближение с возможностями реляционных систем (транзакции, целостность, …)
• «многовариантная персистентность» (polyglot persistence); ORM-средства с поддержкой
NoSQL; программные каркасы, объединяющие реляционные системы и NoSQL
Молодость, новизна!
• несмотря на «зонтичность», за счёт новизны удалось создать привлекательную атмосферу и
разогреть интерес как академический, так и коммерческий
NOSQL: ТЕКУЩЕЕ СОСТОЯНИЕ
Появление в «корпоративном секторе»
банкиоператоры
электросвязиРозничная торговля энергосбыт госсектор
Относительно небольшой, быстрорастущий рынок
NoSQL растёт не взамен рынку реляционных СУБД, а в
дополнениеинвестиции в NoSQL-разработчиков превысили $1 млрд
Изначальные фокусные пользователи – интернет-гиганты, – по-прежнему
используют РСУБД в качестве основной технологии слоя хранения
Facebook Yahoo Ebay Twitter Wikipedia Apple (store)
Более сотни СУБД, более десятка – развитых и зрелых
NOSQL: ПЕРСПЕКТИВЫ
•Становление нескольких лидеров движения, деградация отстающих
•Концентрация на стороне ИТ-гигантов
К о н с о л и д а ц и я
•формирования достаточно чётких рамок, определений
•… как с облачными вычислениями
К о н ц е п т у а л и з а ц и я
•универсальные языки
•универсальные программные каркасы
•универсальные сервисы, интероперабельность
С т а н д а р т и з а ц и я
•появление референтных отраслевых решений
•формирование рынка услуг профессиональных услуг
К о м м е р ц и а л и з а ц и я
•оперативная память
•твердотельные накопители
•применение ПЛВМ…
Ф о к у с н а а п п а р а т н о й с п е ц и ф и к е