Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Couchbase Server

From Wikipedia, the free encyclopedia
Not to be confused withApache CouchDB.
Open-source NoSQL database
Couchbase Server
Couchbase Server Screenshot
DeveloperCouchbase, Inc.
Initial releaseAugust 2010 (2010-08)
Stable release
8.0.0 / October 21, 2025 (2025-10-21)
Written inC++,Erlang,C,[1]Go,Java
TypeMulti-model database,distributed key-value database,document-oriented database,JSON database
LicenseBSL 1.1,[2]freemium
Websitewww.couchbase.com
Repository
Couchbase at AWS Summit

Couchbase Server, originally known asMembase, is asource-available,[2] distributed (shared-nothing architecture)multi-modelNoSQLdocument-oriented database software package optimized for interactive applications. These applications may serve manyconcurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value, or JSON document access, with low latency and high sustainability throughput. It is designed to beclustered from a single machine to very large-scale deployments spanning many machines.

Couchbase Server provided client protocol compatibility withmemcached,[3] but added diskpersistence,data replication, live cluster reconfiguration, rebalancing andmultitenancy withdata partitioning.

Product history

[edit]

Membase was developed by several leaders of thememcached project, who had founded a company, NorthScale, to develop akey-value store with the simplicity, speed, and scalability of memcached, but also the storage, persistence and querying capabilities of a database. The original membase source code was contributed by NorthScale, and project co-sponsorsZynga andNaver Corporation (then known as NHN) to a new project on membase.org in June 2010.[4]

On February 8, 2011, the Membase project founders and Membase, Inc. announced a merger with CouchOne (a company with many of the principal players behindCouchDB) with an associated project merger. The merged company was calledCouchbase, Inc. In January 2012, Couchbase released Couchbase Server 1.8. In September of 2012,Orbitz said it had changed some of its systems to use Couchbase.[5]In December of 2012, Couchbase Server 2.0 (announced in July 2011) was released and included a newJSON document store, indexing and querying, incrementalMapReduce andreplication acrossdata centers.[6][7]

Architecture

[edit]

Every Couchbase node consists of a data service, index service, query service, and cluster manager component. Starting with the 4.0 release, the three services can be distributed to run on separate nodes of the cluster if needed.In the parlance of Eric Brewer'sCAP theorem, Couchbase is normally a CP type system meaning it providesconsistency andpartition tolerance, or it can be set up as an AP system with multiple clusters.

Cluster manager

[edit]

The cluster manager supervises the configuration and behavior of all the servers in a Couchbase cluster. It configures and supervises inter-node behavior like managing replication streams and re-balancing operations. It also provides metric aggregation and consensus functions for the cluster, and aRESTful cluster management interface. The cluster manager uses theErlang programming language and theOpen Telecom Platform.

Replication and fail-over

[edit]

Data replication within the nodes of a cluster can be controlled with several parameters.In December of 2012, support was added for replication between differentdata centers.[6]

Data manager

[edit]

The data manager stores and retrieves documents in response to data operations from applications.It asynchronously writes data to disk after acknowledging to the client. In version 1.7 and later, applications can optionally ensure data is written to more than one server or to disk before acknowledging a write to the client.Parameters define item ages that affect when data is persisted, and how max memory and migration from main-memory to disk is handled.It supports working sets greater than a memory quota per "node" or "bucket".External systems can subscribe to filtered data streams, supporting, for example,full text search indexing,data analytics or archiving.[8]

Data format

[edit]

A document is the most basic unit of data manipulation in Couchbase Server. Documents are stored in JSON document format with no predefined schemas. Non-JSON documents can also be stored in Couchbase Server (binary, serialized values, XML, etc.)

Object-managed cache

[edit]

Couchbase Server includes a built-in multi-threaded object-managedcache that implements memcached compatible APIs such as get, set, delete, append, prepend etc.

Storage engine

[edit]

Couchbase Server has a tail-append storage design that is immune to data corruption,OOM killers or sudden loss of power. Data is written to the data file in an append-only manner, which enables Couchbase to do mostly sequential writes for update, and provide an optimized access patterns for disk I/O.

Performance

[edit]

A performance benchmark done byAltoros in 2012, compared Couchbase Server with other technologies.[9]Cisco Systems published a benchmark that measured the latency and throughput of Couchbase Server with a mixed workload in 2012.[10]

Licensing and support

[edit]

Couchbase Server is a packaged version of Couchbase'sopen source software technology and is available in a community edition without recent bug fixes with an Apache 2.0 license[11] and an edition for commercial use.[12] Couchbase Server builds are available for Ubuntu, Debian, Red Hat, SUSE, Oracle Linux,Microsoft Windows and macOS operating systems.

Couchbase has supported software developers' kits for the programming languages.NET,PHP,Ruby,Python,C,Node.js,Java,Go, andScala.

SQL++

[edit]

Aquery language called SQL++ (formerly called N1QL), is used for manipulating the JSON data in Couchbase, just like SQL manipulates data in RDBMS. It has SELECT, INSERT, UPDATE, DELETE, MERGE statements to operate on JSON data.It was initially announced in March 2015 as "SQL for documents".[13]

The SQL++data model isnon-first normal form (N1NF) with support for nested attributes and domain-orientednormalization. The SQL++ data model is also a proper superset and generalization of therelational model.

Example

[edit]
{"email":"testme@example.org","friends":[{"name":"Pavan"},{"name":"Ravi"}]}
Like query
SELECT*FROM`bucket`WHEREemailLIKE"%@example.org";
Array query
SELECT*FROM`bucket`WHEREANYxINfriendsSATISFIESx.name="Pavan"END;

Couchbase Mobile

[edit]

Couchbase Mobile / Couchbase Lite is amobile database providing data replication.[14]

Couchbase Lite (originally TouchDB) provides native libraries for offline-first NoSQL databases with built-inpeer-to-peer orclient-server replication mechanisms.[15]Sync Gateway manages secure access and synchronization of data between Couchbase Lite and Couchbase Server.[16]

Couchbase Lite added support forVector Search in version 3.2,[17] allowing cloud to edge support for vector search in mobile applications.

Uses

[edit]

Couchbase began as an evolution ofMemcached, a high-speed data cache, and can be used as a drop-in replacement for Memcached, providing high availability for memcached application without code changes.[18]

Couchbase is used to support applications where a flexible data model, easy scalability, and consistent high performance are required, such as tracking real-time user activity or providing a store of user preferences or online applications.[19]

Couchbase Mobile, which stores data locally on devices (usually mobile devices) is used to create “offline-first” applications that can operate when a device is not connected to a network and synchronize with Couchbase Server once a network connection is re-established.[20]

The Catalyst Lab atNorthwestern University uses Couchbase Mobile to support the Evo application, a healthy lifestyle research program where data is used to help participants improve dietary quality, physical activity, stress, or sleep.[21]

Amadeus uses Couchbase withApache Kafka to support their “open, simple, and agile” strategy to consume and integrate data on loyalty programs for airline and other travel partners. High scalability is needed when disruptive travel events create a need to recognize and compensate high value customers.[22]

Starting in 2012, it played a role inLinkedIn's caching systems, includingbackendcaching for recruiter and jobs products, counters for security defense mechanisms, for internal applications.[23]

Alternatives

[edit]

For caching, Couchbase competes withMemcached andRedis.For document databases, Couchbase competes with otherdocument-oriented database systems. It is commonly compared withMongoDB,Amazon DynamoDB,Oracle RDBMS,DataStax,Google Bigtable,MariaDB,IBM Cloudant,Redis Enterprise,SingleStore, andMarkLogic.[24][25]

Bibliography

[edit]

References

[edit]
  1. ^Damien Katz (January 8, 2013)."The Unreasonable Effectiveness of C". RetrievedSeptember 30, 2016.
  2. ^ab"Couchbase Adopts BSL License".The Couchbase Blog. 26 March 2021.
  3. ^"NewProtocols - memcached - Klingon - Memcached - Google Project Hosting". 2011-08-22. Retrieved2013-06-04.
  4. ^Shashank Tiwari (31 August 2011).Professional NoSQL. John Wiley & Sons. pp. 15–16.ISBN 9781118167809.
  5. ^"Balancing Oracle and open source at Orbitz".GigaOM. September 21, 2012. Archived fromthe original on September 23, 2012. RetrievedSeptember 19, 2016.
  6. ^abAndrew Brust (December 12, 2012)."Couchbase 2.0 released; implements JSON document store".ZDNet.
  7. ^Derrick Harris (July 29, 2011)."Couchbase goes 2.0, pushes SQL for NoSQL".GigaOm. Archived fromthe original on October 2, 2016. RetrievedSeptember 19, 2016.
  8. ^Trond Norbye (March 15, 2010)."Want to know what your memcached servers are doing? Tap them".Couchbase blog.
  9. ^Frank Weigel (October 30, 2012)."Benchmarking Couchbase". Couchbase. RetrievedSeptember 30, 2016.
  10. ^"Cisco and Solarflare Achieve Dramatic Latency Reduction for Interactive Web Applications with Couchbase, a NoSQL Database"(PDF).Cisco Systems. June 18, 2012. Archived fromthe original(PDF) on August 13, 2012. RetrievedOctober 7, 2016.
  11. ^"Couchbase Open Source Projects".Couchbase web site. RetrievedOctober 7, 2016.
  12. ^"Couchbase Server Editions". Couchbase. Archived fromthe original on 2012-12-27. Retrieved2012-12-07.
  13. ^Andy Slater (March 24, 2015)."Ssssh! don't tell anyone but Couchbase is a serious contender: Couchbase Live Europe 2015". RetrievedFebruary 13, 2018.
  14. ^"DB-Engines: Couchbase including Mobile".DB-Engines.Archived from the original on 2013-07-29. Retrieved29 June 2021.
  15. ^"Lite | Couchbase".www.couchbase.com. Retrieved11 May 2020.
  16. ^"Sync Gateway Couchbase".DB-Engines.Archived from the original on 2013-07-29. Retrieved29 June 2021.
  17. ^"Vector Search | Couchbase".www.couchbase.com.
  18. ^Jaquier, Yannick (2016-09-27)."Couchbase server as a Memcached cluster (part 2)".IT World. Retrieved2022-02-09.
  19. ^"Introduction to Couchbase - NoSQL Document Database".Today Software Magazine. Retrieved2022-02-09.
  20. ^"Couchbase Mobile".DEV Community. 6 February 2022. Retrieved2022-02-09.
  21. ^"How Northwestern's Catalyst Lab scales healthy behavior program with Couchbase".VentureBeat. 2021-12-31. Retrieved2022-02-09.
  22. ^"Amadeus Loyalty wins the Couchbase Community Award under the Cloud Computing Category".Amadeus IT Group. January 20, 2022.
  23. ^Michael Kehoe (December 6, 2017)."Couchbase Ecosystem at LinkedIn".engineering.linkedin.com. Retrieved2022-02-09.
  24. ^Inc, Gartner."Top Couchbase Competitors and Alternatives - Gartner 2022 - Cloud Database Management Systems".Gartner. Retrieved2022-02-09.{{cite web}}:|last= has generic name (help)
  25. ^"MongoDB to Couchbase: An Introduction to Developers and Experts - DZone Database".dzone.com. Retrieved2022-02-09.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Couchbase_Server&oldid=1319128085"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp