The OpenNET Project / Index page

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

Релиз БД Couchbase Server 2.0, сочетающей возможности CouchDB, memcached и Membase

12.12.2012 21:00

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

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

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

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

Проект создан объединённой командой разработчиков CouchDB и Membase, основанной после слияния компании CouchOne и Membase. Отбросив детали, Couchbase Server можно рассматривать как бэкенд хранилища на основе технологий Membase, поверх которого добавлены движки для индексации и формирования запросов CouchDB. Таким образом удалось добиться совместимости с Apache CouchDB на уровне оформления запросов и индексов, и совместимости с Membase на уровне протокола доступа к данным и управляющего API. Критичные к производительности части CouchDB были переписаны на языке C++, но многие подсистемы по-прежнему остаются на языке Erlang. Техническим лидером проекта выступил Дэмиен Катц (Damian Katz), основатель документ-ориентированной базы данных CouchDB.

Код системы распространяется под лицензией Apache. Помимо полностью открытого варианта Couchbase Server 2.0 поставляется коммерческий продукт на его основе, отличающийся предоставлением технической поддержки, наличием канала оперативной доставки обновлений и более интенсивным тестированием сборок (кодовая база для коммерческой и свободной редакции полностью идентична). Для разработки приложений на языках Java, Ruby, .NET, C, PHP и Python подготовлены специальные SDK.

  1. Главная ссылка к новости (http://blog.couchbase.com/anno...)
  2. OpenNews: Основатель CouchDB покинул Apache в пользу развития системы Couchbase
  3. OpenNews: Создатели CouchDB и SQLite представили UnQL, аналог SQL для систем NoSQL
  4. OpenNews: Первый стабильный релиз СУБД Membase Server
  5. OpenNews: Релиз БД Apache CouchDB 1.1.0
  6. OpenNews: Ведущие поставщики NoSQL-баз CouchOne и Membase объявили о слиянии
Лицензия: CC-BY
Тип: Интересно / Программы
Короткая ссылка: https://opennet.ru/35584-couchbase
Ключевые слова: couchbase, couchdb
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Xasd (ok), 22:30, 12/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Код системы распространяется под лицензией Apache.

    а точнее -- распространяется под Apache-2.0 (что намного лучше чем если бы Apache-1.0). так как совместимость с GPL

     
  • 1.2, o (?), 22:59, 12/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлчно. Как оно с условными выборками по нескольким ключам? А то в couchDB с этим совсем никак :(
     
  • 1.3, o (?), 23:07, 12/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ищу вот базу для задачи с поиском объектов по атрибутам с условиями И и ИЛИ. Пока нашел только 2 такие.
    1. sql
    WHERE
    (tag1 = val1 OR tag = 'default') AND
    (tag2 = val2 OR tag = 'default') AND
    (tag3 = val3 OR tag = 'default') AND ...
    2. ldap
    ldap_search
    (&(|(tag1=val1)(tag1="default"))
      (|(tag2=val2)(tag2="default"))
      (|(tag3=val3)(tag3="default"))
      ...)

    CouchBD такого не может, как и редисы с мемкешами.
    mdcache вроде может, но там дров нет.

    MongoDB не предлагать по религиозным причинам.

     
     
  • 2.5, VoDA (ok), 00:56, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > WHERE
    > (tag1 = val1 OR tag = 'default') AND
    > (tag2 = val2 OR tag = 'default') AND
    > (tag3 = val3 OR tag = 'default') AND ...

    а насколько быстро это работает? как развешивали индексы? какой объем данных?

    По теме - если не хватает кластеризации, то можно глянуть на любое кластерное хранилище и MapReduce.

     
  • 2.6, buryat (?), 05:26, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вы не умеете писать SQL

    WHERE (tag = 'default' OR tag1 = val1 OR tag2 = val2 OR tag3 = val3) AND …

    Редис умеет такое — в нем есть lua.

     
     
  • 3.7, auk (?), 06:57, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    скорее уж так:
    WHERE tag = 'default' AND (tag1 = val1 OR tag2 = val2 OR tag3 = val3) AND …
     
     
  • 4.8, o (?), 08:21, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Безграмотность не воробей, вылетит не поймешь :).
    Все три приведенных запроса реализуют разную логику.
    Марш в школу!
     
     
  • 5.12, SubGun (ok), 10:34, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Опередил) Хорошо сказано.
     
  • 4.10, piteri (ok), 09:25, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Всем советчикам срочно гуглить про дистрибутивность.
     
  • 4.13, 1 (??), 10:45, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    :)
    (tag1 = val1 OR tag = 'default') AND
    (tag2 = val2 OR tag = 'default') AND
    (tag3 = val3 OR tag = 'default') AND ...

    преобразуется в
    (tag = 'default' OR (tag1 = val1 AND tag2 = val2 AND tag3 = val3)) AND...

     
  • 2.11, Пингвино (ok), 09:39, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > MongoDB не предлагать по религиозным причинам.

    Расскажите какие причины и в чем заключается религиозность

     

  • 1.14, t28 (?), 11:12, 13/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    База данных на Erlang?
    Они бы ещё на Питоне её написали...
     
     
  • 2.15, 1 (??), 11:17, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > База данных на Erlang?
    > Они бы ещё на Питоне её написали...

    что-то есть против? Огласите пож-та :)

     
     
  • 3.16, 1 (??), 11:18, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> База данных на Erlang?
    >> Они бы ещё на Питоне её написали...
    > что-то есть против? Огласите пож-та :)

    про Erlang

     
  • 3.18, t28 (?), 12:09, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > что-то есть против?

    Тормознутость и ресурсоёмкость?

     
     
  • 4.19, 1 (??), 12:26, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> что-то есть против?
    > Тормознутость и ресурсоёмкость?

    по сравнение с чем и на каких задачах? я только про Erlang спрашиваю. может где тесты есть... потому как не приходилось в реальных проектах использовать но "ковырял" немного. очень интересная модель оказалось. и вот как то не вяжется она именно с этими понятиями. в общем с чего такое мнение?

     
     
  • 5.21, t28 (?), 14:53, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > с чего такое мнение?

    Некоторое время пользовал поделие под названием chef. Эпически тормознутая вещь на не самом слабом железе.

    Да, сам chef на Ruby, использует для своей работы две базы данных ---- одна ---- Solar ---- на Java-е, другая ---- CouchDB ---- на Erlang. В общем, ужоснах... За 3 месяца пыток всего лишь на 20-ти компах база chef CouchDB разрослась до 26 Гигабайт. Это полный "Пэ"...

     
     
  • 6.22, develop7 (ok), 15:34, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Да, сам chef на Ruby, использует для своей работы две базы данных ---- одна ---- Solar ---- на Java-е, другая ---- CouchDB ---- на Erlang. В общем, ужоснах... За 3 месяца пыток всего лишь на 20-ти компах база chef CouchDB разрослась до 26 Гигабайт. Это полный "Пэ"...

    Место жрёт CouchDB, а плохой и негодный — Erlang. Ну действительно, разве может быть виноват кто-то ещё.

     
  • 6.23, northbear (ok), 01:47, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вы наверное думали, что CouchDB это что-то типа MS Access'a только на Linux, да? Так вот, у меня для вас плохая новость...
    Есть такая профессия DBA. Там ребята не зря получают свои немаленькие даже по меркам IT-отрасли деньги.
    В общем вам в Google с "CouchDB Compaction", и учиться, учиться и учиться...  
     
     
  • 7.25, t28 (?), 09:35, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы наверное думали, что CouchDB это что-то

    Ничего такого я не думал. Думал я совершенно о другом.

    > Есть такая профессия DBA. Там ребята не зря получают свои
    > немаленькие даже по меркам IT-отрасли деньги.

    Те DBA, что получают немалые меркам IT-отрасли деньги на вопрос о том, слышали ли они что такое CouchDB, вероятно, скажут "Что за х№%;%ня?" А когда им объяснят, что это такая БД на питоне, то будут долго смеяться, держась за живот.

    > В общем вам в Google с "CouchDB Compaction"

    При чём тут я? Я не DBA. И по чём я знаю, может это совершенно "нормальный" размер БД для chef.

     
     
  • 8.27, northbear (??), 13:17, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Слышали и уж смеяться точно не будут Еrlang это вообще особая песня Специфичес... текст свёрнут, показать
     
  • 4.20, develop7 (ok), 13:46, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Теоретическая или реальная?
     
  • 4.30, Аноним (-), 21:18, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Тормознутость и ресурсоёмкость?

    это ты свои свойства проецируешь

     
  • 2.17, GentooBoy (ok), 11:36, 13/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Во первых она не вся на Erlang написана, нужно выбирать язык под задачи.
     
  • 2.24, northbear (ok), 01:50, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > База данных на Erlang?
    > Они бы ещё на Питоне её написали...

    Эрланг - это не про скорость, это про надежность. А Питон для подобного применения действительно ботва...

     

  • 1.26, Аноним (-), 11:48, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    На сервере с 2гб памяти и одноядерным процессором с ~1.5млн(1.2гб) записей в базе загрузка CPU при отсутствии запросов 80-100% ... печаль...
     
     
  • 2.28, t28 (?), 13:51, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    На двухпроцовом дуалкоре Xeon с 8 ГБ ОЗУ немного легче, но тоже грустно.
     
  • 2.31, Папа Карло (?), 10:52, 17/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не сервер, это смартфон :D
     
     
  • 3.32, mrtime (?), 11:32, 18/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Смотря с какой стороны посмотреть... Но между тем на этой машине 1.8.1 работал прекрасно
     
  • 3.33, mrtime (?), 11:59, 18/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Но самое забавное что даже при отсутствии записей в couchbase хранилище сразу после создания оного загрузка CPU возрастает до 50-100%, с memcache хранилищами такой анамальной активности нет... да и 2.6Ghz не мало на самом деле, раньше машинки еще и с меньшими характеристиками задачи решали более сложные... а тут пустая база грузит проц на 100% ...
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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