กลับไปหน้าบทความ

อ่าน 6 นาที

เซิร์ฟเวอร์ Couchbase

Couchbase Server ซึ่งเดิมรู้จักกันในชื่อ Membase เป็นซอฟต์แวร์แพ็กเกจ ฐานข้อมูล แบบ NoSQL หลายโมเดลแบบ กระจาย ( สถาปัตยกรรม แบบไม่มีการแชร์ทรัพยากร ) ที่มี ซอร์สโค้ดให้ใช้งานได้ [...

เซิร์ฟเวอร์ Couchbase

เซิร์ฟเวอร์ Couchbase
นักพัฒนาบริษัท Couchbase
ปล่อยสิงหาคม 2553 ( สิงหาคม 2553 )
เวอร์ชันเสถียร
8.0.0 / 21 ตุลาคม 2025 ( 21 ตุลาคม 2025 )
เขียนเป็นC++ , Erlang , C , [ 1 ] Go , Java
พิมพ์ฐานข้อมูลแบบหลายโมเดล , ฐานข้อมูลแบบคีย์-ค่าแบบกระจาย , ฐานข้อมูลแบบเน้นเอกสาร , ฐานข้อมูล JSON
ใบอนุญาตBSL 1.1, [ 2 ]ฟรีเมียม
เว็บไซต์www.couchbase.com
ที่เก็บข้อมูล
  • github.com/couchbase/manifest
Couchbase ในงาน AWS Summit

Couchbase Serverซึ่งเดิมรู้จักกันในชื่อMembaseเป็นซอฟต์แวร์แพ็กเกจฐานข้อมูล แบบ NoSQL หลายโมเดลแบบกระจาย ( สถาปัตยกรรมแบบไม่มีการแชร์ทรัพยากร ) ที่มี ซอร์สโค้ดให้ใช้งานได้[ 2 ] และได้รับการปรับให้เหมาะสมสำหรับแอปพลิเคชันแบบโต้ตอบ แอปพลิเคชันเหล่านี้อาจให้บริการ ผู้ใช้พร้อมกัน จำนวนมาก โดยการสร้าง จัดเก็บ ดึงข้อมูล รวบรวม จัดการ และนำเสนอข้อมูล เพื่อรองรับความต้องการของแอปพลิเคชันประเภทนี้ Couchbase Server ได้รับการออกแบบมาเพื่อให้สามารถเข้าถึงข้อมูลแบบคีย์-ค่า หรือเอกสาร JSON ได้อย่างง่ายดาย มีความหน่วงต่ำ และมีปริมาณงานที่รองรับได้สูง ได้รับการออกแบบให้สามารถจัดกลุ่มได้ตั้งแต่เครื่องเดียวไปจนถึงการใช้งานขนาดใหญ่ที่ครอบคลุมหลายเครื่อง

Couchbase Server ให้ความเข้ากัน ได้ของโปรโตคอลไคลเอ็นต์กับmemcached [ 3 ]แต่เพิ่มการคงอยู่ ของดิสก์ การจำลองข้อมูล การกำหนดค่าคลัสเตอร์แบบเรียลไท ม์การปรับสมดุล และการเช่าหลายรายพร้อม การแบ่งพาร์ติ ชัน ข้อมูล

ประวัติผลิตภัณฑ์

Membase ได้รับการพัฒนาโดยผู้นำหลายคนของ โครงการ memcachedซึ่งได้ก่อตั้งบริษัท NorthScale เพื่อพัฒนาระบบจัดเก็บข้อมูลแบบคีย์-ค่าที่มีความเรียบง่าย ความเร็ว และความสามารถในการขยายขนาดของ memcached รวมถึงความสามารถในการจัดเก็บ การคงอยู่ และการสืบค้นข้อมูลของฐานข้อมูลด้วย ซอร์สโค้ดดั้งเดิมของ membase ได้รับการบริจาคโดย NorthScale และผู้ร่วมสนับสนุนโครงการอย่างZyngaและNaver Corporation (ซึ่งในขณะนั้นรู้จักกันในชื่อ NHN) ให้กับโครงการใหม่บน membase.org ในเดือนมิถุนายน 2010 [ 4 ]

เมื่อวันที่ 8 กุมภาพันธ์ 2554 ผู้ก่อตั้งโครงการ Membase และ Membase, Inc. ประกาศการควบรวมกิจการกับ CouchOne (บริษัทที่มีผู้เล่นหลักหลายคนอยู่เบื้องหลังCouchDB ) พร้อมกับการควบรวมโครงการที่เกี่ยวข้อง บริษัทที่ควบรวมกันมีชื่อว่าCouchbase, Inc.ในเดือนมกราคม 2555 Couchbase ได้เปิดตัว Couchbase Server 1.8 ในเดือนกันยายน 2555 Orbitzกล่าวว่าได้เปลี่ยนระบบบางส่วนไปใช้ Couchbase [ 5 ] ในเดือนธันวาคม 2555 Couchbase Server 2.0 (ประกาศในเดือนกรกฎาคม 2554) ได้ถูกปล่อยออกมา ซึ่งรวมถึง ที่เก็บเอกสาร JSON ใหม่ การจัดทำดัชนีและการสืบค้นMapReduce แบบเพิ่มทีละน้อย และการจำลองแบบข้ามศูนย์ข้อมูล[ 6 ] [ 7 ]

สถาปัตยกรรม

แต่ละโหนดของ Couchbase ประกอบด้วยบริการข้อมูล บริการดัชนี บริการค้นหา และส่วนประกอบตัวจัดการคลัสเตอร์ ตั้งแต่เวอร์ชัน 4.0 เป็นต้นไป บริการทั้งสามสามารถกระจายไปทำงานบนโหนดที่แยกต่างหากของคลัสเตอร์ได้หากจำเป็น ตามทฤษฎีCAP ของ Eric Brewer แล้ว Couchbase โดยปกติจะเป็นระบบประเภท CP ซึ่งหมายความว่าให้ความสอดคล้องและความทนทานต่อการแบ่งพาร์ติชันหรือสามารถตั้งค่าเป็นระบบ AP ที่มีหลายคลัสเตอร์ได้

ผู้จัดการคลัสเตอร์

ตัวจัดการคลัสเตอร์ทำหน้าที่ควบคุมการกำหนดค่าและพฤติกรรมของเซิร์ฟเวอร์ทั้งหมดในคลัสเตอร์ Couchbase โดยจะกำหนดค่าและควบคุมพฤติกรรมระหว่างโหนด เช่น การจัดการสตรีมการจำลองข้อมูลและการปรับสมดุล นอกจากนี้ยังให้ฟังก์ชันการรวบรวมเมตริกและฟังก์ชันฉันทามติสำหรับคลัสเตอร์ และ อินเทอร์เฟซการจัดการคลัสเตอร์ แบบ RESTfulตัวจัดการคลัสเตอร์ใช้ภาษาโปรแกรม Erlangและแพลตฟอร์ม Open Telecom Platform

การจำลองแบบและการสำรองข้อมูลเมื่อเกิดข้อผิดพลาด

การจำลองข้อมูลภายในโหนดของคลัสเตอร์สามารถควบคุมได้ด้วยพารามิเตอร์หลายตัว ในเดือนธันวาคม พ.ศ. 2555 ได้มีการเพิ่มการสนับสนุนการจำลองระหว่างศูนย์ข้อมูลที่ แตกต่างกัน [ 6 ]

ผู้จัดการข้อมูล

ตัวจัดการข้อมูลจะจัดเก็บและเรียกค้นเอกสารเพื่อตอบสนองต่อการดำเนินการข้อมูลจากแอปพลิเคชัน โดยจะเขียนข้อมูลลงดิสก์แบบอะซิงโครนัสหลังจากยืนยันกับไคลเอ็นต์ ในเวอร์ชัน 1.7 และเวอร์ชันต่อมา แอปพลิเคชันสามารถเลือกที่จะตรวจสอบให้แน่ใจว่าข้อมูลถูกเขียนไปยังเซิร์ฟเวอร์มากกว่าหนึ่งเครื่องหรือลงดิสก์ก่อนที่จะยืนยันการเขียนกับไคลเอ็นต์ พารามิเตอร์จะกำหนดอายุของรายการที่มีผลต่อเวลาที่ข้อมูลจะถูกจัดเก็บ และวิธีการจัดการหน่วยความจำสูงสุดและการย้ายข้อมูลจากหน่วยความจำหลักไปยังดิสก์ ระบบรองรับชุดการทำงานที่มีขนาดใหญ่กว่าโควต้าหน่วยความจำต่อ "โหนด" หรือ "บัคเก็ต" ระบบภายนอกสามารถสมัครรับข้อมูลจากสตรีมข้อมูลที่กรองแล้ว ซึ่งรองรับตัวอย่างเช่นการจัดทำดัชนีการค้นหาข้อความเต็มการวิเคราะห์ข้อมูลหรือการเก็บถาวร[ 8 ]

รูปแบบข้อมูล

เอกสารเป็นหน่วยพื้นฐานที่สุดในการจัดการข้อมูลใน Couchbase Server เอกสารจะถูกจัดเก็บในรูปแบบเอกสาร JSON โดยไม่มีโครงสร้างข้อมูลที่กำหนดไว้ล่วงหน้า นอกจากนี้ยังสามารถจัดเก็บเอกสารที่ไม่ใช่ JSON ได้ใน Couchbase Server (เช่น ข้อมูลไบนารี ค่าที่ถูกแปลงเป็นรูปแบบอนุกรม XML เป็นต้น)

แคชที่จัดการโดยวัตถุ

Couchbase Server มี แคชแบบมัลติเธรดที่จัดการโดยอ็อบเจ็กต์ในตัวซึ่งใช้งาน API ที่เข้ากันได้กับ memcached เช่น get, set, delete, append, prepend เป็นต้น

เครื่องจัดเก็บข้อมูล

Couchbase Server ใช้การออกแบบการจัดเก็บข้อมูลแบบเพิ่มข้อมูลต่อท้าย (tail-append) ซึ่งทนทานต่อความเสียหายของข้อมูล ตัวจัดการหน่วยความจำไม่เพียงพอ (OOM killer)หรือไฟฟ้าดับกะทันหัน ข้อมูลจะถูกเขียนลงในไฟล์ข้อมูลในลักษณะเพิ่มข้อมูลต่อท้ายเท่านั้น ซึ่งช่วยให้ Couchbase สามารถเขียนข้อมูลแบบเรียงลำดับเป็นส่วนใหญ่สำหรับการอัปเดต และให้รูปแบบการเข้าถึงที่เหมาะสมที่สุดสำหรับการอ่าน/เขียนดิสก์

ผลงาน

การทดสอบประสิทธิภาพที่ดำเนินการโดยAltorosในปี 2012 ได้เปรียบเทียบ Couchbase Server กับเทคโนโลยีอื่นๆ[ 9 ] Cisco Systemsได้เผยแพร่การทดสอบประสิทธิภาพที่วัดความหน่วงและปริมาณงานของ Couchbase Server ด้วยภาระงานแบบผสมในปี 2012 [ 10 ]

การออกใบอนุญาตและการสนับสนุน

Couchbase Server เป็นเวอร์ชันที่บรรจุของ เทคโนโลยี ซอฟต์แวร์โอเพนซอร์ส ของ Couchbase และมีให้ใช้งานในเวอร์ชันชุมชนที่ไม่มีการแก้ไขข้อบกพร่องล่าสุดภายใต้ใบอนุญาต Apache 2.0 [ 11 ]และเวอร์ชันสำหรับการใช้งานเชิงพาณิชย์[ 12 ] Couchbase Server มีให้ใช้งานสำหรับระบบปฏิบัติการ Ubuntu, Debian, Red Hat, SUSE, Oracle Linux, Microsoft Windowsและ macOS

Couchbase รองรับชุดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ (SDK) สำหรับภาษาโปรแกรมต่างๆ ได้แก่. NET , PHP , Ruby , Python , C , Node.js , Java , GoและScala

SQL++

ภาษาสอบถามที่เรียกว่า SQL++ (เดิมเรียกว่า N1QL) ใช้สำหรับจัดการข้อมูล JSON ใน Couchbase เช่นเดียวกับที่ SQL จัดการข้อมูลใน RDBMS โดยมีคำสั่ง SELECT, INSERT, UPDATE, DELETE, MERGE สำหรับดำเนินการกับข้อมูล JSON มีการประกาศครั้งแรกในเดือนมีนาคม 2015 ในชื่อ "SQL สำหรับเอกสาร" [ 13 ]

แบบจำลองข้อมูล SQL++ เป็นรูปแบบที่ไม่ใช่รูปแบบปกติอันดับแรก (N1NF) โดยรองรับแอตทริบิวต์แบบซ้อนกันและการทำให้เป็นรูปแบบปกติ แบบเน้นโดเมน นอกจากนี้ แบบจำลองข้อมูล SQL++ ยังเป็นซูเปอร์เซตที่เหมาะสมและ เป็นการ ขยายความทั่วไปของแบบจำลองเชิงสัมพันธ์ อีกด้วย

ตัวอย่าง

{ "อีเมล" : "[email protected]" , "เพื่อน" : [ { "ชื่อ" : "Pavan" }, { "ชื่อ" : "Ravi" } ] }
เช่น การสอบถาม
SELECT*FROM`bucket`WHEREemailLIKE"%@example.org";
การค้นหาอาร์เรย์
SELECT*FROM`bucket`WHEREANYxINfriendsSATISFIESx.name="Pavan"END;

Couchbase Mobile

Couchbase Mobile / Couchbase Lite เป็นฐานข้อมูลบนมือถือที่ให้บริการการจำลองข้อมูล[ 14 ]

Couchbase Lite (เดิมชื่อ TouchDB) มีไลบรารีพื้นฐานสำหรับฐานข้อมูล NoSQL แบบออฟไลน์ที่มีกลไกการจำลอง แบบ peer-to-peerหรือclient-server ในตัว [ 15 ] Sync Gatewayจัดการการเข้าถึงและการซิงโครไนซ์ข้อมูลอย่างปลอดภัยระหว่าง Couchbase Lite และ Couchbase Server [ 16 ]

Couchbase Lite เพิ่มการสนับสนุนการค้นหาเวกเตอร์ในเวอร์ชัน 3.2 [ 17 ]ทำให้รองรับการค้นหาเวกเตอร์จากคลาวด์ไปยังอุปกรณ์ปลายทางในแอปพลิเคชันมือถือ

การใช้งาน

Couchbase เริ่มต้นจากการพัฒนาต่อยอดจากMemcachedซึ่งเป็นแคชข้อมูลความเร็วสูง และสามารถใช้แทน Memcached ได้โดยตรง ทำให้แอปพลิเคชัน Memcached มีความพร้อมใช้งานสูงโดยไม่ต้องเปลี่ยนแปลงโค้ด[ 18 ]

Couchbase ใช้เพื่อรองรับแอปพลิเคชันที่ต้องการโมเดลข้อมูลที่ยืดหยุ่น ปรับขนาดได้ง่าย และประสิทธิภาพสูงอย่างสม่ำเสมอ เช่น การติดตามกิจกรรมของผู้ใช้แบบเรียลไทม์ หรือการจัดเก็บการตั้งค่าของผู้ใช้ หรือแอปพลิเคชันออนไลน์[ 19 ]

Couchbase Mobile ซึ่งจัดเก็บข้อมูลในเครื่องบนอุปกรณ์ (โดยปกติคืออุปกรณ์เคลื่อนที่) ใช้ในการสร้างแอปพลิเคชันแบบ "ออฟไลน์เป็นหลัก" ที่สามารถทำงานได้เมื่ออุปกรณ์ไม่ได้เชื่อมต่อกับเครือข่าย และซิงโครไนซ์กับ Couchbase Server เมื่อมีการเชื่อมต่อเครือข่ายอีกครั้ง[ 20 ]

ห้องปฏิบัติการ Catalyst ที่มหาวิทยาลัย Northwesternใช้ Couchbase Mobile เพื่อสนับสนุนแอปพลิเคชัน Evo ซึ่งเป็นโปรแกรมวิจัยเกี่ยวกับวิถีชีวิตที่มีสุขภาพดี โดยใช้ข้อมูลเพื่อช่วยให้ผู้เข้าร่วมปรับปรุงคุณภาพอาหาร กิจกรรมทางกาย ความเครียด หรือการนอนหลับ[ 21 ]

Amadeusใช้ Couchbase ร่วมกับApache Kafkaเพื่อสนับสนุนกลยุทธ์ "เปิดกว้าง เรียบง่าย และคล่องตัว" ในการบริโภคและบูรณาการข้อมูลเกี่ยวกับโปรแกรมสะสมคะแนนสำหรับสายการบินและพันธมิตรการเดินทางอื่นๆ[ 22 ]

เริ่มตั้งแต่ปี 2012 ระบบนี้มีบทบาทในระบบแคชของLinkedIn รวมถึง การแคชแบ็กเอนด์ สำหรับผลิตภัณฑ์ผู้สรรหาและงาน ตัวนับสำหรับกลไกการป้องกันความปลอดภัยสำหรับแอปพลิเคชันภายใน[ 23 ]

ทางเลือกอื่นๆ

สำหรับการแคช Couchbase แข่งขันกับMemcachedและRedisสำหรับฐานข้อมูลเอกสาร Couchbase แข่งขันกับ ระบบ ฐานข้อมูลแบบเอกสาร อื่นๆ โดยทั่วไปจะเปรียบเทียบกับMongoDB , Amazon DynamoDB , Oracle RDBMS , DataStax , Google Bigtable , MariaDB , IBM Cloudant , Redis Enterprise , SingleStoreและMarkLogic [ 24 ] [ 25 ]

บรรณานุกรม

  • Brown, MC (22 มิถุนายน 2012). การเริ่มต้นใช้งาน Couchbase Server (ฉบับพิมพ์ครั้งที่ 1). O'Reilly Media. หน้า 88. ISBN 978-1449331061.
  • ออสตรอฟสกี้, เดวิด; ฮาจิ, โมฮัมเหม็ด; Rodenski, Yaniv (26 พฤศจิกายน 2558), Pro Couchbase Server 2nd ed. (ฉบับพิมพ์ครั้งที่ 2), Apress , p. 349, ไอเอสบีเอ็น 978-1484211861
  • Potsangbam, Henry (23 พฤศจิกายน 2558), Learning Couchbase (ฉบับพิมพ์ครั้งที่ 1), Packt , p. 202, ไอเอสบีเอ็น 978-1785288593
  • โวห์รา, ดีปัก (3 สิงหาคม 2558), การพัฒนา Couchbase ระดับมืออาชีพ: แพลตฟอร์ม NoSQL สำหรับองค์กร (ฉบับพิมพ์ครั้งที่ 1), Apress , หน้า 331, ISBN 978-1484214350
  • สันกุดี, เจอรัลด์; และคณะ (20 ตุลาคม 2017), N1QL: A Practical Guide (2nd Edition) (2nd ed.), Self-published , p. 423
  • Vemulapalli, Sitaram และคณะ (10 พฤษภาคม 2018), คู่มือคุณลักษณะ N1QL ใน Couchbase 5.5: ฉบับพิเศษ , จัดพิมพ์เอง, หน้า 112
  • Chamberlin, Don ; (19 ตุลาคม 2018) SQL++ สำหรับผู้ใช้ SQL: บทช่วยสอน, Couchbase
  • เว็บไซต์อย่างเป็นทางการแก้ไขข้อมูลนี้ได้ที่วิกิดาต้า
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Couchbase_Server&oldid=1359250325 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เซิร์ฟเวอร์ Couchbase

Couchbase Server ซึ่งเดิมรู้จักกันในชื่อ Membase เป็นซอฟต์แวร์แพ็กเกจ ฐานข้อมูล แบบ NoSQL หลายโมเดลแบบ กระจาย ( สถาปัตยกรรม แบบไม่มีการแชร์ทรัพยากร ) ที่มี ซอร์สโค้ดให้ใช้งานได้ [...

ประวัติผลิตภัณฑ์

Membase ได้รับการพัฒนาโดยผู้นำหลายคนของ โครงการ memcached ซึ่งได้ก่อตั้งบริษัท NorthScale เพื่อพัฒนา ระบบจัดเก็บข้อมูลแบบคีย์-ค่าที่ มีความเรียบง่าย ความเร็ว และความสามารถในการขยายขนาดของ memcached รวมถึงความสามารถในการจัดเก็บ การคงอยู่...

สถาปัตยกรรม

แต่ละโหนดของ Couchbase ประกอบด้วยบริการข้อมูล บริการดัชนี บริการค้นหา และส่วนประกอบตัวจัดการคลัสเตอร์ ตั้งแต่เวอร์ชัน 4.

ผู้จัดการคลัสเตอร์

ตัวจัดการคลัสเตอร์ทำหน้าที่ควบคุมการกำหนดค่าและพฤติกรรมของเซิร์ฟเวอร์ทั้งหมดในคลัสเตอร์ Couchbase โดยจะกำหนดค่าและควบคุมพฤติกรรมระหว่างโหนด เช่น การจัดการสตรีมการจำลองข้อมูลและการปรับสมดุล...