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

3
ระบบหลายผู้เช่าที่ควรใช้ SQL Server 2016, Shard หรือแยกผู้เช่าผ่านฐานข้อมูลแยกต่างหากต่อผู้เช่าหรือไม่?
รับกรณีการใช้งาน: ข้อมูลผู้เช่าไม่ควรพูดคุยข้าม, ผู้เช่ารายหนึ่งไม่ต้องการข้อมูลของผู้เช่ารายอื่น ผู้เช่าแต่ละรายอาจมีปริมาณข้อมูลประวัติขนาดใหญ่ได้ SQL Server โฮสต์อยู่ในอินสแตนซ์ของ AWS EC2 ผู้เช่าแต่ละรายอยู่ห่างจากพื้นที่ทางภูมิศาสตร์ มีความตั้งใจที่จะใช้เครื่องมือสร้างภาพข้อมูลบุคคลที่สามเช่น PowerBI Embedded คาดว่าปริมาณข้อมูลจะเพิ่มขึ้นเมื่อเวลาผ่านไป ค่าใช้จ่ายของระบบถูก จำกัด การแก้ปัญหาจะต้องสามารถบำรุงรักษาได้โดยไม่ต้องมี DBA ผลิต 24/7 การแก้ปัญหาควรจะสามารถปรับขนาดในแนวนอน จำนวนผู้เช่าทั้งหมดน้อยกว่า 50 สิ่งที่จะเป็นสถาปัตยกรรมที่แนะนำมีการใช้งานอ้างอิงสำหรับกรณีการใช้งานนี้หรือไม่? ฉันเชื่อว่าหลายคนอาจประสบปัญหานี้แล้วสำหรับการพัฒนาซอฟต์แวร์ระดับองค์กร ผมคิดว่านี่เป็นสถานการณ์ที่แตกต่างจากการจัดการตัวเลขการเติบโตของผู้เช่าในหลายลูกสถาปัตยกรรมฐานข้อมูล กรณีการใช้ที่กล่าวถึงในคำถามนั้นเกี่ยวข้องกับผู้เช่าจำนวนมากซึ่งแตกต่างจากการมีผู้เช่ารายใหญ่น้อยมาก (50) คน สถาปัตยกรรมที่กล่าวถึงอาจเป็นวิธีแก้ปัญหาที่นี่ซึ่งเป็นสิ่งที่ฉันต้องการทราบเพิ่มเติมเกี่ยวกับ

2
MongoDB: ค้นหากระบวนการ mongos ร่วมกับแอพพลิเคชันเซิร์ฟเวอร์
ฉันต้องการถามคำถามเกี่ยวกับแนวปฏิบัติที่ดีที่สุดที่อธิบายไว้ในเอกสารนี้: http://info.mongodb.com/rs/mongodb/images/MongoDB-Performance-Best-Practices.pdf ใช้เราเตอร์แบบสอบถามหลายรายการ ใช้กระบวนการ mongos หลายตัวในหลายเซิร์ฟเวอร์ การปรับใช้ทั่วไปคือการค้นหากระบวนการ mongos บนแอ็พพลิเคชันเซิร์ฟเวอร์ซึ่งอนุญาตการสื่อสารโลคัลระหว่างแอ็พพลิเคชันและกระบวนการ mongos จำนวนกระบวนการ mongos ที่เหมาะสมจะขึ้นอยู่กับลักษณะของแอ็พพลิเคชันและการปรับใช้ พื้นหลังเล็กน้อยเกี่ยวกับการปรับใช้ของเรา เรามีโหนดแอพพลิเคชันเซิร์ฟเวอร์จำนวนมาก แต่ละกระบวนการรันหนึ่งกระบวนการที่ใช้ JVM ด้วย RESTful WS ที่ไร้สัญชาติ ตามแนวทางปฏิบัติที่ดีที่สุดนี้แนะนำให้ทุกโหนดเซิร์ฟเวอร์แอปพลิเคชันเดียวรันmongosกระบวนการของตัวเองซึ่งหมายความว่าจำนวนของกระบวนการ JVM เท่ากับจำนวนmongosกระบวนการเสมอ mongosกระบวนการทั้งหมดเชื่อมต่อกับ 3 เซิร์ฟเวอร์การกำหนดค่าและหลาย mongo shards (พร้อมชุดแบบจำลองภายในแต่ละ shard) แม้ว่าเราจะใช้การปรับใช้ที่ใช้ร่วมกัน แต่เราก็ไม่ได้ทำลายคอลเลกชันของเราจริงๆ ในความเป็นจริงเรามีฐานข้อมูลจำนวนมากซึ่งกระจายไปทั่วเศษทั้งหมดในช่วงเวลาที่สร้าง (และนี่เป็นกรณีการใช้งานหลักของเราสำหรับการแยกส่วนในขณะนี้) เนื่องจากแนวปฏิบัติที่ดีที่สุดแนะนำว่า "จำนวนกระบวนการ mongos ที่เหมาะสมจะขึ้นอยู่กับลักษณะของแอปพลิเคชันและการปรับใช้" ฉันเริ่มสงสัยว่าการใช้งานของเราmongosนั้นเหมาะสมหรือไม่หรือถ้ามันจะดีกว่าสำหรับเราที่จะมีmongosโหนดเฉพาะเซิร์ฟเวอร์แอปของเราเชื่อมต่อกับพวกเขาโดยไม่ต้องmongosทำงานในพื้นที่ คุณมีความคิดเห็นเกี่ยวกับวิธีที่ดีที่สุดในการตัดสินใจว่ามีmongosอินสแตนซ์ที่เหมาะสมจำนวนเท่าใดที่เกี่ยวข้องกับอินสแตนซ์ของเซิร์ฟเวอร์แอปพลิเคชันที่นับหรือขนาดของคลัสเตอร์ MongoDB เมื่อเร็ว ๆ นี้เราเริ่มพิจารณาการจัดการคลัสเตอร์สำหรับบริการเว็บไร้สัญชาติของเราซึ่งฉันหมายถึงเครื่องมือเช่น Docker, Apache Mesos และ Kubernetes …

1
mongodb shard chunk migration 500GB ใช้เวลา 13 วัน - สิ่งนี้ช้าหรือปกติหรือไม่?
ฉันมี mongodb shard cluster, shard key ถูกแฮช มันมีชุดเลียนแบบ 2 ชิ้น ชุดจำลองแต่ละชุดมี 2 เครื่อง ฉันทำการทดลองโดยเพิ่มชุดจำลอง 2 ชิ้นอีกชุดและเริ่มปรับสมดุลใหม่ อย่างไรก็ตามหลังจากที่ในขณะที่ฉันพบว่าการโยกย้ายก้อนค่อนข้างช้า ใช้เวลา 1 ชั่วโมงในการย้ายข้อมูล 1.4GB มันทำให้ฉันกังวลมันหมายความว่าฉันต้องรอ 13 วันเพื่อให้การย้ายข้อมูลก้อนใหญ่เสร็จสมบูรณ์ 500GB! ฉันใหม่สำหรับสิ่งนี้และฉันไม่มีพระเจ้าที่รู้สึกว่ามันช้าเร็วหรือปกติ แต่ถึงกระนั้นตัวเลขเหล่านี้ก็ไม่ทำให้ฉันเชื่อ หมายเหตุเพิ่มเติมเกี่ยวกับการทดลอง: - การใช้เครื่อง m3 ขนาดกลาง aws - ไม่มีกระบวนการอื่นทำงานเพียงการโยกย้ายก้อน - การติดตั้ง mongodb sharding เริ่มต้นที่ไม่มีการกำหนดค่าเพิ่มเติม - shardkey กำลังใช้ hashed ที่ object id (_id) - ขนาดก้อนสูงสุด …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.