מה זה Multi-Tenant?
Multi-Tenant Architecture היא ארכיטקטורה שבה מערכת אחת משרתת מספר לקוחות (Tenants) – כל אחד עם נתונים מבודדים, אבל חולקים את אותו software instance ואת אותה תשתית. זו הארכיטקטורה הסטנדרטית של רוב מוצרי ה-SaaS ב-2026. חשבו על Salesforce, Slack, או HubSpot – אלפי חברות משתמשות באותה מערכת, אבל כל אחת רואה רק את הנתונים שלה.
Multi-Tenant vs Single-Tenant
| קטגוריה | Multi-Tenant | Single-Tenant |
|---|---|---|
| Instances | אחד – משותף | אחד לכל לקוח |
| עלות | נמוכה (חסכון scale) | גבוהה |
| Isolation | לוגי (בקוד/DB) | פיזי (שרתים נפרדים) |
| Security | קריטי – חייב להיות מדויק | מובנה |
| Customization | מוגבל | גבוה |
| Updates | לכולם בבת אחת | לפי לקוח |
| מודל SaaS טיפוסי | כן | Enterprise/Financial בלבד |
3 גישות להטמעה
1. Shared Database, Shared Schema (Pool)
כל הנתונים באותו מסד נתונים, באותה טבלה, עם עמודת tenant_id. הכי חסכוני, אבל דורש קפדנות בכל query. אם שוכחים WHERE tenant_id – fault של אבטחה קריטי.
2. Shared Database, Separate Schemas
מסד נתונים אחד, אבל schema (או database) נפרד לכל tenant. יותר בידוד, פחות סיכון אבטחה. אבל מיגרציות קשות יותר (חייב להריץ על כל tenant).
3. Separate Databases (Silo)
מסד נתונים נפרד לכל tenant. הכי בטוח, הכי גמיש, הכי יקר. משמש ל-Enterprise clients שדורשים isolation מלא.
בפועל: Hybrid
רוב ה-SaaS ב-2026 משתמש ב-Pool ל-tier נמוך (Small Business) ו-Silo ל-Enterprise. גישה מדורגת שמאפשרת גם חיסכון וגם אבטחה.
אתגרים של Multi-Tenant
- Data Isolation – חובה מוחלטת שלקוח א לא יראה נתונים של לקוח ב
- Noisy Neighbor – לקוח כבד יכול לפגוע בביצועים של אחרים
- Customization – איך לתת גמישות ללקוחות שונים
- Compliance – GDPR, SOC 2, HIPAA – הכל הופך מורכב
- Testing – קשה לדמות environment של לקוחות שונים
- Migrations – שינויים במסד נתונים – חייבים לעבוד לכולם
Best Practices ב-2026
- Row-Level Security – PostgreSQL RLS – הגנה ברמת DB
- Tenant Context – middleware שמכניס tenant_id לכל request
- Rate Limiting Per Tenant – למנוע Noisy Neighbor
- Feature Flags Per Tenant – LaunchDarkly, גמישות בלי deployments
- Monitoring Per Tenant – Datadog tags, ability to debug per tenant
שאלות נפוצות
מתי לבחור Multi-Tenant?
לרוב מוצרי SaaS – Multi-Tenant זו הבחירה הנכונה. Single-Tenant מתאים רק ל-Enterprise clients שדורשים isolation מלא, או פרויקטים עם נתונים סופר-רגישים (בריאות, פיננסים).
איך לגדל מ-Single-Tenant ל-Multi-Tenant?
זה refactor רציני – 2-6 חודשים לפרויקט בינוני. הכי חשוב: להוסיף tenant_id לכל טבלה, לעדכן כל query, לבנות tenant context middleware, ולעבור על security ידנית. עדיף להתחיל Multi-Tenant מהיום הראשון.
מה זה B2B2C?
מודל שבו העסק שלכם מוכר ללקוחות (B2B), והלקוחות שלכם משתמשים בזה כדי לשרת את הלקוחות שלהם (B2C). למשל: Shopify מוכר לחנויות, החנויות משתמשות ב-Shopify כדי למכור לצרכנים. זה דורש ארכיטקטורת Multi-Tenant מתקדמת עם sub-tenants.