รันเซิร์ฟเวอร์การกำหนดค่า MongoDB โดยไม่มีไฟล์เจอร์นัล 3GB


9

สำหรับการติดตั้ง MongoDB ที่ใช้งานยากเราต้องมีเซิร์ฟเวอร์การกำหนดค่า 3 ตัว อ้างอิงจากเอกสาร "กระบวนการ config เซิร์ฟเวอร์ Mongod ค่อนข้างเบาและสามารถทำงานบนเครื่องที่ทำงานอื่น ๆ ได้" อย่างไรก็ตามในการกำหนดค่าเริ่มต้นพวกเขาทั้งหมดได้เปิดใช้งานการทำเจอร์นัลและด้วยการจัดสรรล่วงหน้าสิ่งนี้จะใช้พื้นที่ดิสก์ 3 GB ฉันคิดว่าข้อมูลจริงและปริมาณธุรกรรมของเซิร์ฟเวอร์การกำหนดค่ามีขนาดค่อนข้างเล็กดังนั้นนี่ดูเหมือนจะมากเกินไป

มีวิธีการ (อย่างปลอดภัย!) ในการรันเซิร์ฟเวอร์การตั้งค่าเหล่านี้โดยใช้ดิสก์น้อยลงสำหรับวารสารหรือไม่? ฉันต้องทำเจอร์นัลด้วยเซิร์ฟเวอร์การตั้งค่าหรือไม่? ฉันสามารถตั้งค่าขนาดวารสารให้เล็กลงได้ไหม?

คำตอบ:


10

ใช่ - มีวิธีการลดขนาดเริ่มต้นของไฟล์เจอร์นัลโดยขึ้นอยู่กับคำเตือนสองสามข้อ จากเอกสารการกำหนดค่า MongoDB :

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

นี่คือsmallfilesข้อมูลการกำหนดค่า:

ตั้งค่าเป็นจริงเพื่อปรับเปลี่ยน MongoDB เพื่อใช้ขนาดไฟล์ข้อมูลเริ่มต้นที่เล็กลง โดยเฉพาะไฟล์ขนาดเล็กจะลดขนาดเริ่มต้นสำหรับไฟล์ข้อมูลและ จำกัด ไว้ที่ 512 เมกะไบต์ การตั้งค่า smallfiles ยังลดขนาดของไฟล์เจอร์นัลจาก 1 กิกะไบต์เป็น 128 เมกะไบต์

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


0

คุณสามารถสมาชิกบางคนของการจำลองแบบใช้การบันทึกรายวันและอื่น ๆ ไม่ได้ [1]

คุณสามารถตั้งค่าขนาด jounral ให้เล็กลงได้โดยใช้บรรทัดคำสั่ง "--smallfiles" [2]


และข้อเสนอแนะนี้คืออะไร?
Thilo

MongoDB ทำการจัดสรรล่วงหน้าด้วยไฟล์เจอร์นัลเพื่อหลีกเลี่ยงการเสียเวลากับมันในภายหลัง หากคุณกังวลเกี่ยวกับพื้นที่ดิสก์มากกว่าประสิทธิภาพเป็นตัวเลือก ฉันขอแนะนำให้ทิ้งการทำเจอร์นัลไว้กับเครื่องจักรทุกเครื่องคุณไม่มีทางรู้ว่าจะเกิดความผิดพลาดเมื่อใดและอย่างไร คุณไม่สามารถปลอดภัยเกินไป
Nican

1
แน่นอนว่าเป็นแนวทางที่ดี แต่จิตใจที่ต้องการสอบถามต้องการทราบว่าเซิร์ฟเวอร์การปรับแต่งมีปริมาณธุรกรรมที่ต้องใช้วารสาร 3GB หรือไม่และหากมีประโยชน์ใด ๆ ในการมีวารสารอื่นนอกเหนือจากเวลาเริ่มต้นทำงานที่เร็วขึ้นหลังจากเกิดข้อผิดพลาด (โปรดทราบว่าเซิร์ฟเวอร์กำหนดค่า 3 รายการนั้น จะสูญเสียข้อมูลใด ๆ แม้จะไม่มีการทำเจอร์นัลใช่ไหม?) และจะเร็วกว่ามากเพียงใดกับข้อมูลการตั้งค่าอย่างเดียว สำหรับฉันแล้วดูเหมือนว่ากฎที่นี่ควรแตกต่างกันสำหรับโหนดจำลองและเซิร์ฟเวอร์การกำหนดค่า เอกสารบอกว่า "คุณควรจะดีถ้าคุณสามารถกู้คืนได้ภายในหนึ่งวัน"
Thilo

0

คุณสามารถเริ่มต้น mongod ด้วยตัวเลือก - nojournal แต่ฉันจะมั่นใจมากเกี่ยวกับการสำรองข้อมูลเซิร์ฟเวอร์การกำหนดค่าของคุณ


1
ต้องแน่ใจว่าต้องมีเซิร์ฟเวอร์การกำหนดค่าสามเครื่องบนเครื่องที่แตกต่างกันสามเครื่อง นอกจากนี้ขั้นตอนการทำสำเนาสำรองของเซิร์ฟเวอร์ config คืออะไร? ถ้าฉันไม่ทำการสำรองข้อมูลหลังจากการเปลี่ยนแปลงทุกครั้ง (พูดว่าเพิ่มการรวบรวมหรือเหตุการณ์ที่เกิดเศษ) ฉันจะไม่สามารถกู้คืนจากการสำรองข้อมูลที่ล้าสมัยเหล่านี้ใช่ไหม
Thilo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.