Couchbase Server - Couchbase Server
![]() | |
![]() | |
Vývojáři | Couchbase, Inc. |
---|---|
První vydání | Srpna 2010 |
Stabilní uvolnění | 6.6.0 / 12. srpna 2020 |
Napsáno | C ++, Erlang, C,[1] Jít |
Typ | Databáze více modelů, distribuovaná databáze klíč – hodnota, dokumentově orientovaná databáze |
Licence | Licence Apache 2.0, freemium |
webová stránka | lehátko |

Couchbase Server, původně známý jako Membase, je open-source, distribuováno (architektura nic sdíleného ) multi-model NoSQL dokumentově orientovaná databáze softwarový balíček, který je optimalizován pro interaktivní aplikace. Tyto aplikace mohou sloužit mnoha souběžných uživatelů vytvářením, ukládáním, načítáním, agregací, manipulací a prezentací dat. Na podporu těchto druhů aplikačních potřeb je Couchbase Server navržen tak, aby poskytoval snadno škálovatelný přístup klíč-hodnota nebo dokument JSON s nízkou latencí a vysokou trvalou propustností. Je navržen tak, aby byl seskupený od jednoho stroje po velmi rozsáhlá nasazení zahrnující mnoho strojů.
Couchbase Server poskytl kompatibilitu klientského protokolu s memcached,[2] ale přidán disk vytrvalost, replikace dat, živá rekonfigurace clusteru, rebalancování a multitenancy s rozdělení dat.
Historie produktu
Membase byl vyvinut několika vůdci memcached projekt, který založil společnost NorthScale, aby vyvinul a úložiště klíč – hodnota s jednoduchostí, rychlostí a škálovatelností memcached, ale také s úložištěm, vytrvalostí a schopnostmi dotazování databáze. Do původního zdrojového kódu membrány přispěla společnost NorthScale a spolusponzori projektu Zynga a Naver Corporation (tehdy známý jako NHN) k novému projektu na membase.org v červnu 2010.[3]
8. února 2011 oznámili zakladatelé projektu Membase a Membase, Inc. fúzi se společností CouchOne (společnost s mnoha hlavními hráči za CouchDB ) s přidruženou fúzí projektu. Byla sloučena společnost Couchbase, Inc. V lednu 2012 společnost Couchbase vydala server Couchbase Server 1.8. V září 2012 Orbitz uvedla, že změnila některé ze svých systémů, aby používala Couchbase.[4]V prosinci 2012 byl vydán server Couchbase Server 2.0 (oznámený v červenci 2011), který obsahoval nový JSON ukládání dokumentů, indexování a dotazování, přírůstkové MapReduce a replikace přes datová centra.[5][6]
Architektura
Každý uzel Couchbase se skládá z datové služby, indexové služby, dotazovací služby a komponenty správce klastrů. Počínaje vydáním 4.0 mohou být tyto tři služby v případě potřeby distribuovány tak, aby fungovaly na samostatných uzlech clusteru. Věta CAP „Couchbase je obvykle systém typu CP, což znamená, že poskytuje konzistence a tolerance rozdělení, nebo jej lze nastavit jako systém AP s více klastry.
Správce klastru
Správce clusteru dohlíží na konfiguraci a chování všech serverů v clusteru Couchbase. Konfiguruje a dohlíží na chování mezi uzly, jako je správa toků replikace a operace opětovného vyvážení. Poskytuje také metrické agregační a konsensuální funkce pro klastr a Klidný rozhraní správy klastrů. Správce clusteru používá Erlang programovací jazyk a Otevřená telekomunikační platforma.
Replikace a selhání
Replikace dat v rámci uzlů clusteru lze ovládat pomocí několika parametrů. V prosinci 2012 byla přidána podpora pro replikaci mezi různými datová centra.[5]
Správce dat
Správce dat ukládá a načítá dokumenty v reakci na datové operace z aplikací. Asynchronně zapisuje data na disk po potvrzení klientovi. Ve verzi 1.7 a novější mohou aplikace volitelně zajistit zápis dat na více než jeden server nebo na disk před potvrzením zápisu do klienta. Parametry definují věky položek, které ovlivňují, kdy jsou data přetrvává, a jak maximální paměť a migrace z hlavní paměti je zpracován na disk. Podporuje pracovní sady větší než kvóta paměti na „uzel“ nebo „kbelík“. Externí systémy se mohou přihlásit k odběru filtrovaných datových proudů a podporovat například fulltextové vyhledávání indexování, analytika dat nebo archivace.[7]
Datový formát
Dokument je nejzákladnější jednotkou manipulace s daty na serveru Couchbase. Dokumenty jsou uloženy ve formátu dokumentu JSON bez předdefinovaných schémat. Dokumenty jiné než JSON lze také ukládat na server Couchbase (binární, serializované hodnoty, XML atd.)
Objektově spravovaná mezipaměť
Couchbase Server obsahuje vestavěnou vícevláknovou mezipaměť spravovanou objektem, která implementuje memcached kompatibilní API, jako je get, set, delete, append, prepend atd.
Skladovací motor
Couchbase Server má design úložiště s koncovým připojením, který je imunní vůči poškození dat, OOM zabijáci nebo náhlá ztráta energie. Data se zapisují do datového souboru způsobem pouze pro připojení, což umožňuje Couchbase provádět pro aktualizaci většinou sekvenční zápisy a poskytuje optimalizované přístupové vzory pro disk I / O.
Výkon
Výkonnostní měřítko Altoros v roce 2012 porovnal Couchbase Server s jinými technologiemi.[8]Systémy Cisco v roce 2012 zveřejnila měřítko, které měřilo latenci a propustnost serveru Couchbase se smíšeným vytížením.[9]
Licencování a podpora
Couchbase Server je zabalená verze Couchbase open source software technologie a je k dispozici v komunitní verzi bez nedávných oprav chyb s licencí Apache 2.0[10] a vydání pro komerční použití.[11] Sestavy serveru Couchbase jsou k dispozici pro Ubuntu, Debian, Red Hat, SUSE, Oracle Linux, Microsoft Windows a operační systémy macOS.
Couchbase podporuje sady vývojářů softwaru pro programovací jazyky .SÍŤ, PHP, Rubín, Krajta, C, Node.js, Jáva, Jít, a Scala.
N1QL
A dotazovací jazyk pro manipulaci s daty JSON v Couchbase se používá N1QL (vyslovuje se nikl), stejně jako SQL manipuluje s daty v RDBMS. Má příkazy SELECT, INSERT, UPDATE, DELETE, MERGE, které fungují na datech JSON. Bylo oznámeno v březnu 2015 jako „SQL pro dokumenty“.[12]
N1QL datový model je ne první normální forma (N1NF) s podporou vnořených atributů a orientovaných na doménu normalizace. Datový model N1QL je také vhodnou nadmnožinou a zobecněním relační model.
Příklad
{ "e-mailem": „[email protected]“, "přátelé": [ {"název": "rick"}, {"název": "cate"} ]}
- Jako dotaz
VYBRAT * Z `Kbelík` KDE e-mailem JAKO "%@example.org";
- Pole dotazu
VYBRAT * Z `Kbelík` KDE ŽÁDNÝ X V přátelé SPLŇUJE X.název = "cate" KONEC;
Couchbase Mobile
Couchbase Mobile je sada produktů poskytujících NoSQL databáze a replikaci dat pro mobilní a vestavěná zařízení.[13]
Couchbase Lite (původně TouchDB) poskytuje nativní knihovny pro offline databáze NoSQL s vestavěným peer-to-peer nebo klient-server replikační mechanismy.[14]Synchronizovat bránu spravuje zabezpečený přístup a synchronizaci dat mezi Couchbase Lite a Couchbase Server.[15]
Bibliografie
- Brown, MC (22. června 2012). Začínáme se serverem Couchbase (1. vyd.). O'Reilly Media. str. 88. ISBN 978-1449331061.
- Ostrovský, David; Haji, Mohammed; Rodenski, Yaniv (26. listopadu 2015), Pro Couchbase Server 2. vydání. (2. vyd.), Apress, str. 349, ISBN 978-1484211861
- Potsangbam, Henry (23. listopadu 2015), Učení Couchbase (1. vyd.), Packt, str. 202, ISBN 978-1785288593
- Vohra, Deepak (3. srpna 2015), Pro Couchbase Development: Platforma NoSQL pro podniky (1. vyd.), Apress, str. 331, ISBN 978-1484214350
- Sangudi, Gerald; et al. (20. října 2017), N1QL: Praktický průvodce (2. vydání) (2. vyd.), Vlastní vydání, str. 423
- Vemulapalli, Sitaram; atd. (10. května 2018), Průvodce funkcemi N1QL v Couchbase 5.5: Special Edition, Self-publikoval, str. 112
- Chamberlin, Don; (19. října 2018) SQL ++ pro uživatele SQL: Výukový program, Couchbase
Reference
- ^ Damien Katz (8. ledna 2013). „Nerozumná účinnost C“. Citováno 30. září 2016.
- ^ „NewProtocols - memcached - Klingon - Memcached - Google Project Hosting“. 2011-08-22. Citováno 2013-06-04.
- ^ Shashank Tiwari (31. srpna 2011). Profesionální NoSQL. John Wiley & Sons. str. 15–16. ISBN 9781118167809.
- ^ „Vyrovnávání Oracle a otevřeného zdroje na Orbitzu“. GigaOM. 21. září 2012. Citováno 19. září 2016.
- ^ A b Andrew Brust (12. prosince 2012). „Vydána Couchbase 2.0; implementuje úložiště dokumentů JSON“. ZDNet.
- ^ Derrick Harris (29. července 2011). „Couchbase jde 2.0, tlačí SQL pro NoSQL“. GigaOm. Citováno 19. září 2016.
- ^ Trond Norbye (15. března 2010). „Chcete vědět, co dělají vaše memcached servery? Klepněte na ně“. Couchbase blog.
- ^ Frank Weigel (30. října 2012). „Benchmarking Couchbase“. Couchbase. Citováno 30. září 2016.
- ^ „Společnosti Cisco a Solarflare dosáhly dramatického snížení latence pro interaktivní webové aplikace pomocí Couchbase, databáze NoSQL“ (PDF). Systémy Cisco. 18. června 2012. Archivovány od originál (PDF) 13. srpna 2012. Citováno 7. října 2016.
- ^ „Couchbase Open Source Projects“. Web společnosti Couchbase. Citováno 7. října 2016.
- ^ „Couchbase Server Editions“. Couchbase.
- ^ Andy Slater (24. března 2015). „Ssssh! Nikomu to neříkej, ale Couchbase je seriózní uchazeč: Couchbase Live Europe 2015“. Citováno 13. února 2018.
- ^ „Couchbase Mobile Database - Android & iOS SQLite Alternative“. www.couchbase.com. Citováno 11. května 2020.
- ^ „Lite | Couchbase“. www.couchbase.com. Citováno 11. května 2020.
- ^ „Sync Gateway | Couchbase“. www.couchbase.com. Citováno 11. května 2020.