Jump to content

Сервер Couchbase

(Перенаправлено с Couchbase Lite )
Сервер Couchbase
Разработчик(и) Коучбейс, Инк.
Первоначальный выпуск август 2010 г. ( 2010-08 )
Стабильная версия
7.6.2 / 19 июля 2024 г. ( 19.07.2024 )
Репозиторий
Написано в С++ , Эрланг , С , [ 1 ] Иди , Ява
Тип Многомодельная база данных , распределенная база данных «ключ-значение» , документо-ориентированная база данных , база данных JSON
Лицензия БСЛ 1.1, [ 2 ] фримиум
Веб-сайт www .couchbase
Couchbase на саммите AWS

Couchbase Server , первоначально известный как Membase , представляет собой доступный исходный код , [ 2 ] распределенный ( архитектура без разделяемого доступа ) многомодельный программный пакет NoSQL, ориентированный на документацию базы данных, оптимизированный для интерактивных приложений. Эти приложения могут обслуживать множество одновременных пользователей , создавая, храня, извлекая, агрегируя, манипулируя и представляя данные. Для поддержки такого рода потребностей приложений Couchbase Server предназначен для обеспечения простого в масштабировании доступа к ключам или документам JSON с низкой задержкой и высокой устойчивой пропускной способностью. Он предназначен для кластеризации от одной машины до очень крупномасштабных развертываний, охватывающих множество машин.

Couchbase Server обеспечил совместимость клиентского протокола с memcached , [ 3 ] но добавлено сохранение диска , репликация данных , реконфигурация живого кластера, ребалансировка и мультитенантность с секционированием данных .

История продукта

[ редактировать ]

Membase была разработана несколькими лидерами проекта memcached , которые основали компанию NorthScale для разработки хранилища ключей-значений , обладающего простотой, скоростью и масштабируемостью memcached, а также возможностями хранения, устойчивости и выполнения запросов, присущими базе данных. Исходный код membase был предоставлен NorthScale и со-спонсорами проекта Zynga и Naver Corporation (тогда известной как NHN) для нового проекта на membase.org в июне 2010 года. [ 4 ]

8 февраля 2011 года основатели проекта Membase и Membase, Inc. объявили о слиянии с CouchOne (компанией, в которой многие из основных игроков стоят за CouchDB ) с соответствующим слиянием проектов. Объединенная компания получила название Couchbase, Inc. В январе 2012 года Couchbase выпустила Couchbase Server 1.8. В сентябре 2012 года Orbitz заявила, что изменила некоторые из своих систем для использования Couchbase. [ 5 ] В декабре 2012 года был выпущен Couchbase Server 2.0 (анонсированный в июле 2011 года), который включал новое хранилище документов JSON , индексацию и запросы, инкрементальный MapReduce и репликацию между центрами обработки данных . [ 6 ] [ 7 ]

Архитектура

[ редактировать ]

Каждый узел Couchbase состоит из службы данных, службы индексирования, службы запросов и компонента менеджера кластера. Начиная с версии 4.0, при необходимости три службы можно распределить для запуска на отдельных узлах кластера. Говоря языком теоремы CAP Эрика Брюэра , Couchbase обычно представляет собой систему типа CP, что означает, что она обеспечивает согласованность и устойчивость к разделению , или ее можно настроить как систему AP с несколькими кластерами.

Менеджер кластера

[ редактировать ]

Менеджер кластера контролирует конфигурацию и поведение всех серверов в кластере Couchbase. Он настраивает и контролирует поведение между узлами, например управление потоками репликации и операции повторной балансировки. Он также предоставляет функции агрегирования метрик и консенсуса для кластера, а также интерфейс управления кластером RESTful . Менеджер кластера использует язык программирования Erlang и Open Telecom Platform .

Репликация и отказоустойчивость

[ редактировать ]

Репликацией данных внутри узлов кластера можно управлять с помощью нескольких параметров. В декабре 2012 года была добавлена ​​поддержка репликации между разными дата-центрами . [ 6 ]

Менеджер данных

[ редактировать ]

Диспетчер данных сохраняет и извлекает документы в ответ на операции с данными из приложений. Он асинхронно записывает данные на диск после подтверждения клиенту. В версии 1.7 и более поздних приложения могут дополнительно гарантировать запись данных на несколько серверов или на диск, прежде чем подтверждать запись клиенту. Параметры определяют возраст элементов, который влияет на то, когда данные сохраняются, а также на то, как обрабатывается максимальный объем памяти и миграция из основной памяти на диск. Он поддерживает рабочие наборы, превышающие квоту памяти на «узел» или «корзину». Внешние системы могут подписываться на отфильтрованные потоки данных, поддерживая, например, полнотекстового поиска индексирование , анализ данных или архивирование. [ 8 ]

Формат данных

[ редактировать ]

Документ — это основная единица манипулирования данными на Couchbase Server. Документы хранятся в формате JSON без предопределенных схем. Документы, отличные от JSON, также могут храниться на сервере Couchbase (двоичные, сериализованные значения, XML и т. д.).

Кэш, управляемый объектами

[ редактировать ]

Couchbase Server включает в себя встроенный многопоточный объектно-управляемый кеш , который реализует API-интерфейсы, совместимые с memcached, такие как получение, установка, удаление, добавление, добавление в начало и т. д.

Механизм хранения

[ редактировать ]

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

Производительность

[ редактировать ]

Тест производительности, проведенный Altoros в 2012 году, сравнивал Couchbase Server с другими технологиями. [ 9 ] В 2012 году Cisco Systems опубликовала тест, измеряющий задержку и пропускную способность сервера Couchbase со смешанной рабочей нагрузкой. [ 10 ]

Лицензирование и поддержка

[ редактировать ]

Couchbase Server — это упакованная версия технологии программного обеспечения Couchbase с открытым исходным кодом , доступная в версии для сообщества без недавних исправлений ошибок с лицензией Apache 2.0. [ 11 ] и издание для коммерческого использования. [ 12 ] Сборки Couchbase Server доступны для Ubuntu, Debian, Red Hat, SUSE, Oracle Linux, Microsoft Windows операционных систем и macOS.

Couchbase поддерживает наборы разработчиков программного обеспечения для языков программирования .NET , PHP , Ruby , Python , C , Node.js , Java , Go и Scala .

Язык запросов под названием SQL++ (ранее называвшийся N1QL) используется для управления данными JSON в Couchbase точно так же, как SQL манипулирует данными в СУБД. Он имеет операторы SELECT, INSERT, UPDATE, DELETE, MERGE для работы с данными JSON. Первоначально он был анонсирован в марте 2015 года как «SQL для документов». [ 13 ]

SQL++ Модель данных представляет собой непервую нормальную форму (N1NF) с поддержкой вложенных атрибутов и доменно-ориентированной нормализации . Модель данных SQL++ также является надлежащим расширением и обобщением реляционной модели .

{
  "email": "[email protected]",
  "friends": [
    { "name": "Pavan" },
    { "name": "Ravi" }
  ]
}
Нравится запрос
SELECT * FROM `bucket` WHERE email LIKE "%@example.org";
Запрос массива
SELECT * FROM `bucket` WHERE ANY x IN friends SATISFIES x.name = "Pavan" END;

Couchbase Mobile

[ редактировать ]

Couchbase Mobile/Couchbase Lite — это мобильная база данных , обеспечивающая репликацию данных. [ 14 ]

Couchbase Lite (первоначально TouchDB) предоставляет собственные библиотеки для автономных баз данных NoSQL со встроенными механизмами одноранговой или клиент-серверной репликации. [ 15 ] Sync Gateway управляет безопасным доступом и синхронизацией данных между Couchbase Lite и Couchbase Server. [ 16 ]

Использование

[ редактировать ]

Couchbase зародился как эволюция Memcached , высокоскоростного кэша данных, и может использоваться в качестве замены Memcached, обеспечивая высокую доступность приложения memcached без изменений кода. [ 17 ]

Couchbase используется для поддержки приложений, где требуются гибкая модель данных, легкая масштабируемость и стабильно высокая производительность, например отслеживание активности пользователей в реальном времени или предоставление хранилища пользовательских настроек или онлайн-приложений. [ 18 ]

Couchbase Mobile, который хранит данные локально на устройствах (обычно мобильных устройствах), используется для создания «автономных» приложений, которые могут работать, когда устройство не подключено к сети, и синхронизироваться с Couchbase Server после восстановления сетевого подключения. [ 19 ]

Лаборатория Catalyst в Северо-Западном университете использует Couchbase Mobile для поддержки приложения Evo, программы исследований здорового образа жизни, где данные используются, чтобы помочь участникам улучшить качество питания, физическую активность, стресс или сон. [ 20 ]

Amadeus использует Couchbase с Apache Kafka для поддержки своей «открытой, простой и гибкой» стратегии по использованию и интеграции данных о программах лояльности для авиакомпаний и других туристических партнеров. Высокая масштабируемость необходима, когда разрушительные туристические события создают необходимость распознавать и компенсировать дорогостоящие клиенты. [ 21 ]

Начиная с 2012 года, он играл роль в серверное системах кэширования LinkedIn, включая кэширование для продуктов для рекрутеров и вакансий, счетчики для механизмов защиты безопасности и для внутренних приложений. [ 22 ]

Альтернативы

[ редактировать ]

За кеширование Couchbase конкурирует с Memcached и Redis . Что касается баз данных документов, Couchbase конкурирует с другими системами баз данных, ориентированными на документы . Его обычно сравнивают с MongoDB , Amazon DynamoDB , Oracle RDBMS , DataStax , Google Bigtable , MariaDB , IBM Cloudant , Redis Enterprise , SingleStore и MarkLogic . [ 23 ] [ 24 ]

Библиография

[ редактировать ]
  • Браун, MC (22 июня 2012 г.). Начало работы с Couchbase Server (1-е изд.). О'Рейли Медиа. п. 88. ИСБН  978-1449331061 .
  • Островский, Давид; Хаджи, Мохаммед; Роденски, Янив (26 ноября 2015 г.), Pro Couchbase Server, 2-е изд. (2-е изд.), Апресс , с. 349, ISBN  978-1484211861
  • Потсангбам, Генри (23 ноября 2015 г.), Learning Couchbase (1-е изд.), Packt , стр. 202, ISBN  978-1785288593
  • Вохра, Дипак (3 августа 2015 г.), Pro Couchbase Development: платформа NoSQL для предприятия (1-е изд.), Apress , стр. 331, ISBN  978-1484214350
  • Отец, Джеральд; и др. (20 октября 2017 г.), N1QL: Практическое руководство (2-е издание) (2-е изд.), Самостоятельная публикация , стр. 423
  • Вемулапалли, Ситарам; и др. (10 мая 2018 г.), Руководство по функциям N1QL в Couchbase 5.5: Special Edition , Самостоятельная публикация, стр. 112
  • Чемберлин, Дон ; (19 октября 2018 г.) SQL++ для пользователей SQL: учебное пособие, Couchbase
  1. ^ Дэмиен Кац (8 января 2013 г.). «Необоснованная эффективность C» . Проверено 30 сентября 2016 г.
  2. ^ Перейти обратно: а б «Couchbase принимает лицензию BSL» . Блог Couchbase . 26 марта 2021 г.
  3. ^ «Новые протоколы — memcached — клингонский — Memcached — хостинг проектов Google» . 22 августа 2011 г. Проверено 4 июня 2013 г.
  4. ^ Шашанк Тивари (31 августа 2011 г.). Профессиональный NoSQL . Джон Уайли и сыновья. стр. 15–16. ISBN  9781118167809 .
  5. ^ «Балансирование Oracle и открытого исходного кода в Orbitz» . ГигаОМ . 21 сентября 2012 года . Проверено 19 сентября 2016 г.
  6. ^ Перейти обратно: а б Эндрю Браст (12 декабря 2012 г.). «Выпущена версия Couchbase 2.0; реализовано хранилище документов JSON» . ЗДНет .
  7. ^ Деррик Харрис (29 июля 2011 г.). «Couchbase переходит на версию 2.0, предлагая SQL вместо NoSQL» . ГигаОм . Архивировано из оригинала 2 октября 2016 года . Проверено 19 сентября 2016 г.
  8. ^ Тронд Норбай (15 марта 2010 г.). «Хотите знать, что делают ваши серверы memcached? Коснитесь их» . Блог Couchbase .
  9. ^ Фрэнк Вайгель (30 октября 2012 г.). «Сравнительный анализ Couchbase» . Коучбейс . Проверено 30 сентября 2016 г.
  10. ^ «Cisco и Solarflare добились значительного сокращения задержек для интерактивных веб-приложений с помощью Couchbase, базы данных NoSQL» (PDF) . Сиско Системы . 18 июня 2012 г. Архивировано из оригинала (PDF) 13 августа 2012 г. . Проверено 7 октября 2016 г.
  11. ^ «Проекты Couchbase с открытым исходным кодом» . Веб-сайт Couchbase . Проверено 7 октября 2016 г.
  12. ^ «Серверные версии Couchbase» . Коучбейс. Архивировано из оригинала 27 декабря 2012 г. Проверено 7 декабря 2012 г.
  13. ^ Энди Слейтер (24 марта 2015 г.). «Тсссс! Не говорите никому, но Couchbase — серьезный соперник: Couchbase Live Europe 2015» . Проверено 13 февраля 2018 г.
  14. ^ «DB-Engines: Couchbase, включая мобильные устройства» . DB-двигатели . Архивировано из оригинала 29 июля 2013 г. Проверено 29 июня 2021 г.
  15. ^ «Lite | Couchbase» . www.couchbase.com . Проверено 11 мая 2020 г.
  16. ^ «Синхронизировать шлюз Couchbase» . DB-двигатели . Архивировано из оригинала 29 июля 2013 г. Проверено 29 июня 2021 г.
  17. ^ Жакье, Янник (27 сентября 2016 г.). «Сервер Couchbase как кластер Memcached (часть 2)» . Мир ИТ . Проверено 9 февраля 2022 г.
  18. ^ «Введение в Couchbase — база данных документов NoSQL» . Журнал «Сегодня программное обеспечение» . Проверено 9 февраля 2022 г.
  19. ^ «Коучбейс Мобайл» . Сообщество разработчиков . 6 февраля 2022 г. Проверено 9 февраля 2022 г.
  20. ^ «Как Catalyst Lab компании Northwestern масштабирует программу здорового поведения с помощью Couchbase» . ВенчурБит . 31 декабря 2021 г. Проверено 9 февраля 2022 г.
  21. ^ «Amadeus Loyalty получает награду сообщества Couchbase в категории облачных вычислений» . Группа компаний Амадеус ИТ . 20 января 2022 г.
  22. ^ Майкл Кехо (6 декабря 2017 г.). «Экосистема Couchbase в LinkedIn» . Engineering.linkedin.com . Проверено 9 февраля 2022 г.
  23. ^ Инк, Гартнер. «Основные конкуренты и альтернативы Couchbase — Gartner 2022 — Облачные системы управления базами данных» . Гартнер . Проверено 9 февраля 2022 г. {{cite web}}: |last= имеет общее имя ( справка )
  24. ^ «MongoDB для Couchbase: введение для разработчиков и экспертов — база данных DZone» . dzone.com . Проверено 9 февраля 2022 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 0fdb96518453c7d498f8b3aaf0d4140c__1722584400
URL1:https://arc.ask3.ru/arc/aa/0f/0c/0fdb96518453c7d498f8b3aaf0d4140c.html
Заголовок, (Title) документа по адресу, URL1:
Couchbase Server - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)