อะไรคือข้อ จำกัด ในทางปฏิบัติเกี่ยวกับตระกูลคอลัมน์ในคาสซานดรา


10

ในคาสซานดราไม่แนะนำให้มีครอบครัวคอลัมน์มากกว่าสองพันครอบครัวสมมุติว่า 2,000 ครอบครัวเพื่อการโต้แย้ง ในกรณีที่จำเป็นต้องเก็บรักษาข้อมูลมากกว่า 2,000 ประเภทวิธีหนึ่งคือการหักล้างข้อมูลที่ไม่เกี่ยวข้องหลายประเภทลงในแต่ละคอลัมน์ตระกูล

ตัวอย่างเช่น CF เดียวสามารถมีคำสั่งซื้อใบแจ้งหนี้และลูกค้าหากคีย์แถวของพวกเขาแตกต่างกัน (เช่นนำหน้าด้วยประเภทวัตถุเช่นคีย์ของ CF เดียวอาจรวมทั้งOrder|1234และCustomer|1234) CF ตัวที่สองอาจประกอบด้วยที่อยู่พูด LineItems และ OrderTypes ด้วยความเป็นไปได้ขั้นพื้นฐานของวิธีการนี้ข้อ จำกัด ในทางปฏิบัติของมันคืออะไร? ตัวอย่างเช่นจะเกิดอะไรขึ้นถ้าใส่วัตถุ 10,000 ชนิดลงใน CF เดียว เท่าที่ฉันสามารถบอกได้จากวิกิพีเดียคาสซานดราไม่มีการ จำกัด ขนาดของ CF อย่างหนัก

คำตอบ:


6

ฉันไม่ใช่แฟน มันเป็นเรื่องดีพอ ๆ กับแนวคิดที่จะสร้างตารางเชิงสัมพันธ์ที่ชื่อว่า OrdersOrCustomers พร้อมคอลัมน์ที่กำหนดไว้สำหรับทั้งสอง บทลงโทษของเครื่องยนต์จัดเก็บข้อมูลนั้นลดลงเล็กน้อยในคาสซานดราเพราะที่เก็บของกระจัดกระจาย - เซลล์ภายใต้ประทุน แต่ก็ยังปฏิบัติไม่ดี

สิ่งนี้จะกัดคุณในภายหลังเมื่อคุณต้องการแมป / ลดข้อมูลของคุณ แต่ละงานจะต้องสแกนข้อมูลทั้งหมดของคุณและกรองแถวที่ไม่ตรงกับสิ่งที่คุณสนใจจริง ๆ (เช่นลูกค้า) และขอให้โชคดีที่ได้เข้าใจสถิติที่คาสซานดราติดตามต่อ CF ("CF นี้เป็นแหล่งที่มา 80% ของแอปพลิเคชันของฉันอ่านเนื่องจากข้อมูลคำสั่งซื้อหรือเพราะช่วงเวลาที่ลูกค้ารวมกับหรือไม่หรืออีกห้าประเภทข้อมูลที่ฉันโยนเข้าไป")

หากคุณต้องการ CFs ที่ดีจริง ๆ หรือหมื่น? ถึงอย่างนั้นฉันก็ควรที่จะเรียกใช้ Cassandra โดยไม่ต้องจัดสรรสนามกีฬามากกว่าทำให้โมเดลข้อมูลของฉันเสียหายเช่นนี้


ขอบคุณสำหรับคำตอบของคุณ Jonathan ฉันจะต้องอ่านข้อมูลเกี่ยวกับการจัดสรรเวทีเพื่อทำความเข้าใจประโยคสุดท้าย ใช้การจัดสรรเวทีเป็นตัวเลือกการกำหนดค่าหรือไม่
Andrew Swan

หรือถ้าการจัดสรรอารีน่าถูกอบเข้าสู่คาสซานดราทุกวันนี้มันจะยากแค่ไหนที่จะจัดสรรคืนของคอลัมน์ครอบครัวใด ๆ ที่ไม่ได้เข้าถึงภายในระยะเวลาที่กำหนดได้บ้าง? มันคุ้มค่าหรือไม่ที่ฉันจะบันทึกบัตร JIRA เกี่ยวกับเรื่องนี้?
Andrew Swan

1
คาสซานดราฉลาดเกี่ยวกับการชะล้างเพื่อลดความกดดันของหน่วยความจำ ปัญหาเกิดขึ้นกับสถานการณ์ที่เลวร้ายที่สุดซึ่งทุกอย่างแอ็คทีฟ
jbellis

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