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