The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск СУБД Couchbase Server 4.0, сочетающей возможности CouchDB, memcached и Membase

08.10.2015 09:33

После года разработки представлен релиз СУБД Couchbase Server 4.0, которая относится к классу NoSQL-систем и предоставляет похожие на Apache CouchDB средства для создания документ-ориентированных баз данных в сочетании с напоминающими Membase хранилищами в формате ключ-значение. При этом, благодаря поддержке стандартного протокола memcached, система остаётся совместимой с большим числом уже имеющихся приложений и может выступать в роли прозрачной замены других NoSQL-систем. Код системы распространяется под лицензией Apache.

Проект создан объединённой командой разработчиков CouchDB и Membase, основанной после слияния компании CouchOne и Membase. Couchbase Server можно рассматривать как бэкенд хранилища на основе технологий Membase, поверх которого добавлены движки для индексации и формирования запросов CouchDB. Таким образом удалось добиться совместимости с Apache CouchDB на уровне оформления запросов и индексов, и совместимости с Membase на уровне протокола доступа к данным и управляющего API. Критичные к производительности части CouchDB были переписаны на языке C++, но многие подсистемы по-прежнему остаются на языке Erlang. Для разработки приложений на языках Java, Ruby, .NET, C/C++, PHP, Node.js и Python подготовлены специальные SDK.

Couchbase Server отличается высокой масштабируемостью и позволяет организовать хранение данных как на одном сервере, так и в форме распределённой системы, размещающей данные поверх группы серверов. В том числе имеются встроенные средства для обеспечения высокой доступности, самовосстановления в случае сбоя обслуживающих хранилище узлов (данные могут дублироваться на разных узлах) и построения сегментированных хранилищ, копии которых разнесены по разным датацентрам и приближены к конечным пользователям. Поддерживаются как однонаправленные ("master-slave"), так и двунаправленные ("master-master") режимы репликации. Поддерживается создание первичных и вторичных индексов, а также индексов по нескольким ключам. Для дополнительной оптимизации производительности применяются встроенные механизмы кэширования в оперативной памяти и средства автоматической генерации индексов.

Помимо возможности хранения данных в формате ключ/значения, Couchbase Server позволяет использовать концепцию документ-ориентированного хранилища, в котором в качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Используемая в Couchbase Server модель данных позволяет определять документы в формате JSON, снимая с разработчика необходимость определения схемы хранения. Запросы и индексация данных могут выполняться в соответствии с парадигмой MapReduce, а также с использованием SQL-подобного языка запросов. Для организации псевдо-структурированного набора данных из произвольных документов предлагается концепция формирования представлений (view). Для формирования логики выборки используется язык JavaScript.

Основные новшества:

  • Представлен язык формирования запросов N1QL, комбинирующий простоту SQL с гибкостью JSON. Доступны выражения SELECT, DELETE, INSERT, UPDATE, UPSERT, CREATE/DROP INDEX, агрегатные функции, слияния запросов (Join), подзапросы. При этом модель хранения и формат вывода определяются представлением JSON. Пример запроса:
    
       SELECT name, brewery_id from 'beer-sample' WHERE brewery_id IS NOT MISSING LIMIT 2; 
    
  • Новый движок хранения ForestDB, использующий структуры B+Trie (в штатном движке Couchstore применяется B+tree) и поддерживающий собственный локальный кэш. Из достоинств ForestDB отмечается более эффективное хранение ключей большого размера и большого числа записией;
  • Новый режим индексации данных с использованием вторичных GSI-индексов (Global Secondary Indexing) для N1QL-запросов. GSI-индексы подходят для использования в интерактивных приложениях, требующих минимального времени отклика;
  • Поддержка связывания Couchbase Server с другими СУБД через драйверы ODBC/JDBC;
  • Средства для манипуляции географическими координатами в запросах для приложений, учитывающих местоположение;
  • Поддержка новых фреймворков и языков: LINQ, Spring, Go;
  • Режим многомерного масштабирования (MDS, Multi-Dimensional Scaling) для равномерного распределения ресурсов в кластере в привязке и имеющейся нагрузке. При MDS ресурсы для запросов, индексов и хранения данных распределяются отдельно, в зависимости от реальной потребности;
  • Встроенные средства идентификации через интеграцию с LDAP;
  • Средства аудита безопасности, позволяющие проконтролировать кто и когда выполнял административные действия с СУБД;
  • Улучшенные средства репликации между датацентрами, например, доступны средства отфильтровывания только необходимых в данном регионе данных;
  • Поддержка подключения к хранилищам Spark Core, Spark SQL, Spark Streaming, Kafka и Sqoop;
  • Средства для быстрого развёртывания рабочих конфигураций в контейнерах Docker и облачных сервисах AWS, Azure, Joyent, Cisco и Verizon. Формирование пакетов для SUSE Enterprise Linux 11 и Oracle Linux 6.


  1. Главная ссылка к новости (http://blog.couchbase.com/2015...)
  2. OpenNews: Основатель CouchDB покинул Apache в пользу развития системы Couchbase
  3. OpenNews: Проекту memcached исполнилось 10 лет
  4. OpenNews: Первый стабильный релиз СУБД Membase Server
  5. OpenNews: Ведущие поставщики NoSQL-баз CouchOne и Membase объявили о слиянии
  6. OpenNews: Выпуск документ-ориентированной БД Apache CouchDB 1.6.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/43108-couchbase
Ключевые слова: couchbase
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 10:42, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    атомарный select-update тут есть? подключение новых серверов на ходу и решардинг? если не тут то где такое есть?
     
     
  • 2.2, anonymous (??), 11:31, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    В RethinkDB вроде есть
     
     
  • 3.3, anonymous (??), 11:36, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > В RethinkDB вроде есть

    К сожалению туда скорость не завезли. Адовые задержки даже на смешных датасетах. Пионерия, чо.

     

  • 1.4, Аноним (-), 11:36, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    пишут что compare and swap (CAS) для одного ключа поддерживается, множество ключей атомарно не изменить. это уже что-то. как у этого CouchDB с хранением ключа? когда я делаю insert/update и питание теряется данные теряются?
     
     
  • 2.5, Аноним (-), 11:44, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    так же есть lock записи с таймаутом. не ясно нафига с таймаутом - нужно просто по обрыву соединения lock снимать.
     

  • 1.6, freeman2 (ok), 12:28, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Для разработки приложений на языках Java, Ruby, .NET, C/C++, PHP, Node.js и Python

    Найдите лишнего.

     
     
  • 2.8, Аноним (-), 12:55, 08/10/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    естественно .NET
     

  • 1.9, brzm (?), 14:50, 08/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > комбинирующий простоту SQL с гибкостью JSON

    Эм... комбинирующий простоту JSON с гибкостью SQL? :)

     
     
  • 2.10, Аноним (-), 01:43, 09/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> комбинирующий простоту SQL с гибкостью JSON
    >
    > Эм... комбинирующий простоту JSON с гибкостью SQL? :)

    комбинирующий простоту JSON с гиблостью SQL?

     

  • 1.11, Аноним (-), 21:30, 09/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > CouchDB, memcached и Membase

    "Павлино-утко-ёж" (цэ)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру