คำถามติดแท็ก cassandra

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

5
ฐานข้อมูลใดที่สามารถจัดการกับการจัดเก็บระเบียนจำนวนพันล้านล้านล้านระเบียน
เรากำลังมองหาการพัฒนาเครื่องมือในการจับและวิเคราะห์ข้อมูล netflow ซึ่งเราได้รวบรวมจำนวนมหาศาล ในแต่ละวันเราบันทึกเร็กคอร์ดกระแสประมาณ 1.4 พันล้านรายการซึ่งจะมีลักษณะเช่นนี้ในรูปแบบ json: { "tcp_flags": "0", "src_as": "54321", "nexthop": "1.2.3.4", "unix_secs": "1352234521", "src_mask": "23", "tos": "0", "prot": "6", "input": "105", "doctets": "186", "engine_type": "0", "exaddr": "2.3.4.5", "engine_id": "2", "srcaddr": "9.8.7.6", "dst_as": "12345", "unix_nsecs": "752265174", "sysuptime": "2943529544", "dst_mask": "24", "dstport": "80", "last": "2943523241", "srcport": "52672", "dpkts": "4", …

5
โครงสร้างพื้นฐานสำหรับฐานข้อมูลการเขียนสูงพร้อมกันสูง
ความต้องการของฉันคือ: การเชื่อมต่อ 3000 70-85% เขียน vs อ่าน ขณะนี้เรากำลังใช้งาน CPU ระดับสูง, ขนาดใหญ่พิเศษเป็นพิเศษที่ 700 การเชื่อมต่อ 8 แกนทั้งหมดมีค่าสูงสุด เราคิดว่ามันเป็นจำนวนของการเชื่อมต่อพร้อมกันเนื่องจากหน่วยความจำดี การเขียนนั้นง่ายมาก (การตรวจสอบความถูกต้องช้า) หากต้องการขยายขนาดเป็น 3000 เราต้องไปที่เซิร์ฟเวอร์หลายตัวเลือกปัจจุบัน: MySQL Sharding MongoDB คลัสเตอร์ คาสซานดรา Hadoop & MySQL (แคช Hadoop, ดัมพ์เดี่ยวไปยัง MySQL) MongoDB & MySQL (แทนที่จะเป็น Hadoop เราใช้ Mongo เป็นแคช) เพื่อจัดการกับจำนวนการเชื่อมต่อนี้จำนวนคำถาม: MySQL Sharding สามารถจัดการการเชื่อมต่อพร้อมกันได้หรือไม่? มาสเตอร์คนใดคนหนึ่งสามารถจัดการการเชื่อมต่อที่เกิดขึ้นพร้อมกันเหล่านี้หรือตัวเลือกที่ดีกว่าหลายอย่างเช่น Mongo ได้หรือไม่? ฉันขอโทษถ้าฉันอธิบายปัญหาไม่ได้ กรุณาถามคำถาม

1
การเพิ่มโหนดใหม่ลงในคลัสเตอร์ Cassandra ในขณะที่การซ่อมแซมทำงานอยู่ปลอดภัยหรือไม่
ฉันพร้อมที่จะขยายคลัสเตอร์ Cassandra ที่มีอยู่ ฉันมีกำหนดการซ่อมแซมเพื่อให้ทำงานได้ตามปกติ ฉันต้องปิดการใช้งานการซ่อมแซมหรือไม่เมื่อเพิ่มโหนดใหม่ในคลัสเตอร์หรือฉันสามารถบูตโหนดใหม่ขณะที่การซ่อมแซมทำงานที่อื่นในคลัสเตอร์ได้หรือไม่

1
การกำหนดค่า Cassandra multidatacenter พร้อม 1 ip ภายนอก
ฉันกำลังพยายามตั้งค่าคลัสเตอร์ Cassandra หลายศูนย์ข้อมูล ปัญหาคือดาต้าเซ็นเตอร์ของฉันมีเพียง 1 IP ภายนอก (wan IP) ฉันสามารถตั้งค่าการส่งต่อพอร์ตบนสวิตช์ของศูนย์ข้อมูลเพื่อเข้าถึงแต่ละโหนดจากโลกภายนอกโดยใช้พอร์ตที่แตกต่างกัน แต่ฉันไม่รู้วิธีตั้งค่าคาสซานดรา ไฟล์. yaml อย่างถูกต้อง มีวิธีการตั้งค่าคลัสเตอร์ Cassandra หลายศูนย์ในสถานการณ์นี้หรือไม่? ขอบคุณล่วงหน้า!
13 cassandra 


2
เป็นวิธีที่ดีในการคัดลอกข้อมูลจาก Cassandra ColumnFamily ไปยังอีกใน Keyspace เดียวกัน (เช่น INSERT INTO ของ SQL) อะไร
พยายามหาวิธีถ่ายโอนแถวทั้งหมดจาก Cassandra ColumnFamily / Table ไปยังแถวอื่นได้อย่างง่ายดาย COPYคำสั่งที่ผมเข้าใจคือตัวเลือกที่ดี อย่างไรก็ตามเมื่อมันทิ้งข้อมูลทั้งหมดลง.csvในดิสก์แล้วโหลดกลับฉันไม่สามารถช่วยได้ แต่สงสัยว่ามีวิธีที่ดีกว่าที่จะทำในเครื่องยนต์ ตัวอย่างเฉพาะของสิ่งที่ฉันหมายถึงจะมีINSERT * FROM my_table INTO my_other_tableอยู่ในSQLฐานข้อมูลจำนวนมาก แน่นอนฉันรู้ว่า Cassandra เป็น NoSQL ดังนั้นจึงไม่สามารถทำงานได้เหมือนกัน - แต่ดูเหมือนว่ามีบางอย่างที่พร้อมใช้งาน อะไรคือวิธีที่ดีในการทำสิ่งนี้ให้สำเร็จ ขอบคุณมาก ๆ!

2
บทลงโทษในการใช้คอลัมน์ครอบครัวหรือพื้นที่สำคัญหลายแห่งในคาสซานดราคืออะไร
ฉันอยู่ระหว่างการประเมินการออกแบบที่ดีที่สุดสำหรับการติดตั้ง Cassandra ของเรา มีข้อมูลไม่มากออกมีบนอินเทอร์เน็ตเกี่ยวกับการใช้สองระดับแรกของการเข้าถึงที่คาสซานดรา provides- keyspacesและครอบครัวคอลัมน์ ฉันสงสัยว่าจะได้รับการลงโทษหรือไม่และถ้าคุณเลือกที่จะสร้างคีย์สเปซหรือคอลัมน์ครอบครัวจำนวนมาก (> 10.000) โพสต์บล็อกเก่าบางแห่งแนะนำว่า Cassandra สงวนหน่วยความจำสำหรับแต่ละคอลัมน์ครอบครัว บทความนี้เกี่ยวกับรุ่น 0.6 และรุ่นปัจจุบันคือ 1.0 ยังคงเป็นกรณีนี้และเป็นปัญหาจริงหรือไม่? อะไรคือบทลงโทษของการใช้คอลัมน์ครอบครัวหลายพันคอลัมน์หรือพื้นที่สำคัญในคาสซานดรา

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

2
ทำไมคาสซานดราแนะนำให้สร้างดัชนีในคอลัมน์ที่มีภาวะหัวใจเต้นสูง?
เอกสารประกอบของ Cassandra อย่าใช้ดัชนีในสถานการณ์เหล่านี้: ในคอลัมน์ที่มีความสำคัญสูงเพราะคุณจะต้องค้นหาระเบียนจำนวนมากเพื่อผลลัพธ์จำนวนเล็กน้อย ดูปัญหาในการใช้ดัชนีคอลัมน์ความสำคัญสูงด้านล่าง มันเกิดขึ้น หากคุณสร้างดัชนีในคอลัมน์ความสำคัญสูงซึ่งมีค่าแตกต่างกันจำนวนมากแบบสอบถามระหว่างเขตข้อมูลจะต้องเสียค่าการค้นหาจำนวนมากสำหรับผลลัพธ์ที่น้อยมาก ในตารางที่มีเพลงนับพันล้านเพลงการค้นหาเพลงโดยนักเขียน (ค่าที่มักไม่ซ้ำกันสำหรับแต่ละเพลง) แทนที่จะเป็นศิลปินของพวกเขามีแนวโน้มที่จะไม่มีประสิทธิภาพมาก มันอาจจะมีประสิทธิภาพมากกว่าในการรักษาตารางด้วยตนเองเป็นรูปแบบของดัชนีแทนที่จะใช้ดัชนีในตัวของ Cassandra สำหรับคอลัมน์ที่มีข้อมูลที่ไม่ซ้ำกันบางครั้งประสิทธิภาพที่ดีในการใช้ดัชนีเพื่อความสะดวกตราบใดที่ปริมาณการสืบค้นไปยังตารางที่มีคอลัมน์ที่จัดทำดัชนีอยู่ในระดับปานกลางและไม่อยู่ภายใต้ภาระคงที่ แต่ไม่เคยตอบคำถามจริงๆ: ทำไมมันไม่มีประสิทธิภาพ? ฉันไม่รู้ว่า "การบำรุงรักษาตารางด้วยตนเองในรูปแบบของดัชนี" หมายความว่าอย่างไร แต่แล้วมันค่อนข้างขัดแย้งกับตัวเองด้วย "... บางครั้งก็เป็นการดีที่ควรใช้ดัชนีเพื่อความสะดวกตราบเท่าที่ปริมาณการสืบค้นอยู่ในระดับปานกลาง ... " นี่เป็นเพียงการพยายามบอกให้ฉันใช้ PK เมื่อไรและที่ไหนที่ฉันจะทำได้? ความไร้ประสิทธิภาพคืออะไร ความเข้าใจของฉันคือว่าแบบสอบถามที่จะตีดัชนีจะต้องค้นหาทุกโหนดในคลัสเตอร์และจากนั้นแต่ละโหนดจะทำการค้นหาในดัชนีท้องถิ่นของตนและผลลัพธ์จะได้รับการรวบรวม สิ่งนี้ไม่จำเป็นต้องมีราคาแพง (การค้นหาดัชนีแต่ละรายการควรมีราคาถูกพอสมควร) ยกเว้นว่าเราจ่ายเป็นเวลาแฝงของเครือข่ายเนื่องจากเราต้องรอโหนดที่ช้าที่สุดของล็อต ฉันไม่มีอะไรที่นี่หรือ แต่ถ้าฉันมีคอลเล็กชั่นที่มีสิ่งของมูลค่ามากถึงพันล้าน - ในโอกาสที่หายาก - ต้องได้รับการค้นหาโดยคุณลักษณะที่แตกต่าง แต่ไม่เหมือนใคร ... นี่เป็นการใช้ที่เหมาะสมใช่ไหม? ¹Every? IDK ถ้าการจำลองแบบหมายความว่าสิ่งนี้สามารถเข้าถึง 1/3 ของคลัสเตอร์สำหรับปัจจัยการจำลองที่ 3 หรือไม่?
10 index  cassandra 

2
NoSQL: ข้อมูลที่ไม่มีโครงสร้างคืออะไร
ขณะนี้เรากำลังใช้ทรัพยากรที่มีอยู่ด้วยโซลูชั่น mssql เซิร์ฟเวอร์ของเรา ขณะนี้เรามีตัวเลือกแบบดั้งเดิมมากมายเกี่ยวกับการย้ายครั้งต่อไปเพื่อรับมือกับโหลด: ซื้อ CPU และ IO เร็วขึ้น แยกลูกค้าบางรายออกเป็นเซิร์ฟเวอร์แยกต่างหาก ย้าย db ไปยังคลัสเตอร์ ทั้งหมดมีราคาแพงทั้งในแง่ของลิขสิทธิ์และฮาร์ดแวร์หรือเวลา ดังนั้นฉันต้องการเพิ่มตัวเลือกอื่นโดยการย้ายทั้งระบบไปยังโซลูชันที่ปรับขนาดได้ซึ่งสัญญาของคาสซานดราเครื่องยนต์ nosql แต่ฉันไม่แน่ใจและไม่มีประสบการณ์กับฐานข้อมูล noSQL ดังนั้นฉันต้องเข้าใจโครงสร้างของข้อมูล "ที่ไม่มีโครงสร้าง" ในแอปพลิเคชันของเราเราจะจัดเก็บข้อมูลที่ผู้ใช้ป้อนในรูปแบบต่างๆเป็นรายการ "คีย์ - ค่า" มีตารางหลักที่มีองค์ประกอบส่วนหัว (เช่นคำสั่งซื้อ) และมีตารางลูกที่มีคู่ค่าคีย์ประกอบไปด้วยเนื้อหาของคำสั่งซื้อ (เช่น Order_Lines) หน่วยธุรกิจที่ชาญฉลาดคำสั่งซื้อและคำสั่งซื้อเป็นหน่วย แต่เนื่องจาก RDBMS พวกเขาจะถูกเก็บไว้ในตารางและจะต้องเข้าร่วมตลอดเวลา ในระหว่างการดำเนินการบางครั้งเราเลือกที่จะโหลดเฉพาะส่วนบน แต่ส่วนใหญ่เราโหลดแถวหลัก + KVP บางส่วนเพื่อแสดงข้อมูลที่เป็นประโยชน์ ตัวอย่างเช่นในรายการภาพรวมเราจะแสดงตัวระบุส่วนหัว + ค่าบางค่าในคอลัมน์สำหรับแต่ละแถว ปรับปรุง: เราเก็บรูปแบบใด ๆ ดังนั้นโดยทั่วไปเราจัดเก็บ "เอกสาร" อย่างไรก็ตามเราต้องจัดเตรียมและค้นหาในรูปแบบเหล่านี้ด้วยค่าใด ๆ การเรียงลำดับ ฯลฯ …

2
Cassandra: การบำรุงรักษา
ฉันไม่มีประสบการณ์กับ Cassandra แต่ฉันมีประสบการณ์กับฐานข้อมูลเชิงสัมพันธ์แบบ SQL ฉันไม่สามารถหาข้อมูลวิธีปฏิบัติที่ดีที่สุดเกี่ยวกับวิธีการดูแล Cassandra เมื่อนำไปใช้งาน จำเป็นหรือไม่ที่จะสูญเสียฐานข้อมูล VACUUM ฉันควรคิดว่าการโหลดการอ่าน / เขียนทำให้เกิดการแตกแฟรกเมนต์ในหน่วยเก็บ หรือโดยทั่วไปแล้ว: วิธีปฏิบัติที่ดีที่สุดสำหรับการบำรุงรักษาการปรับใช้การผลิตของ Cassandra คืออะไร จะต้องทำอะไรเป็นระยะ ๆ เพื่อรักษาสุขภาพของระบบ? คู่มือการใช้งานไม่ได้พูดถึงเรื่องนี้อย่างแท้จริง ขอบคุณ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.