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

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

2
ฐานข้อมูลผู้เช่าหลายรายมีฐานข้อมูลหลายแห่งหรือตารางที่แชร์หรือไม่
เป็นฐานข้อมูลผู้เช่าหลายคน: เซิร์ฟเวอร์ฐานข้อมูลที่มีฐานข้อมูล / สคีมาแตกต่างกันสำหรับลูกค้า / ผู้เช่าแต่ละราย หรือ เซิร์ฟเวอร์ฐานข้อมูลที่มีฐานข้อมูล / สคีมาที่ลูกค้า / ผู้เช่าแบ่งปันบันทึกภายในตารางเดียวกันหรือไม่ ตัวอย่างเช่นภายใต้ตัวเลือก # 1 ด้านบนฉันอาจมีเซิร์ฟเวอร์ MySQL ที่พูดmydb01.example.comและอาจมีcustomer1ฐานข้อมูลอยู่ภายใน customer1ฐานข้อมูลนี้อาจมี 10 ตารางที่เพิ่มประสิทธิภาพแอปพลิเคชันของฉันสำหรับลูกค้ารายนั้น (ลูกค้า # 1) มันอาจจะมีcustomer2ฐานข้อมูลที่มี 10 ตารางเหมือนกัน แต่มีเพียงข้อมูลสำหรับลูกค้า # 2 มันอาจมีcustomer3ฐานcustomer4ข้อมูลฐานข้อมูลและอื่น ๆ ในตัวเลือก # 2 ด้านบนจะมีเพียงฐานข้อมูล / สคีเดียวเท่านั้นพูดmyapp_dbอีกครั้งโดยมี 10 ตารางอยู่ (เหมือนที่อยู่ด้านบน) แต่ที่นี่ข้อมูลสำหรับลูกค้าทั้งหมดอยู่ใน 10 ตารางเหล่านั้นและพวกเขาจึง "แบ่งปัน" ตาราง และที่ชั้นแอปพลิเคชันการควบคุมตรรกะและความปลอดภัยซึ่งลูกค้าสามารถเข้าถึงได้ว่าระเบียนใดบ้างใน 10 ตารางดังกล่าวและมีการดูแลอย่างดีเยี่ยมเพื่อให้แน่ใจว่าลูกค้า # …

5
Multi-tenancy - ฐานข้อมูลเดียวเทียบกับหลายฐานข้อมูล
เรามีลูกค้าจำนวนมากที่มีระบบแบ่งปันฟังก์ชั่นบางอย่าง แต่ก็มีความหลากหลายในระดับหนึ่ง จำนวนลูกค้ากำลังเติบโต - เป็นสิ่งที่ดีต่อสุขภาพเสมอ! - และความหลากหลายระหว่างธุรกิจของพวกเขาก็เพิ่มขึ้นเช่นกัน ในปัจจุบันมีเว็บไซต์ ASP.Net (แบบฟอร์มบนเว็บ) เดียว (ตรงข้ามกับโครงการเว็บ) ซึ่งมีโฟลเดอร์ย่อยสำหรับผู้เช่าแต่ละรายโดยมีหน้าที่ไม่ได้มาตรฐานของผู้เช่ารายนั้น มีโครงการแบบแยกต่างหากซึ่งเกี่ยวข้องกับการเข้าถึงฐานข้อมูลและตรรกะทางธุรกิจ ข้อไหนดีกว่าและที่สำคัญที่สุดคือทำไมระหว่างการมี (a) 1 ฐานข้อมูลต่อลูกค้าโดยมีเฉพาะคุณสมบัติที่เกี่ยวข้องกับไคลเอ็นต์นั้น หรือ (b) ฐานข้อมูลเดียวที่ใช้ร่วมกันโดยไคลเอนต์ทั้งหมดที่มีเพียงส่วนย่อยของตารางที่จะใช้โดยลูกค้ารายใดรายหนึ่ง ความกังวลหลักภายในธุรกิจมีมากกว่า: การบำรุงรักษาสินทรัพย์หลายรายการ - การสำรองข้อมูลการควบคุมเวอร์ชันและสิ่งที่คล้ายกัน ส่งเสริมการใช้ซ้ำให้มากที่สุด คุณจะมั่นใจได้อย่างไรว่าปัญหาเหล่านี้ได้รับการแก้ไขซึ่งเป็นวิธีที่เหมาะสมกว่าและทำไม (ฉันได้รวบรวมคำตอบสำหรับคำถามที่คล้ายกันด้วย)

3
แอปพลิเคชันผู้เช่าหลายคนคืออะไร
ตามคำจำกัดความที่มีออนไลน์คือ " Multi-tenancy เป็นสถาปัตยกรรมที่อินสแตนซ์เดียวของแอปพลิเคชันซอฟต์แวร์ให้บริการลูกค้าหลายราย " หมายถึงฉันมีเว็บไซต์ร้านอาหารหรือโรงเรียนและฉันให้การเข้าถึงร้านอาหารหรือโรงเรียนต่าง ๆ เพื่อใช้แอปพลิเคชันของฉันกับข้อมูลของตัวเองโดยใช้ข้อมูลประจำตัวของพวกเขาที่ฉันให้เมื่อพวกเขาซื้อผลิตภัณฑ์การจัดการโรงเรียน เช่นเดียวกับเว็บไซต์ของฉันเหมือนschoolmanagement.comและฉันมอบโดเมนย่อยที่แตกต่างให้กับลูกค้าโรงเรียนต่าง ๆ เช่นschool1.schoolmanagement.com & school2.schoolmanagement.comแต่รหัสนั้นเหมือนกันทั้งสองโดเมนย่อยเหล่านี้ โรงเรียนทั้งสองแห่งมีฟังก์ชั่นหรือธีมที่แตกต่างกันขึ้นอยู่กับฐานข้อมูลแยก ดังนั้นฉันต้องให้schoolmanagement.comเพื่อเข้าสู่ระบบและเมื่อเข้าสู่ระบบของลูกค้าของพวกเขาขึ้นอยู่กับการเข้าสู่ระบบการรับรองฉันเปลี่ยนเส้นทางไปยัง URL ของตนเช่นschool1.schoolmanagement.com นี่คือความเข้าใจของฉันเกี่ยวกับแอปพลิเคชันผู้เช่าหลายคน ความเข้าใจของฉันถูกต้องหรือไม่ มีแอปพลิเคชั่นหลายผู้เช่าออนไลน์ที่ฉันสามารถผ่านได้

2
การครอบครองหลายครั้งหรือหลายอินสแตนซ์?
ฉันกำลังพยายามสร้างโซลูชัน SaaS ทางเว็บและฉันเข้าสู่ถนนที่ฉันไม่แน่ใจว่าจะใช้หลายผู้เช่าหรืออินสแตนซ์หลาย ฉันจะพยายามอธิบายสิ่งที่ฉันพยายามที่จะบรรลุและแต่ละวิธีข้อดีและข้อเสีย (ความเห็นของฉันตามสิ่งที่ฉันอ่าน) โปรดระบุคำแนะนำของคุณในกรณีที่ฉันพลาดอะไรในแนวทางเดียว แอปพลิเคชันที่ฉันพยายามสร้างคือดังที่ฉันกล่าวถึงโซลูชัน SaaS ที่ บริษัท สามารถสร้างบัญชีของตนเองและแต่ละบัญชี / บริษัท มีผู้ใช้ลูกค้าผลิตภัณฑ์บริการ ... ฯลฯ ผู้ใช้แต่ละคน; ใครเป็นพนักงาน บริษัท ที่เกี่ยวข้องกับหนึ่งบัญชี / บริษัท จะสามารถเข้าถึงลูกค้า บริษัท ผลิตภัณฑ์และบริการของตนเท่านั้น บริษัท ต่างๆอาจมีลูกค้าผลิตภัณฑ์และบริการไม่ จำกัด จำนวนดังนั้นแต่ละ บริษัท ควรมีศูนย์ข้อมูลของตัวเอง เพื่อที่ฉันตัดสินใจที่จะสร้างฐานข้อมูลที่ใช้ร่วมกัน (บันทึกข้อมูลประจำตัวของผู้ใช้ทั้งหมดเพื่อวัตถุประสงค์ในการเข้าสู่ระบบ) และหลายสคีมาฐานข้อมูลที่ใช้ร่วมกัน (ฐานข้อมูลต่อบัญชี / บริษัท ) โดยทั่วไปมีหลายครอบครอง จากนั้นมีคนแนะนำให้ใช้Multi Instanceแทนซึ่งแต่ละ บริษัท จะมีอินสแตนซ์ของแอปพลิเคชันของตัวเอง (เช่นรหัสห้องสมุดฐานข้อมูลกรอบงาน ... ฯลฯ ) แยกออกจาก บริษัท อื่นโดยสิ้นเชิง …

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