เรากำลังเสนอให้ Cassandra นำไปใช้เป็นแบ็กเอนด์ฐานข้อมูลสำหรับโซลูชันการเก็บถาวรขนาดใหญ่ (การเขียนจำนวนมากเมื่อเทียบกับการอ่าน) เรากำลังมองหาข้อมูลจากกลยุทธ์การจำลองแบบและการปรับใช้ของ Cassandra เพื่อให้เหมาะกับกรณีการใช้งานของเรา
การเลือกคาสซานดราขึ้นอยู่กับปัจจัยดังต่อไปนี้:
- รองรับปริมาณงานขนาดใหญ่สำหรับการดำเนินการ 'เขียน' - การเขียนพร้อมกันหลายพันรายการต่อวินาที
- ความเหมาะสมกับข้อมูลทางวิศวกรรม (ส่วนใหญ่เป็นข้อมูลอนุกรมเวลา)
- ความพร้อมใช้งานสูงเพื่อรองรับการทำงานของกล้องโทรทรรศน์ต่อเนื่อง
- รองรับเครื่องมือเช่น การวิเคราะห์ การรายงาน
การประมาณข้อมูล
- การเติบโต 250 TB ต่อปี (อายุการใช้งานระบบ 50 ปี)
กรณีการใช้งาน
เรามีศูนย์ข้อมูลสองแห่ง - Operations DC และ Analytics DC (เพื่อแยกปริมาณงานการอ่านและเขียน) ในตอนท้ายของโพสต์นี้คือแผนภาพที่แสดงสถาปัตยกรรมที่นำเสนอ เนื่องจากข้อจำกัดในการจัดเก็บข้อมูล เราจึงไม่สามารถจัดเก็บข้อมูลที่สร้างขึ้นตลอดอายุการใช้งานบน Operations DC ได้ ดังนั้นเราจึงวางแผนที่จะย้ายข้อมูลจาก Operations DC ไปยัง Analytics DC ตามนโยบายที่กำหนดไว้ (เช่นหลังจาก 1 สัปดาห์)
คำถาม
- เป็นไปได้หรือไม่ที่การจำลองแบบทางเดียวใน Cassandra ระหว่างศูนย์ข้อมูล ข้อมูลจาก Operations DC ย้ายไปยัง Analytics DC แต่ข้อมูลที่จัดเก็บหลังจากประมวลผลใน Analytics DC จะไม่ถูกจำลองไปยัง Operations DC
- Cassandra ให้การควบคุมสิ่งที่จะถูกจำลองแบบหรือไม่ เราไม่ต้องการให้ DC ทั้งสองซิงโครไนซ์กัน เราต้องการกำหนดค่าสิ่งที่ได้รับการจำลองแบบ (ย้ายจริง) ไปยัง Analytics DC เป็นไปได้ไหมกับคาสซานดรา? หากฉันต้องการระบุว่าควรจำลองเฉพาะข้อมูลของหนึ่งสัปดาห์ที่ผ่านมาจากศูนย์ข้อมูลการดำเนินงานไปยังศูนย์ข้อมูล Analytics
เรากำลังวางแผนที่จะใช้ฟีเจอร์ Time-to-Live ในตัวของ Cassandra เพื่อลบข้อมูล (จากการดำเนินงาน DC เท่านั้น) ข้อมูลที่ถูกลบออกจาก Operations DC ไม่ควรถูกลบออกจาก Analytics DC จะป้องกันการจำลองข้อมูลที่ถูกลบได้อย่างไร?
ฉันได้อ่านแล้วว่าโหนด Cassandra เดียวสามารถรองรับข้อมูลได้มากถึง 2-3 TB เอกสารอ้างอิงใดๆ ของการใช้งาน Cassandra ที่มีขนาดใหญ่กว่าใดๆ จะช่วยได้
โหนด Cassandra จะถูกปรับใช้เพื่อรองรับการเติบโตดังกล่าวจำนวนเท่าใด และกลยุทธ์การปรับใช้ที่แนะนำคืออะไร?
ข้อควรพิจารณาด้านประสิทธิภาพ: แม้ว่าพื้นที่จัดเก็บข้อมูลที่ Operations DC จะถูกจำกัด (ข้อมูล 3-7 วัน หรือประมาณ 5-10 TB) แต่พื้นที่จัดเก็บข้อมูลที่ Analytics DC จะเป็นแบบสะสมและยังคงเติบโตต่อไปตามเวลา การเติบโตของฐานข้อมูลที่ Analytics DC จะส่งผลต่อการจำลองและลดประสิทธิภาพของ Operations DC หรือไม่
จุดประสงค์คือการทราบว่าฟีเจอร์ในตัวของ Cassandra สามารถใช้เพื่อรองรับข้อกำหนดข้างต้นได้หรือไม่ ฉันตระหนักถึงวิธีแก้ปัญหาที่ชัดเจนที่สุด ไม่ให้มีการจำลองแบบระหว่าง DC ทั้งสอง ถ่ายโอนข้อมูลของหนึ่งสัปดาห์ที่ผ่านมาจาก Operations DC และย้ายไปยัง Analytics DC