URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 87726
[ Назад ]

Исходное сообщение
"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."

Отправлено opennews , 12-Дек-12 22:30 
Анонсирован (http://blog.couchbase.com/announcing-release-couchbase-serve...) релиз проекта Couchbase Server 2.0 (http://www.couchbase.com/couchbase-server/overview), в рамках которого развивается NoSQL-система, предоставляющая похожие на Apache CouchDB (http://www.opennet.me/opennews/art.shtml?num=30807) средства для создания документ-ориентированных баз данных в сочетании с напоминающими Membase (http://www.opennet.me/opennews/art.shtml?num=28267) хранилищами в формате ключ-значение. При этом, благодаря поддержке стандартного протокола memcached, система остаётся совместимой с большим число уже имеющихся приложений и может выступать в роли прозрачной замены других NoSQL-систем.


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


Помимо возможности хранения данных в формате ключ/значения, Couchbase Server позволяет использовать концепцию документ-ориентированного хранилища, в котором в качестве единицы хранения данных выступает документ, имеющий уникальный идентификатор, версию и содержащий произвольный набор именованных полей в формате ключ/значение. Используемая в Couchbase Server модель данных позволяет (http://www.couchbase.com/docs/couchbase-devguide-2.0/modelin...) определять документы в формате JSON, снимая с разработчика необходимость определения схемы хранения. Поддерживается создание первичных и вторичных индексов, а также индексов по нескольким ключам. Для дополнительной оптимизации производительности  применяются  встроенные механизмы кэширования в оперативной памяти и средства автоматической генерации индексов.


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


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

Код системы распространяется (http://www.couchbase.com/couchbase-open-source-project) под лицензией Apache.  Помимо полностью открытого варианта Couchbase Server 2.0 поставляется (http://www.couchbase.com/download) коммерческий продукт на его основе, отличающийся (http://www.couchbase.com/couchbase-server/editions) предоставлением технической поддержки, наличием канала оперативной доставки обновлений и более интенсивным тестированием сборок (кодовая база для коммерческой и свободной редакции полностью идентична). Для разработки приложений на языках Java, Ruby, .NET, C, PHP и Python подготовлены специальные SDK (http://www.couchbase.com/develop).

URL: http://blog.couchbase.com/announcing-release-couchbase-serve...
Новость: http://www.opennet.me/opennews/art.shtml?num=35584


Содержание

Сообщения в этом обсуждении
"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено Xasd , 12-Дек-12 22:30 
> Код системы распространяется под лицензией Apache.

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


"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено o , 12-Дек-12 22:59 
Отлчно. Как оно с условными выборками по нескольким ключам? А то в couchDB с этим совсем никак :(

"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено o , 12-Дек-12 23:07 
Ищу вот базу для задачи с поиском объектов по атрибутам с условиями И и ИЛИ. Пока нашел только 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 не предлагать по религиозным причинам.


"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено VoDA , 13-Дек-12 00:56 
> WHERE
> (tag1 = val1 OR tag = 'default') AND
> (tag2 = val2 OR tag = 'default') AND
> (tag3 = val3 OR tag = 'default') AND ...

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

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


"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено buryat , 13-Дек-12 05:26 
Вы не умеете писать SQL

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

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


"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено auk , 13-Дек-12 06:57 
скорее уж так:
WHERE tag = 'default' AND (tag1 = val1 OR tag2 = val2 OR tag3 = val3) AND …

"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено o , 13-Дек-12 08:21 
Безграмотность не воробей, вылетит не поймешь :).
Все три приведенных запроса реализуют разную логику.
Марш в школу!

"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено SubGun , 13-Дек-12 10:34 
Опередил) Хорошо сказано.

"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено piteri , 13-Дек-12 09:25 
Всем советчикам срочно гуглить про дистрибутивность.

"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено 1 , 13-Дек-12 10:45 
:)
(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...


"Релиз Couchbase Server 2.0, сочетающего возможности CouchDB,..."
Отправлено Пингвино , 13-Дек-12 09:39 
> MongoDB не предлагать по религиозным причинам.

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено t28 , 13-Дек-12 11:12 
База данных на Erlang?
Они бы ещё на Питоне её написали...

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено 1 , 13-Дек-12 11:17 
> База данных на Erlang?
> Они бы ещё на Питоне её написали...

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено 1 , 13-Дек-12 11:18 
>> База данных на Erlang?
>> Они бы ещё на Питоне её написали...
> что-то есть против? Огласите пож-та :)

про Erlang


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено t28 , 13-Дек-12 12:09 
> что-то есть против?

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено 1 , 13-Дек-12 12:26 
>> что-то есть против?
> Тормознутость и ресурсоёмкость?

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено t28 , 13-Дек-12 14:53 
> с чего такое мнение?

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

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено develop7 , 13-Дек-12 15:34 
> Да, сам chef на Ruby, использует для своей работы две базы данных ---- одна ---- Solar ---- на Java-е, другая ---- CouchDB ---- на Erlang. В общем, ужоснах... За 3 месяца пыток всего лишь на 20-ти компах база chef CouchDB разрослась до 26 Гигабайт. Это полный "Пэ"...

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено northbear , 14-Дек-12 01:47 
Вы наверное думали, что CouchDB это что-то типа MS Access'a только на Linux, да? Так вот, у меня для вас плохая новость...
Есть такая профессия DBA. Там ребята не зря получают свои немаленькие даже по меркам IT-отрасли деньги.
В общем вам в Google с "CouchDB Compaction", и учиться, учиться и учиться...  

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено t28 , 14-Дек-12 09:35 
> Вы наверное думали, что CouchDB это что-то

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

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

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

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

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено northbear , 14-Дек-12 13:17 
> Те DBA, что получают немалые меркам IT-отрасли деньги на вопрос о том,
> слышали ли они что такое CouchDB, вероятно, скажут "Что за х№%;%ня?"
> А когда им объяснят, что это такая БД на питоне, то
> будут долго смеяться, держась за живот.

Слышали и уж смеяться точно не будут. Еrlang это вообще особая песня. Специфический язык для специфических задач, где равных ему нет. Сравнивать его с Python'ом это всё равно, что сравнивать самолёт с космическим кораблем. И тот и другой летает, но разница...

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

Тогда вас ничего удивлять не должно. ))


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено develop7 , 13-Дек-12 13:46 
Теоретическая или реальная?

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено Аноним , 14-Дек-12 21:18 
> Тормознутость и ресурсоёмкость?

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено GentooBoy , 13-Дек-12 11:36 
Во первых она не вся на Erlang написана, нужно выбирать язык под задачи.

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено northbear , 14-Дек-12 01:50 
> База данных на Erlang?
> Они бы ещё на Питоне её написали...

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


"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено Аноним , 14-Дек-12 11:48 
На сервере с 2гб памяти и одноядерным процессором с ~1.5млн(1.2гб) записей в базе загрузка CPU при отсутствии запросов 80-100% ... печаль...

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено t28 , 14-Дек-12 13:51 
На двухпроцовом дуалкоре Xeon с 8 ГБ ОЗУ немного легче, но тоже грустно.

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено Папа Карло , 17-Дек-12 10:52 
Это не сервер, это смартфон :D

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено mrtime , 18-Дек-12 11:32 
Смотря с какой стороны посмотреть... Но между тем на этой машине 1.8.1 работал прекрасно

"Релиз БД Couchbase Server 2.0, сочетающей возможности CouchD..."
Отправлено mrtime , 18-Дек-12 11:59 
Но самое забавное что даже при отсутствии записей в couchbase хранилище сразу после создания оного загрузка CPU возрастает до 50-100%, с memcache хранилищами такой анамальной активности нет... да и 2.6Ghz не мало на самом деле, раньше машинки еще и с меньшими характеристиками задачи решали более сложные... а тут пустая база грузит проц на 100% ...