НовостиСобытияКонференцииФорумыIT@Work
Идеи и практики автоматизации:

Блог

NoSQL 2.0

Сергей Бобровский
15.05.2012 10:41:45
Теги: HyperDex, NoSQL, РСУБД

Распространенность NoSQL-систем едва ли превышает единичные проценты в сравнении с РСУБД (хотя, если брать масштабы проектов, соотношение наверняка будет другим), но уже начинаются разговоры о качественно новом будущем этой технологии.

Мэйнстримовские NoSQL-системы представляют собой комбинацию относительно свежего подхода (очень быстрые и хорошо масштабируемые хранилища ключ-значение для систем с достаточно простыми схемами доступа) с классическими механизмами ускорения работы (индексация).
Cassandra, DynamoDB, MongoDB, список легко продолжить.
Корнельский университет предложил оригинальную NoSQL-систему HyperDex, которая реализует "многомерную хэш-функцию" (pdf), что позволяет обходиться без классических индексов, но в то же время скорость выборки и поиска данных остается очень высокой. Сама идея довольно прозрачна: число измерений принимается равным числу атрибутов объекта (или, условно, числу полей таблицы), и значения каждого атрибута однозначно, без дополнительных индексов, определяют "позицию" объекта в виртуальном серверном пространстве. В итоге поиск работает быстро, система обеспечивает низкую задержку, гарантированно целостна и устойчива к сбоям, а масштабируется линейно. Результаты тестов: от 0,5 млн операций/с на четырех серверах до 3,2 млн.оп/с на 32-х. Особенно показателен выигрыш в скорости (десятки раз) в сравнении с другими NoSQL в поисковых операциях.
Исходники и сборка реализованы для Debian, готовится версия для Ubuntu.

Надо отметить, что другие системы все же не так уж слабы, как может показаться из информации-презентации HyperDex. Например, MongoDB включает собственные оригинальные поисковые механизмы, и при грамотном их применении снижение скорости вряд ли будет сильно заметно.

Да и общая концепция сетевой топологии БД известна давным-давно, помнится, в 1990-е, я писал заметку о СУБД MUMPS (ее встроенный язык M стал третьим, стандартизованным комитетом ANSI, следом за Фортраном и Бейсиком) -- еще в 1995-м(!) она могла работать с БД объемом в терабайты и масштабировалась на десяток тысяч клиентских мест на сотне Pentium 133 с 16 Мб ОЗУ smile:)

Подобная многомерность доступа была в ней реализована еще задолго до появления NoSQL. Ну и РСУБД тоже не такие уж слабые для сетевых проектов, как может показаться на фоне NoSQL-шумихи. Лет пять назад Yahoo успешно вела базу из триллиона записей объемом в петабайты на PostgreSQL (правда, серьезно переделанной). Хотя, конечно, неспроста такие системы сегодня массово переводятся на Hadoop.

Комментариев: 0

Только зарегистрированные и авторизованные пользователи могут добавлять комментарии