คุณเรียกรุ่นข้อมูลของ DynamoDB และ Cassanda ได้อย่างไร


9

บทความ DynamoDB วิกิพีเดียบอกว่า DynamoDB คือ " ค่าคีย์ " ฐานข้อมูล อย่างไรก็ตามการเรียกมันว่าฐานข้อมูล "คีย์ - ค่า" นั้นขาดคุณสมบัติพื้นฐานอย่างมากของ DynamoDB นั่นคือคีย์การเรียงลำดับ : คีย์มีสองส่วน (คีย์พาร์ติชันและคีย์การเรียงลำดับ) และรายการที่มีพาร์ทิชันคีย์เดียวกัน โดยคีย์การเรียงลำดับ

Cassandra ยังมีคุณสมบัติ sorting-items-inside-a-partition เหมือนกัน (ซึ่งเรียกว่า "clustering key") และบทความของCassandra Wikipediaใช้คำที่เก็บคอลัมน์ wide wideเพื่ออธิบาย อย่างไรก็ตามในขณะที่คำว่า "คอลัมน์กว้าง" ดีกว่า "คีย์ - ค่า" แต่ก็ยังค่อนข้างไม่เหมาะสมเพราะมันอธิบายสถานการณ์ทั่วไปที่มีรายการที่สามารถมีคอลัมน์ที่ไม่เกี่ยวข้องจำนวนมาก - ไม่จำเป็นต้องแยกรายการ รายการ

ดังนั้นคำถามของฉันคือว่ามีคำที่เหมาะสมกว่าที่สามารถอธิบายแบบจำลองข้อมูลของฐานข้อมูลเช่น DynamoDB และ Cassandra - ฐานข้อมูลที่ชอบเก็บค่าคีย์สามารถดึงรายการสำหรับแต่ละคีย์ได้อย่างมีประสิทธิภาพ แต่ยังสามารถดึงรายการที่เรียงลำดับตาม หรือเป็นส่วนหนึ่งของมัน ( คีย์การเรียงลำดับของ DynamoDB หรือคีย์การทำคลัสเตอร์ของ Cassandra )


2
ฉันค้นหา "Key-Key-Value" เพื่อจับภาพพาร์ทิชัน / การสั่งซื้อ / มูลค่าของรุ่นนี้
Tzach Livyatan

ฉันลงคะแนนให้ปิดคำถามนี้เป็นนอกหัวข้อเนื่องจากดูเหมือนว่าจะไม่เกี่ยวข้องกับการเข้ารหัส
ชาร์ลส์

5
เหตุใดจึงจำเป็นต้องเกี่ยวข้องกับ "การเข้ารหัส" ไม่มีแท็ก C ++ หรือ Java หรือภาษาการเขียนโปรแกรมอื่น ๆ ดังนั้นจึงไม่เกี่ยวกับการเขียนโปรแกรมในภาษาการเขียนโปรแกรมใด ๆ มันมีคาสซานดราและคณะ แท็ก - ระบุว่าเป็นเรื่องเกี่ยวกับซอฟต์แวร์นั้น มีเว็บไซต์ stackexchange ที่ดีกว่าที่คุณคิดว่าจะดีกว่าสำหรับคำถามเกี่ยวกับซอฟต์แวร์หรือไม่ และโปรดทราบว่าคำถามนี้มีคะแนน +2 แล้ว มันไม่ใช่คำถามที่แย่จริงๆ
Nadav Har'El

2
คำแนะนำของฉัน "Key-Sortable-Value"
TomerSan

คำตอบ:


3

ก่อนที่จะมีการแนะนำ CQL คาสซานดราจะยึดมั่นในรูปแบบข้อมูลที่เก็บคอลัมน์แบบกว้างมากขึ้นซึ่งคุณมีเพียงแถวที่ระบุโดยคีย์แถวและมีคอลัมน์ / คีย์เรียงค่าที่เรียงลำดับเท่านั้น ด้วยการแนะนำ CQL แถวกลายเป็นที่รู้จักในฐานะพาร์ทิชันและคอลัมน์สามารถจัดกลุ่มทางเลือกในแถวลอจิคัลผ่านคีย์การทำคลัสเตอร์

แม้กระทั่ง Cassandra 3.0 CQL ก็เป็นเพียงนามธรรมบนแบบจำลองข้อมูลที่รวดเร็วและไม่มีแนวคิดของแถว CQL ภายในเอ็นจิ้นการจัดเก็บ พวกเขาเป็นเพียงชุดเรียงคอลัมน์ที่มีคีย์ผสมซึ่งประกอบด้วยค่าที่ต่อกันของคีย์คลัสเตอร์ รายละเอียดเพิ่มเติมจะได้รับในบทความนี้ ขณะนี้มีการสนับสนุนดั้งเดิมสำหรับ CQL ในเอ็นจิ้นการจัดเก็บซึ่งทำให้โมเดลข้อมูล CQL สามารถจัดเก็บได้อย่างมีประสิทธิภาพมากขึ้น

อย่างไรก็ตามถ้าคุณคิดว่าแถว CQL เป็นการจัดกลุ่มแบบลอจิคัลของคอลัมน์ภายในพาร์ติชันเดียวกันคาสซานดราก็อาจถูกจัดเก็บในคอลัมน์แบบกว้างได้ ในกรณีใด ๆ ไม่มีความรู้ของฉันอีกคำที่จัดตั้งขึ้นอย่างดีเพื่ออธิบายฐานข้อมูลชนิดนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.