Multitenancy معماریای است که در آن یک نمونه از برنامه به چند مشتری یا سازمان مستقل خدمت میدهد. هر Tenant دادهها و تنظیمات خود را دارد، درحالیکه بخشی از زیرساخت و کد برنامه مشترک است.
جداسازی داده مستاجرها مسئلهای امنیتی و معماری است. باید در تمام مسیرهای کوئری، Cache، فایلها و Jobهای پسزمینه شناسه Tenant بهدرستی اعمال شود.
در یک SaaS چندمستاجری، tenant_id میتواند داده مشتریان مختلف را از هم جدا کند. این روش فقط در صورتی ایمن است که محدودیت دسترسی در تمام Queryها رعایت شود.
ایزولهسازی داده بین Tenantها
در اپلیکیشن SaaS چندمستاجری، میتوان از یک دیتابیس با tenant_id، اسکیماهای جدا یا دیتابیسهای مستقل استفاده کرد. انتخاب روش بر امنیت، هزینه عملیات، گزارشگیری و مهاجرت داده اثر میگذارد.