คำตอบ:
ฉันคิดว่ามีความแตกต่างที่สำคัญระหว่าง CouchDB และ Couchbase Server ที่ต้องชี้ให้เห็น
ฉันจะไม่เขียนเกี่ยวกับข้อดีของการเปลี่ยนจาก CouchDB เป็น Couchbase Server เพราะสิ่งเหล่านั้นถูกอธิบายไว้ทุกหนทุกแห่ง (ดูThe Future of CouchDBโดย Damien Katz หรือ Couchbase เทียบกับ Apache CouchDB โดย Couchbase) แต่ฉันจะพยายามที่จะระบุคุณสมบัติของ CouchDB ว่าคุณจะไม่พบใน Couchbase เซิร์ฟเวอร์
ชื่อทั้งหมดที่เกี่ยวข้องกับ CouchDB และ Couchbase อาจสร้างความสับสนได้ดังนั้นฉันจึงได้อัปเดตคำตอบนี้เพื่อเริ่มต้นด้วยคำอธิบายสั้น ๆ เกี่ยวกับชื่อที่สำคัญที่สุด
มี CouchDB, CouchIO, CouchOne, Couchbase, เซิร์ฟเวอร์ Couchbase, Couchbase มือถือ, Couchbase Lite, CouchApps, BigCouch, Touchbase, Membase, Memcached, MemcacheDB ... ทั้งหมดแตกต่างกันและยังเกี่ยวข้องในลักษณะที่ไม่ชัดเจนเลยจากชื่อเพียงอย่างเดียว
อย่างแรกคือ CouchDB ซึ่งเป็นฐานข้อมูลที่สร้างโดย Damien Katz ซึ่งเป็นอดีตนักพัฒนาของ IBM ชื่ออย่างเป็นทางการของมันถูกเปลี่ยนเป็น Apache CouchDB หลังจากที่มันกลายเป็นโครงการ Apache
บริษัท ที่ชื่อว่า CouchIO ก่อตั้งขึ้นเพื่อทำงานกับ Apache CouchDB และต่อมาเปลี่ยนชื่อเป็น CouchOne (โดย "ชื่อของมัน" ฉันหมายถึงชื่อ บริษัท ไม่ใช่ชื่อฐานข้อมูล)
CouchOne (เดิมชื่อ CouchIO) ผสานกับ Membase (ชื่อเดิม NorthScale) เพื่อจัดตั้ง บริษัท ใหม่ชื่อว่า Couchbase Membase (บริษัท ) พัฒนา Membase (ผลิตภัณฑ์ที่มีชื่อเดียวกัน) Membase ถูกสร้างขึ้นโดยผู้นำหลายคนของโครงการ Memcached และใช้โปรโตคอล Memcached หลังจากการควบรวมกิจการของ CouchOne และ Membase, Couchbase ยังคงพัฒนาซอฟต์แวร์ Membase และต่อมาเปลี่ยนชื่อเป็น Couchbase Server
วันนี้ฉันคิดว่าคนส่วนใหญ่เชื่อว่า Couchbase Server เป็น CouchDB รุ่นใหม่ แต่จริงๆแล้วเป็น Membase เวอร์ชันใหม่ มันยังคงใช้โปรโตคอล Memcached ไม่ใช่ RESTful API ของ CouchDB ในขณะเดียวกัน CouchDB ยังคงเป็น CouchDB ซึ่งได้รับการบำรุงรักษาและปรับปรุงอย่างโครงการ Apache
ตอนนี้ถึงความแตกต่างที่เกี่ยวข้อง:
เซิร์ฟเวอร์ Couchbase ไม่ใช่ซอฟต์แวร์โอเพ่นซอร์ส / ฟรีทั้งหมด มีสองรุ่น: Community Edition (ฟรี แต่ไม่มีการแก้ไขข้อบกพร่องล่าสุด) และ Enterprise Edition (มีข้อ จำกัด ในการใช้งานบทบัญญัติความลับการตรวจสอบโดย Couchbase อิงค์ว่า "จะดำเนินการในช่วงเวลาทำการปกติที่สิ่งอำนวยความสะดวกของผู้รับอนุญาต" และคำอื่น ๆทั่วไป ซอฟต์แวร์ที่เป็นกรรมสิทธิ์ซึ่งหลายคนอาจพบว่าไม่สามารถยอมรับได้)
CouchDB เป็นโครงการโอเพนซอร์ซ / ฟรี (ไม่มีสายเชื่อมต่อ) ของ Apache Software Foundation และเผยแพร่ภายใต้Apache License รุ่น 2.0 (เข้ากันได้กับ DFSG, ได้รับการอนุมัติจาก FSF, ได้รับการอนุมัติจาก OSF, รองรับ GPI, ไม่รองรับ เชิงพาณิชย์)
ฉันไม่เคยเห็นมันชี้ให้เห็นโดยตรง แต่นี่อาจเป็นความแตกต่างที่สำคัญที่สุดระหว่างฐานข้อมูลทั้งสองเพราะลึกเกี่ยวกับปรัชญาพื้นฐานของแบบจำลองการคำนวณแบบกระจายและไม่เพียง แต่เกี่ยวกับคุณสมบัติบางอย่าง API หรือใบอนุญาตเท่านั้น CouchDB และ Couchbase Server แตกต่างกันโดยสิ้นเชิงในปรัชญาของการสร้างระบบกระจายและฐานข้อมูล
ตามทฤษฎีบทของ CAPมันเป็นไปไม่ได้ที่ฐานข้อมูลแบบกระจายจะให้ความสอดคล้องความพร้อมใช้งานและความทนทานต่อพาร์ติชันพร้อมกัน
CouchDBเป็นระบบประเภทAP (ให้ความพร้อมใช้งานและความทนทานต่อพาร์ติชัน )
Couchbase Serverเป็นระบบประเภทCP (ตามWikipedia ) หรือระบบประเภทCA (ตามการอัปเดตทางเทคนิคของ Couchbase ) - ซึ่งสิ่งเหล่านี้ถูกต้องหรือไม่ โปรดแสดงความคิดเห็น.
นี่คือสิ่งที่ฉันพบว่าเป็นรายการคุณลักษณะ CouchDB ที่เซิร์ฟเวอร์ Couchbase ไม่รองรับ:
คุณสมบัติเหล่านั้นของ CouchDB อาจจะใช่หรือไม่ใช่สิ่งสำคัญสำหรับคุณไม่ว่าจะเป็นการขาดหรือไม่ก็ตาม แต่ฉันคิดว่าการตัดสินใจว่าจะเปลี่ยนจาก CouchDB เป็น Couchbase Server หรือไม่นั้นขึ้นอยู่กับความแตกต่างเหล่านั้นและ การพึ่งพาคุณสมบัติเหล่านั้นในการปรับใช้ CouchDB ปัจจุบันของคุณ
ตัวอย่างเช่นหากคุณสนใจ CouchDB หลังจากดูThe CouchDB เปลี่ยนแปลงฟีด NodeCamp พูดคุยโดย Mikeal Rogers หรือหนึ่งในบทเรียน CouchApp ที่ยอดเยี่ยมโดย J. Chris Anderson คุณต้องตระหนักว่าถ้าคุณต้องการเปลี่ยนไปใช้ Couchbase Server คุณ จะต้องลืมทุกสิ่งที่พูดถึง
ด้วยเหตุนี้ฉันจึงบอกว่า Couchbase Server ดูเหมือนวิวัฒนาการของ Memcached และ Membase (ไม่ใช่วิวัฒนาการของ CouchDB) และดูเหมือนว่าเป็นผลิตภัณฑ์ที่ยอดเยี่ยมหากคุณกำลังใช้ Memchached หรือ Membase หากคุณใช้ CouchDB ในวิธีพื้นฐานที่สุดคุณอาจพิจารณาใช้ Couchbase Server ในสิ่งเดียวกันและอาจทำงานได้ดีหรือไม่ดีขึ้น (หากคุณไม่คำนึงถึงข้อ จำกัด สิทธิ์ใช้งาน) แต่ถ้าคุณใช้ฟีเจอร์ใด ๆ ที่ไม่เหมือนใครใน CouchDB (เช่นฟีดการเปลี่ยนแปลง, CouchApps, สถาปัตยกรรมสองชั้น, การจำลองแบบเพียร์ทูเพียร์เป็นต้น) คุณสามารถลืมคุณสมบัติเหล่านั้นหรืออยู่กับ CouchDB ไม่ว่าในกรณีใดโปรดอ่านและทำความเข้าใจกับการสอนการโยกย้ายไปยัง Couchbase สำหรับผู้ใช้ CouchDBก่อนที่คุณจะคิดเกี่ยวกับการสลับ
ผู้คนมักจะได้รับความประทับใจที่ผิด ๆ (อาจหลังจากอ่านสิ่งต่างๆเช่น"อนาคตของ CouchDB คืออะไรคือ Couchbase" ) CouchDB นั้นล้าสมัยไปแล้วโดย Couchbase Server หรือเป็นรุ่นเก่าของ Couchbase ในขณะที่CouchDBเป็นโครงการโอเพ่นซอร์สที่ได้รับการบำรุงรักษาอย่างแข็งขันเซิร์ฟเวอร์ Couchbase เป็นโครงการที่แยกจากกันอย่างสมบูรณ์ (เป็นโครงการที่ใหม่กว่า แต่ไม่ใช่ CouchDB รุ่นใหม่ - พวกเขาไม่สามารถใช้งานร่วมกันได้) และตั้งแต่เครื่องมือใหม่ ๆ สำหรับการสร้าง CouchApps กำลังพัฒนา (เช่นดูโครงการKanso ) จากนั้น CouchDB จะไม่ไปที่ใดในเร็ว ๆ นี้
ฉันหวังว่ามันจะทำให้เกิดความสับสน โปรดแก้ไขให้ฉันถ้าฉันทำอะไรผิดที่นี่
Couchbase Server เป็นชื่อใหม่ของเซิร์ฟเวอร์ Membase (เซิร์ฟเวอร์ Membase นั้นถูกเปลี่ยนชื่อเป็น Couchbase Server ในรุ่น 1.8) ดูCouchbase 2011 ปีที่รีวิว :
น่าเสียดายที่เราสับสนถึงขีด จำกัด ของผู้ใช้ที่มีศักยภาพของเรา นอกจาก Membase Server และผลิตภัณฑ์มือถือใหม่ของเราแล้วเรายังเสนอ Couchbase Single Server ซึ่งเป็นชุด“ การกระจาย” ของ Apache CouchDB ยิ่งไปกว่านั้นเราเริ่มปล่อยภาพตัวอย่างของนักพัฒนา Couchbase Server 2.0 ซึ่งรวมเทคโนโลยี CouchDB ไว้ใน Membase Server - แต่ผลิตภัณฑ์นี้ไม่สามารถใช้งานร่วมกับ Couchbase Single Server (หรือ CouchDB) [... ] Membase Server จะถูกเปลี่ยนชื่อเป็น Couchbase Server 1.8 ในรุ่นถัดไปในเดือนมกราคม - ขั้นตอนเล็ก ๆ ที่ช่วยลดความสับสนของ "name" ตามที่ได้วางแผนไว้ตั้งแต่ต้น Couchbase Server 2.0 รีลีส (ปัจจุบันที่ Developer Preview 3) จะเพิ่มฟังก์ชั่นดัชนีและเคียวรี ในขณะที่ Couchbase Server 2.0 จะรวมเทคโนโลยีมากมายจากโครงการ CouchDBมันจะไม่เข้ากันได้กับ CouchDB และไม่ควรมองว่าเป็น“ เวอร์ชันของ CouchDB” [เน้นเพิ่ม]
ซอฟต์แวร์เหล่านี้มีความแตกต่าง แต่คล้ายคลึงกัน ฉันได้รีมิกซ์เนื้อหาจากคำตอบยอดนิยมลงในรูปภาพที่อาจช่วยชี้แจง "ความแตกต่าง" และสิ่งทั่วไป:
ความคิดเห็นจาก Matt Ingenthron เพิ่มในนี้:
ในการเพิ่มบริบท / การแก้ไข: ผู้ก่อตั้ง NorthScale คือ Steve Yen และ Sallings Dustin ฉันเข้าร่วมกับพวกเขาไม่นานหลังจากก่อตั้ง ดาเมียนไม่ได้เข้าร่วม Couchbase ต่อมาเขาเป็นส่วนหนึ่งของ CouchIO / Couch One ก่อนการควบรวมกิจการ อ้างถึงแหล่งข้อมูลเชิงประวัติศาสตร์ที่สนุก: https://youtube.com/watch?v=aZ_JOnU8tkI
ฉันคิดว่า CouchBase ดูเหมือนจะถูกมองว่าเป็นทางเลือก 'องค์กร' ของ CouchDB ซึ่งในทางที่ดูเหมือนจะเป็นจริง นอกเหนือจากการขาดความสามารถในการแนบไฟล์ไปยังระเบียน (เอกสาร) และจุดสิ้นสุด REST 'แบบนอกกรอบ' เมื่อเทียบกับ CouchDB แล้ว CouchBase มี sql เช่นภาษาเช่น N1QL (บางครั้งออกเสียงนิกเกิล) นี่เป็นหนึ่งในเหตุผลที่ฉันไม่ชอบ / แนะนำให้ใช้คำว่า 'NoSQL' ฉันชอบคำว่า "ไม่สัมพันธ์"