จำนวนข้อมูลต่อโหนดใน Neo4j


14

ฉันต้องการเก็บข้อมูลจำนวนมากต่อโหนดใน Neo4j ข้อมูลเป็น Unicode ของข้อความ จริง ๆ แล้วไม่ใช่ว่าทุก ๆ ปมจะมีชิ้นใหญ่ แต่หลายคนจะ

ฉันอ่านเอกสาร แต่ไม่พบการพูดถึงขนาดโหนด - ปริมาณข้อมูลที่โหนดเดียวสามารถมีได้

ไม่มีใครมีความคิดใด ๆ


ชิ้นส่วนของคุณใหญ่แค่ไหน? คุณควรตรวจสอบให้แน่ใจว่าพบ string_block_size ที่เหมาะสมเพื่อให้จำนวนบล็อกสตริงในที่เก็บข้อมูลอยู่ในระดับที่เหมาะสมและไม่เปลืองเนื้อที่มากเกินไปในบล็อกที่เต็มไปเพียงครึ่งหนึ่ง ข้อมูลจะถูกใช้อย่างไร? เพียงแค่แสดงผลหรือสอบถาม / ประมวลผลเป็นอย่างอื่น? หากคุณต้องการประหยัดพื้นที่การบีบอัด + จัดเก็บข้อมูลเป็นอาร์เรย์ไบต์สามารถเป็นตัวเลือก
Michael Hunger

คำตอบ:


13

ท้ายที่สุดมันขึ้นอยู่กับสถาปัตยกรรมที่เครื่องของคุณมี


(พื้นหลัง) โหนดสามารถเก็บข้อมูลไว้ในคุณสมบัติได้เท่านั้น คุณสมบัติของพวกเขาถูกเก็บไว้โดยใช้ที่เก็บคีย์ - ค่า (ต่อที่นี่ )

ค่าในแต่ละคุณสมบัติถูก จำกัด ที่ Java primitives (ints, float, ฯลฯ ), สตริงและอาร์เรย์ของ primitives / strings

ดังนั้นจำนวนข้อมูลสูงสุดที่คุณสมบัติเฉพาะสามารถเก็บไว้จะถูก จำกัด ไว้ที่ขนาดสูงสุดสำหรับสตริงหรือขนาดสูงสุดสำหรับอาร์เรย์ของสตริง (นั่นคือต่อโหนด ) ขีด จำกัด นี้ (สำหรับเครื่อง 32 บิต) คือ 4GB (โปรดทราบว่านี่อาจ จำกัด เพียง 2-3 GB )

(เช่นที่กล่าวมานี้มีข้อผิดพลาดก่อนหน้านี้ที่มีขนาดสตริงที่ จำกัด เป็น 1 MBฉันคาดว่าจะได้รับการแก้ไข)

แน่นอนว่าสิ่งนี้ทำให้เกิดคำถามว่าคุณสมบัติหลายอย่างสามารถจัดเก็บได้มากกว่า 4GB ต่อโหนดหรือไม่ เนื่องจากรายการคุณสมบัติเป็นที่เก็บคีย์ - ค่าเป็นหลักจึงคาดว่าขนาดสูงสุดจะถูก จำกัด ด้วยพื้นที่ดิสก์และการเลือกคีย์ อย่างไรก็ตามฉันไม่พบสิ่งใดที่จะสนับสนุนหรือปฏิเสธสิ่งนี้


แต่นั่นไม่ได้แตกหักตอบคำถามของคุณ แต่จากสิ่งที่ฉันเข้าใจคุณควรจะสามารถในการจัดเก็บที่มีขนาดใหญ่ปริมาณของข้อมูลต่อโหนด (ขึ้นอยู่กับความจุพื้นที่ดิสก์)

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