ความแตกต่างที่สำคัญคือแบบจำลองข้อมูลและความสามารถในการสืบค้น
ร้านค้าคีย์ - ค่า
ประเภทแรกนั้นง่ายมากและอาจไม่ต้องการคำอธิบายเพิ่มเติม
รูปแบบข้อมูล: มากกว่าที่เก็บคีย์ - ค่า
ถึงแม้จะมีการอภิปรายเกี่ยวกับชื่อที่ถูกต้องสำหรับฐานข้อมูลเช่นคาสซานดราฉันต้องการที่จะเรียกพวกเขาร้านค้าคอลัมน์ครอบครัว แม้ว่าคู่คีย์ - ค่าจะเป็นส่วนสำคัญของ Cassandra แต่ก็ไม่ได้ จำกัด เพียงแค่นั้น ช่วยให้คุณสามารถซ้อนคู่คีย์ - ค่าดังนั้นคีย์สามารถอ้างถึงคู่คีย์ - ค่าย่อยหลายคู่
คุณไม่สามารถซ้อนคู่คีย์ - ค่าได้โดยไม่มีกำหนด คุณถูก จำกัด ไว้ที่สามระดับ (ตระกูลคอลัมน์) หรือระดับการซ้อนกันสี่ระดับ (ตระกูลซุปเปอร์คอลัมน์) ในกรณีที่คอลัมน์คำว่าตระกูลไม่กดกริ่งโปรดดูบทความWTF เป็น SuperColumnซึ่งเป็นคำอธิบายที่ดีเกี่ยวกับแบบจำลองข้อมูลของ Cassandra
ฐานข้อมูลเอกสารเช่น CouchDB และ MongoDB เก็บเอกสารทั้งในรูปแบบของวัตถุ JSON คุณสามารถคิดว่าออบเจ็กต์เหล่านี้เป็นคู่คีย์ - ค่าที่ซ้อนกัน ไม่เหมือนกับ Cassandra คุณสามารถซ้อนคู่คีย์ - ค่าได้มากเท่าที่คุณต้องการ JSON ยังรองรับอาร์เรย์และเข้าใจประเภทข้อมูลต่างๆเช่นสตริงตัวเลขและค่าบูลีน
การสืบค้น
ฉันเชื่อว่าร้านค้าในตระกูลคอลัมน์สามารถสืบค้นได้ด้วยคีย์เท่านั้นหรือโดยการเขียนฟังก์ชันลดแผนที่ คุณไม่สามารถสืบค้นค่าเช่นเดียวกับที่คุณทำในฐานข้อมูล SQL หากแอปพลิเคชันของคุณต้องการการสืบค้นที่ซับซ้อนมากขึ้นแอปพลิเคชันของคุณจะต้องสร้างและดูแลดัชนีเพื่อเข้าถึงข้อมูลที่ต้องการ
ฐานข้อมูลเอกสารรองรับการสืบค้นตามคีย์และฟังก์ชันลดแผนที่ได้เช่นกัน แต่ยังช่วยให้คุณทำการสืบค้นพื้นฐานตามค่าเช่น "ให้ผู้ใช้ทั้งหมดมีโพสต์มากกว่า 10 รายการแก่ฉัน" ฐานข้อมูลเอกสารมีความยืดหยุ่นมากขึ้นด้วยวิธีนี้