คำถามติดแท็ก multi-tenant

4
วิธีสร้างฐานข้อมูลแบบหลายผู้เช่าที่มีโครงสร้างตารางแบบแบ่งใช้
ขณะนี้ซอฟต์แวร์ของเราทำงานบน MySQL ข้อมูลของผู้เช่าทั้งหมดจะถูกเก็บไว้ในสคีมาเดียวกัน เนื่องจากเราใช้ Ruby on Rails เราจึงสามารถระบุได้ว่าข้อมูลใดเป็นของผู้เช่ารายใด อย่างไรก็ตามมี บริษัท บางแห่งที่กลัวว่าข้อมูลของพวกเขาอาจถูกบุกรุกดังนั้นเราจึงประเมินโซลูชั่นอื่น ๆ จนถึงตอนนี้ฉันได้เห็นสามตัวเลือก: หลายฐานข้อมูล (ผู้เช่าแต่ละคนได้รับเป็นของตัวเอง - เกือบเท่ากับ 1 เซิร์ฟเวอร์ต่อลูกค้าหนึ่งราย) Multi-Schema (ไม่มีให้ใน MySQL ผู้เช่าแต่ละคนจะได้รับ schema ของตัวเองในฐานข้อมูลที่แชร์) Shared Schema (แนวทางปัจจุบันของเราอาจมีการระบุบันทึกเพิ่มเติมในแต่ละคอลัมน์) Multi-Schema เป็นรายการโปรดของฉัน (พิจารณาค่าใช้จ่าย) อย่างไรก็ตามการสร้างบัญชีใหม่และการย้ายข้อมูลดูเหมือนจะค่อนข้างเจ็บปวดเพราะฉันจะต้องทำซ้ำกับ schema ทั้งหมดและเปลี่ยนตาราง / คอลัมน์ / คำจำกัดความของพวกเขา ถาม: Multi-Schema ดูเหมือนว่าได้รับการออกแบบให้มีตารางที่แตกต่างกันเล็กน้อยสำหรับผู้เช่าแต่ละคน - ฉันไม่ต้องการสิ่งนี้ มี RDBMS ใดบ้างที่อนุญาตให้ฉันใช้ multi-schema multi-tenant solution ซึ่งมีการแชร์โครงสร้างตารางระหว่างผู้เช่าทั้งหมดหรือไม่ …

6
แนวทางที่แนะนำสำหรับฐานข้อมูลแบบหลายผู้เช่าใน MongoDB คืออะไร?
ฉันกำลังคิดที่จะสร้างแอปหลายผู้เช่าโดยใช้ MongoDB ฉันยังไม่รู้เลยว่าจะมีผู้เช่ากี่คน แต่ฉันอยากจะขยายเป็นหลักพัน ฉันคิดได้สามกลยุทธ์: ผู้เช่าทั้งหมดในคอลเล็กชันเดียวกันโดยใช้ฟิลด์เฉพาะผู้เช่าเพื่อความปลอดภัย 1 คอลเล็กชันต่อผู้เช่าในฐานข้อมูลที่ใช้ร่วมกันเดียว 1 ฐานข้อมูลต่อผู้เช่า เสียงในหัวของฉันกำลังบอกให้ฉันเลือกตัวเลือกที่ 2 ความคิดและความหมายใคร?

3
เป็นไปได้ไหมที่จะมีพูลการเชื่อมต่อฐานข้อมูลหลายตัวในรางเพื่อสลับไปมา?
พื้นหลังเล็กน้อย ฉันใช้พลอยอพาร์ทเม้นท์เพื่อเรียกใช้แอพหลายผู้เช่ามาหลายปีแล้ว ตอนนี้เมื่อเร็ว ๆ นี้ความต้องการในการขยายฐานข้อมูลออกไปยังโฮสต์ที่แยกต่างหากได้มาถึงแล้วเซิร์ฟเวอร์ db ก็ไม่สามารถติดตามได้อีกต่อไป (ทั้งการอ่านและการเขียนมีมากเกินไป) - และใช่ฉันปรับขนาดฮาร์ดแวร์ให้สูงสุด ฮาร์ดแวร์ 64 คอร์, 12 Nvm-e ไดรฟ์ในการโจมตี 10, 384Gb ram เป็นต้น) ฉันกำลังพิจารณาที่จะทำสิ่งนี้ต่อผู้เช่า (1 tenant = 1 การเชื่อมต่อฐานข้อมูล config / pool) เพราะนั่นจะเป็นวิธีที่ "ง่าย" และมีประสิทธิภาพในการเพิ่มnumber-of-tenantsความจุได้มากขึ้นโดยไม่ต้องเปลี่ยนรหัสแอปพลิเคชัน ตอนนี้ฉันกำลังเรียกใช้ rails 4.2 atm. และอีกไม่นานจะอัพเกรดเป็น 5.2 ฉันเห็นว่า Rails 6 เพิ่มการสนับสนุนสำหรับคำจำกัดความการเชื่อมต่อต่อโมเดลอย่างไรก็ตามนั่นไม่ใช่สิ่งที่ฉันต้องการจริงๆเพราะฉันมี schema ฐานข้อมูลแบบมิเรอร์ทั้งหมดสำหรับผู้เช่า 20 คนของฉัน โดยทั่วไปฉันจะสลับ "ฐานข้อมูล" ต่อคำขอ (เป็นมิดเดิลแวร์) …

3
ลงทะเบียนชุดรูปแบบการตรวจสอบสิทธิ์ตามผู้เช่าใน asp.net core 3.1
ปัจจุบันฉันได้สร้างเว็บแอพพลิเคชันเซิร์ฟเวอร์ Identity 4 ที่มีผู้ให้บริการเข้าสู่ระบบภายนอกที่มีรหัสลูกค้าและความลับเริ่มต้น แต่เป้าหมายของฉันคือการลงทะเบียนผู้ให้บริการการรับรองความถูกต้องเช่น Azure, Google, Facebook ตามผู้เช่า ฉันใช้SaasKitชุดประกอบหลายผู้เช่าที่นี่ฉันได้ลองมิดเดิลแวร์ app.usepertenant ()แล้ว แต่UseGoogleAuthentication ()วิธีการล้าสมัยดังนั้นฉันไม่สามารถบรรลุการรับรองความถูกต้องของผู้เช่าหลายคนโดยใช้มิดเดิลแวร์ที่ใช้ก่อนหน้านี้ รหัสปัจจุบัน services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); รหัสที่คาดหวังเป็นเหมือนด้านล่าง var authentication = services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme); if (tenant.hasMicrosoft) { authentication.AddMicrosoftAccount(option => { option.ClientId = "clientid"; option.ClientSecret = "clientsecret"; option.SaveTokens = true; }); …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.