
Image by heladodementa on Pixabay · Pixabay License
Couchbase Server
Sign in to saveopen-source NoSQL database
Source code
These are manifests describing the source code which goes into building many Couchbase products. They are intended to be read using the Each product (or family of products) has a top-level directory, containing manifests and subdirectories based on the various releases of those products. When we make a release, we take the manifest emitted from the builder and store it in the released/ directory. This manifest only has exact commit SHAs, so that it explicitly describes which revision was used, in both Couchbase and external repositories. If you want to build the most recent development branch you should use "branch-master.xml" from the top-level directory (located there primarily for historical reasons). After GA of a given release, the "main" manifest will become the manifest for the next point release of that release. Eg. once Mad-Hatter is GA (as 6.5.0), couchbase-server/mad-hatter.xml will start being the manifest for the upcoming 6.5.1 point release. Also at GA, a new manifest couchbase-server/RELEASE/VERSION.xml will be made based on the GA version number (couchbase-server/mad-hatter/6.5.0.xml in the example above). This will be used for maintenance packs, urgent releases, etc, but generally will have very few changes. Other products have similar life-cycles to the above, although many products do not adopt the "code name" methodology and instead simply use the version number for the release name. Some products use slight variations on the above. The toy/ directory is used by Couchbase developers for experimental builds, and so are probably not of interest to anyone not familiar with the context of the experiment.
Excerpt from the source-code README · 2,065 chars · not written by Vinony
Wikidata facts
- Instance of
- document-oriented database management system
- Official website
- www.couchbase.com/products/server
- Image
- Couchbase Server Screenshot.png
- Has use
- multi-model database system
Show 5 more facts
- copyright license
- end-user license agreement
- programmed in
- Erlang
- Commons category
- Databases
- source code repository URL
- github.com/couchbase/manifest
- software version identifier
- 1.7.1.1
Sources (3)
via Wikidata · CC0
Article · Русский
Couchbase (Couchbase Server) — система управления базами данных класса NoSQL, предоставляет сходные с Apache CouchDB средства для создания документоориентированных баз данных в сочетании с -подобными хранилищами в формате «ключ — значение». Благодаря поддержке стандартного протокола memcached, система остаётся совместимой с большим числом унаследованных приложений и может выступать в роли прозрачной замены ряда других NoSQL-систем. Исходный код системы распространяется под лицензией Apache. Создана объединённой командой разработчиков CouchDB и Membase, созданной в результате слияния компаний CouchOne и Membase. В основе движка хранения используются технологии Membase, поверх которого добавлены инструменты для индексации и формирования запросов, заимствованные из CouchDB. Таким образом удалось добиться как совместимости с Apache CouchDB на уровне языка запросов и индексов, так и совместимости с Membase на уровне протокола доступа к данным и управляющего API. Критические части CouchDB были переписаны на языке C++, но многие подсистемы по-прежнему остаются на языке Erlang. Для разработки приложений на языке Java, Ruby, .NET, C/C++, PHP, Node.js, Go и Python подготовлены специальные SDK. Позволяет организовать хранение данных как на одном узле, так и в форме распределённой системы, которая размещает данные поверх группы серверов. Есть встроенные средства для обеспечения высокой доступности, самовосстановления в случае сбоя обслуживающих хранилище узлов (данные могут дублироваться на разных узлах) и построения сегментированных хранилищ, копии которых разнесены по разным дата-центрам. Поддерживаются как однонаправленные («ведущий — ведомый»), так и двунаправленные («ведущий — ведущий») режимы репликации. Поддерживается создание первичных и вторичных индексов, а также . Для дополнительной оптимизации производительности применяются встроенные механизмы кэширования в оперативной памяти и средства автоматической генерации индексов. Кроме возможности хранения данных в формате «ключ — значение», Couchbase позволяет использовать концепцию документоориентированного хранилища, в котором в качестве единицы хранения данных выступает документ, который имеет уникальный идентификатор, версию и содержит произвольный набор именованных полей в формате «ключ — значение». Используемая модель данных позволяет определять документы в формате JSON, снимая с разработчика необходимость определения схемы хранения. Запросы и индексация данных могут выполняться в соответствии с парадигмой MapReduce. Для организации псевдоструктурированного набора данных из произвольных документов предлагается концепция формирования представлений (view). Для формирования логики выборки используется язык JavaScript. Также для доступа к JSON-данным реализован специализированный SQL-подобный язык запросов N1QL (от англ. N1NF QL; non-1st normal form query language; произносят сходно с nickel), поддерживающий операторы <a href="/wiki/Select_(SQL)" title="Select (SQL)">SELECT</a> (с группировками и ограниченными типами соединений), <a href="/wiki/Insert_(SQL)" title="Insert (SQL)">INSERT</a>, <a href="/wiki/Update_(SQL)" title="Update (SQL)">UPDATE</a>, <a href="/wiki/Delete_(SQL)" title="Delete (SQL)">DELETE</a>, <a href="/w/index.php?title=UPSERT&action=edit&redlink=1" class="new" title="UPSERT (страница отсутствует)">UPSERT</a> (вставка или обновление при наличии записи с данным ключом, впоследствии был поддержан и более общий оператор — <a href="/wiki/Merge_(SQL)" title="Merge (SQL)">MERGE</a>).
Abstract from DBpedia / Wikipedia · CC BY-SA