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

MongoDB ทุกเวอร์ชั่น - ฐานข้อมูลแบบโอเพ่นซอร์สที่ปรับขนาดได้และมีประสิทธิภาพสูง

4
ความแตกต่างระหว่างการแยกและการจำลองแบบบน MongoDB
ฉันแค่สับสนเกี่ยวกับการแยกส่วนและการจำลองแบบว่ามันทำงานอย่างไรตามคำจำกัดความ การจำลองแบบ: ชุดแบบจำลองใน MongoDB เป็นกลุ่มของกระบวนการ mongod ที่รักษาชุดข้อมูลเดียวกัน Sharding: Sharding เป็นวิธีการจัดเก็บข้อมูลในหลาย ๆ เครื่อง ตามความเข้าใจของฉันหากมีข้อมูล 75 GB แล้วโดยการจำลองแบบ (3 เซิร์ฟเวอร์) จะเก็บข้อมูล 75GB ในแต่ละเซิร์ฟเวอร์หมายถึง 75GB บนเซิร์ฟเวอร์ -1, 75GB บนเซิร์ฟเวอร์ -2 และ 75GB บนเซิร์ฟเวอร์ -3 .. (ถูกต้องฉัน ถ้าฉันผิด) .. และโดยการแบ่งจะถูกเก็บไว้เป็นข้อมูล 25GB บนเซิร์ฟเวอร์ -1 ข้อมูล 25Gb บนเซิร์ฟเวอร์ -2 และ 25GB ข้อมูลบนเซิร์ฟเวอร์ -3 (ขวา?) ... แต่แล้วฉันก็พบบรรทัดนี้ใน …
77 mongodb 

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", …

4
คืนค่าฐานข้อมูลเฉพาะจากการสำรองข้อมูลโดยใช้คำสั่ง mongorestore อย่างไร
ฉันสร้างสำเนาสำรองของฐานข้อมูลทั้งหมดของฉันโดยใช้คำสั่ง mongodump ตอนนี้ฉันต้องการคืนค่าฐานข้อมูลเฉพาะโดยใช้คำสั่ง mongorestore เป็นไปได้อย่างไรฉันใช้คำสั่งนี้: - ตัวเลือก db แล้ว mongodb ไม่คืนค่าฐานข้อมูลเฉพาะ
62 mongodb 

3
ตรวจสอบเครื่องมือจัดเก็บข้อมูลจากเปลือก
ฉันกำลังอัปเกรดเป็น 3.0 และพบปัญหาบางอย่างกับการอัปเกรด โดยเฉพาะฉันได้รับข้อผิดพลาดเมื่อพยายามเริ่มการทำงานmongodผ่านsshมันพยายามใช้ค่าเริ่มต้นdbpathแทนที่จะเป็นค่าที่ฉันระบุในไฟล์กำหนดค่า YAML ใหม่ของฉัน ฉันไปข้างหน้าและรีบู๊ตเครื่องและตอนนี้mongodก็เปิดขึ้นและทำงานอีกครั้ง ฉันรู้สึกหวาดระแวงตอนนี้และต้องการทราบว่ามีวิธีการตรวจสอบให้แน่ใจว่าเครื่องมือจัดเก็บข้อมูลwiredtigerมาจากเปลือกหรือไม่

4
ความแตกต่างระหว่างการค้นหาและการค้นหาของ MongoDB
ฉันทำงานในโครงการและฉันไม่แน่ใจว่ามีความแตกต่างระหว่างวิธีการfindทำงานของเคอร์เซอร์และวิธีการfindOneทำงานของเคอร์เซอร์ findOne เป็นเพียงแค่เสื้อคลุมfind().limit(1)หรือไม่? ฉันมองไปรอบ ๆ และอาจมีคนรู้ว่า mongodb มีวิธีพิเศษสำหรับมันหรือไม่ ฉันกำลังทำงานกับ PHP API สำหรับ MongoDB หากนั่นสร้างความแตกต่าง
34 mongodb 

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

2
Mongodump: ฟิลด์ 'สแนปชอต' ที่ไม่รู้จัก
ฉันใช้ mongodump จากเครื่องมือ mongo เพื่อดาวน์โหลดสำเนาสำรองของเซิร์ฟเวอร์ของฉัน อย่างไรก็ตามในขณะที่ฉันเรียกใช้คำสั่งคำสั่งจะส่งคืน "snapshot" ของฟิลด์ที่ไม่รู้จัก ข้อผิดพลาดทั้งหมดคือ: Failed: error reading collection: Failed to parse: { find: "data", skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "xxx" }. Unrecognized field 'snapshot'. Mongodump - รุ่นที่ส่งคืน: mongodump version: built-without-version-string git version: built-without-git-spec Go version: go1.7.3 os: linux arch: amd64 …

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

3
MongoDB ใช้หน่วยความจำมากเกินไป
เราใช้ MongoDB เป็นเวลาหลายสัปดาห์แล้วแนวโน้มโดยรวมที่เราเห็นคือ mongodb ใช้หน่วยความจำมากเกินไป (มากกว่าขนาดของชุดข้อมูล + ดัชนีทั้งหมด) ฉันได้อ่านคำถามนี้แล้วและคำถามนี้แต่ดูเหมือนจะไม่มีใครตอบปัญหาที่ฉันพบพวกเขากำลังอธิบายสิ่งที่อธิบายไว้ในเอกสารแล้ว ต่อไปนี้เป็นผลลัพธ์ของhtopและแสดงคำสั่งdbs ฉันรู้ว่า mongodb ใช้หน่วยความจำที่แมป IO ดังนั้นโดยทั่วไประบบปฏิบัติการจะจัดการกับการแคชสิ่งต่าง ๆ ในหน่วยความจำและ mongodb ในทางทฤษฎีควรปล่อยหน่วยความจำแคชในทางทฤษฎีเมื่อกระบวนการอื่นร้องขอหน่วยความจำที่ว่างแต่จากสิ่งที่เราเห็น OOM เริ่มฆ่ากระบวนการที่สำคัญอื่น ๆ เช่น postgres, redis และอื่น ๆ (ดังที่เห็นได้ว่าเพื่อเอาชนะปัญหานี้เราได้เพิ่ม RAM เป็น 183GB ซึ่งตอนนี้ใช้งานได้ แต่มีราคาแพงมาก mongo ใช้ ram ~ 87GB เกือบ 4X ของขนาดของชุดข้อมูลทั้งหมด) ดังนั้น, นี่เป็นการใช้งานหน่วยความจำมากมายที่คาดหวังและปกติหรือไม่? (ตามเอกสารประกอบ WiredTiger ใช้ RAM ส่วนใหญ่ประมาณ ~ 60% …

1
Mongodb การสำรองข้อมูลที่เพิ่มขึ้น
ฉันได้รับมอบหมายให้ตั้งค่าการสำรองข้อมูลเพิ่มเติมสำหรับ MongoDB replicaset ซึ่งเป็นจุดเริ่มต้นแน่นอนว่าฉัน googled และไม่พบสิ่งใด ๆ บน MongoDB docs แต่ฉันพบคำถามนี้ใน Stack Overflow ซึ่งสนับสนุนให้พัฒนาโซลูชันของฉันเอง อย่างที่ไม่พบว่า Tayra กระตือรือร้นมาก ฉันอ่านoplogและรู้ว่ามันง่ายมากที่จะพัฒนาสิ่งที่จะเล่นซ้ำบันทึก แต่ปรากฎว่าฉันไม่ต้องmongorestoreทำแบบนั้นสำหรับฉัน ตอนนี้ฉันมีวิธีการทำงานกับสคริปต์ทุบตีและมันค่อนข้างง่ายนั่นคือเหตุผลที่ฉันถามที่นี่หากมีข้อบกพร่องในตรรกะของฉันหรืออาจเป็นสิ่งที่จะกัดฉันในอนาคต ด้านล่างวิธีฉันใช้งาน: ขั้นตอนการสำรองข้อมูลเต็มรูปแบบ ล็อคเขียนในสมาชิกรอง db.fsyncLock() ถ่ายภาพ บันทึกตำแหน่งสุดท้ายจาก oplog db.oplog.rs.find().sort({$natural:-1}).limit(1).next().ts ปลดล็อกการเขียน db.fsyncUnlock() ขั้นตอนการสำรองข้อมูลที่เพิ่มขึ้น ล็อคเขียนในสมาชิกรอง การถ่ายโอนข้อมูล oplog จากตำแหน่ง oplog ที่บันทึกไว้ในการสำรองข้อมูลเต็มรูปแบบ (หรือเพิ่มขึ้นล่าสุด): mongodump --host <secondary> -d local -c oplog.rs -o /mnt/mongo-test_backup/1 --query '{ "ts" …
26 backup  mongodb 

3
MongoDB MMAPv1 vs เอ็นจิ้นการเก็บข้อมูล WiredTiger
ใน mongoDB3 ปรากฏเครื่องมือจัดเก็บข้อมูลใหม่: WiredTiger แต่MMAPv1ยังคงเป็นตัวเลือกเริ่มต้นใน Mongo หนึ่งอาจไม่ดีกว่าอื่น ๆ มันมักจะเป็นเรื่องของกรณีการใช้งานและการเลือกเครื่องมือที่เหมาะสมสำหรับงาน แต่เครื่องยนต์ไหนที่เหมาะกับงานอะไร ในความเป็นจริงในขณะที่ MMAPv1 เป็นเอ็นจิ้นเริ่มต้น WiredTiger ดูเหมือนจะดีกว่าในเกือบทุกสาขา มันมีคุณสมบัติเช่นเดียวกับ MMAPv1 บวก: ประสิทธิภาพการเขียนที่ดีขึ้น การทำงานพร้อมกันของระดับเอกสาร การบีบอัด ภาพรวมและระบบจุดตรวจ ฉันพบตารางเปรียบเทียบในบล็อกของ MongoDB : ดังนั้นถ้าคุณอยู่บน Solaris มีเหตุผลที่จะไม่เลือก WiredTiger หรือไม่? แก้ไข ที่นี่สองวิดีโอที่อธิบายในรายละเอียด internals ของ WiredTigerและMMAPv1

2
ใช้ MongoDB และ PostgreSQL ร่วมกัน
โครงการปัจจุบันของฉันคือการทำงานของระบบจัดการเอกสารโรงงาน ที่กล่าวว่ามีริ้วรอยบางอย่าง (แปลกใจแปลกใจ) ในขณะที่รอยย่นบางอย่างมีความเฉพาะเจาะจงกับโครงการฉันเชื่อว่ามีข้อสังเกตทั่วไปและคำถามที่เกิดขึ้นซึ่งไม่มีคำตอบที่ยอมรับ (ซึ่งฉันสามารถหาได้) และที่เกี่ยวข้องกับโดเมนปัญหาที่กว้างขึ้น . มีจำนวนมากที่นี่และฉันไม่แน่ใจว่าเป็นแบบที่ดีสำหรับรูปแบบคำถามและคำตอบ StackExchange แต่ฉันคิดว่ามันเป็น) คำถามที่ตอบได้และข) ไม่เฉพาะเจาะจงมากพอที่จะเป็นประโยชน์ต่อชุมชน ข้อพิจารณาบางอย่างของฉันนั้นเฉพาะเจาะจงสำหรับฉัน แต่ฉันคิดว่าคำถามนี้อาจเป็นประโยชน์กับทุกคนที่ต้องเผชิญกับการตัดสินใจเลือก SQL กับ NoSQL เทียบกับทั้งคู่ พื้นหลัง: แอปพลิเคชันเว็บที่เรากำลังสร้างประกอบด้วยข้อมูลที่สัมพันธ์กันอย่างชัดเจนในธรรมชาติรวมถึงข้อมูลที่มุ่งเน้นที่เอกสาร เราต้องการเค้กและกินมันด้วย TL; DR: ฉันคิดว่า # 5 ด้านล่างผ่านการทดสอบกลิ่น คุณ ใครบ้างมีประสบการณ์กับการรวม SQL และ NOSQL ในแอปพลิเคชันเดียวหรือไม่ ฉันพยายามระบุวิธีที่เป็นไปได้ทั้งหมดสำหรับปัญหานี้ในด้านล่าง ฉันพลาดตัวเลือกที่มีแนวโน้มหรือไม่ ซับซ้อน: มีคลาสเอกสารที่แตกต่างกันมากมาย ข้อกำหนดนี้ต้องการเอกสารที่แตกต่างกันหลายสิบฉบับ หมายเลขนี้จะสูงขึ้นเท่านั้น กรณีที่ดีที่สุดคือกรณีที่เราสามารถใช้ภาษาเฉพาะโดเมนแบบง่ายการสร้างรหัสและสคีมาที่มีความยืดหยุ่นเพื่อให้ผู้เชี่ยวชาญด้านโดเมนสามารถจัดการกับการเพิ่มคลาสเอกสารใหม่โดยไม่ต้องมีการแทรกแซงจาก DBA หรือโปรแกรมเมอร์ (หมายเหตุ: ทราบอยู่แล้วว่าเรากำลังดำเนินการตามกฎข้อที่สิบของ Greenspun ) ความสมบูรณ์ของการเขียนที่สำเร็จก่อนหน้านี้เป็นข้อกำหนดหลักของโครงการ ข้อมูลจะเป็นสิ่งสำคัญทางธุรกิจ ความหมายแบบเต็มกรดในการเขียนสามารถเสียสละหากสิ่งที่จะได้รับการเขียนเขียนอยู่ประสบความสำเร็จ เอกสารมีความซับซ้อน …

1
จะเกิดอะไรขึ้นถ้ามีการแทรกใน MongoDB มากเกินไป? จะมั่นใจได้อย่างไรว่าข้อมูลทั้งหมดถูกจัดเก็บ?
คำถามนี้ถูกโยกย้ายจาก Server Fault เนื่องจากสามารถตอบได้ใน Exchange Administrators Stack Exchange อพยพ 6 ปีที่แล้ว ฉันใช้ MongoDB เพื่อเก็บค่าที่วัดได้เป็นระยะ ทุก ๆ ค่าประมาณ 100 ms จะถูกแทรกเป็นเอกสาร มันใช้งานได้ดี แต่ฉันกังวลเกี่ยวกับปัญหาด้านประสิทธิภาพ (ฉันใช้ส่วนแทรกที่ปลอดภัยดูเหมือนว่าใน PyMongo นี่เป็นค่าเริ่มต้น) จะเกิดอะไรขึ้นถ้ามีการแทรกต่อวินาทีมากกว่า mongod จะสามารถบันทึกลงฮาร์ดดิสก์ได้? จะมีการเตือนภัยหรือไม่หรือจะล้มเหลวอย่างเงียบ ๆ ? มีวิธีใดบ้างในการตรวจสอบโหลดการเขียน? ฉันพบเฉพาะdb.serverStatus().writeBacksQueuedซึ่งถูกตั้งค่าเป็นเท็จเสมอเมื่อฉันเรียกมันว่า ฉันจะทดสอบจำนวนข้อมูลที่ฉันต้องแทรกเพื่อเติมคิวการเขียนได้อย่างไร mongostatแสดงล็อค นี่เป็นสิ่งที่ฉันควรกังวลหรือไม่? insert query update delete getmore command flushes mapped vsize res faults locked db idx …
24 mongodb 

4
เป็นไปได้ไหมที่จะติดตั้ง mongo Shell?
ฉันติดตั้ง Docker แล้วและกำลังใช้งานMongoDBคอนเทนเนอร์เพื่อการพัฒนาในเครื่องของฉันบน Mac ปัญหาคือฉันไม่สามารถเชื่อมต่อกับฐานข้อมูลดังกล่าวได้อย่างง่ายดายจาก CLI ฉันติดตั้งRobo 3Tแล้วแต่ฉันต้องการใช้งานCLIไคลเอนต์แทน มีวิธีที่รู้จักในการติดตั้งเพียงแค่mongo shell(คำสั่งmongo) และไม่ใช่การกระจายฐานข้อมูลเต็มรูปแบบใน OS X หรือไม่?
21 mongodb  mac-os-x 

3
MongoDB: ข้อกำหนดของ RAM
มันเพียงพอที่จะมีดัชนีทั้งหมดในหน่วยความจำ / ram หรือ mongodb ยังพยายามจัดสรร ram ให้มากที่สุดเท่าที่จะทำได้เพื่อจัดเก็บแม้กระทั่งข้อมูลสำหรับการอ่านที่รวดเร็วหรือไม่? ฉันต้องการเรียกใช้แอปพลิเคชัน mongodb + อื่น ๆ และดูเหมือนว่า mongodb เป็นแอปพลิเคชั่นเดียวที่ไม่อนุญาตให้ฉันกำหนดช่วงของ RAM เพื่อบอกว่า "max_memory_allocated_or_reserved = 8GB" หากไม่มีวิธีที่จะทำเช่นนั้นฉันควรจะอธิบายกับนักฆ่าอุ้มว่า mongod เป็นกระบวนการ "ไม่ดี" ซึ่งไม่ใช่แนวปฏิบัติที่ดีที่สุดในความคิดของฉัน ...
20 mongodb 

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