برنامه نویسی

Deep Dive: معماری چند اجاره Salesforce

🔹 چه کسی درگیر است؟

  • ارائه دهنده: نیروی فروش (یکی از بزرگترین شرکت های SaaS در جهان ، که بر اساس معماری چند مستاجر اختصاصی ساخته شده است).
  • مشتری (مستاجر): کوکاکولا ، آمازون ، تویوتا ، Spotify، و هزاران مشاغل دیگر که از Salesforce CRM استفاده می کنند.

1⃣ مدل چند اجاره Salesforce: پایگاه داده مشترک ، طرحواره مشترک

🔍 چگونه Salesforce داده ها را ذخیره می کند

Salesforce خدمت می کند هزاران تجارت از الف نمونه بانک اطلاعاتی اما سختگیرانه را تضمین می کند انزوا با استفاده از:

  1. شناسه مستاجر (organization_id) – منحصر به فرد هر شرکت را مشخص می کند.
  2. معماری ابرداده محور – تنظیمات هر مشتری (زمینه ها ، گردش کار) به جای جداول جداگانه به عنوان ابرداده ذخیره می شوند.
  3. امنیت سطح ردیف (RLS) و امنیت سطح شی (OLS) – اطمینان می دهد که کاربران فقط می توانند به داده های شرکت خود دسترسی پیدا کنند.

🔹 مثال: نحوه ذخیره اطلاعات مشتری در Salesforce

جدول مشترک با شناسه مستاجر (organization_id)

CREATE TABLE contacts (
    id SERIAL PRIMARY KEY,
    organization_id INT NOT NULL,  -- Tenant Identifier
    name VARCHAR(255),
    email VARCHAR(255),
    created_at TIMESTAMP DEFAULT NOW()
);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

واکشی داده ها برای یک مستاجر خاص (سازمان مشتری)

SELECT * FROM contacts WHERE organization_id = 456;  -- Only fetch contacts for Org 456
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


2⃣ چگونه Salesforce برای میلیون ها مستاجر مقیاس گذاری می کند

🔹 فن آوری های کلیدی مورد استفاده

پایگاه داده چند مستاجر اختصاصی (پلت فرم Force.com)

امنیت سطح ردیف (RLS) – جداسازی داده های دقیق را تضمین می کند.

معماری ابرداده محور – به جای ایجاد جداول جداگانه برای هر شرکت ، Salesforce تنظیمات را به عنوان ابرداده ذخیره می کند.

پارتیشن بندی افقی (Sharding) – مشتریان بزرگ را در سرورهای مختلف توزیع می کند.

🔹 مثال: چند اجاره بهار ابرداده محور

به جای ایجاد یک custom_fields جدول در هر مستاجر ، فروشگاه های Salesforce زمینه های سفارشی به صورت پویا در ابرداده:

{
    "organization_id": 456,
    "custom_field_name": "Customer_Type",
    "custom_field_value": "Premium"
}
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این بدان معنی است که هر شرکت می تواند زمینه های سفارشی ، گردش کار و گزارش های خود را بدون تغییر ساختار پایگاه داده اصلی تعریف کند.


3⃣ چگونه Salesforce انزوا و امنیت داده ها را تضمین می کند

🔹 1. امنیت سطح ردیف (RLS)

Salesforce تضمین می کند که یک مستاجر (شرکت) فقط می تواند به سوابق خود دسترسی پیدا کند:

CREATE POLICY tenant_isolation
ON contacts
FOR SELECT
USING (organization_id = current_setting('app.current_organization')::int);
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

قبل از اجرای نمایش داده شد ، Salesforce تنظیم می کند مستاجر فعلی:

SET app.current_organization = 456;
SELECT * FROM contacts;  -- Fetches only Org 456’s contacts
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


🔹 2. امنیت سطح شی (OLS) و امنیت سطح میدان (FLS)

Salesforce همچنین دسترسی به اشیاء خاص (جداول) و زمینه ها بر اساس نقش کاربر.

مثال: دسترسی مبتنی بر نقش

  • سرپرستان می توانند تمام سوابق مشتری را مشاهده کنند.
  • نمایندگان فروش فقط می توانند مشتریان اختصاص داده شده خود را مشاهده کنند.
SELECT * FROM contacts WHERE assigned_sales_rep = 'John Doe';
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مثال: مخفی کردن زمینه های حساس

  • امنیت در سطح میدانی فقط کاربران مجاز را تضمین می کنند که می توانند به داده های حساس دسترسی پیدا کنند.
SELECT name, email FROM contacts;  -- Omits sensitive fields like `ssn`
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


4⃣ چرا Salesforce به جای بانکهای اطلاعاتی جداگانه از یک طرحواره مشترک استفاده می کند

رویکرد انزوا عمل هزینه پیچیدگی
طرح مشترک (مدل Salesforce) واسطه عالی کم کم
پایگاه داده های جداگانه در هر مستاجر عالی واسطه عالی عالی

استدلال Salesforce:

  • طرحواره مشترک اجازه بازیابی سریع داده های چند مستاجر را می دهد.
  • معماری ابرداده محور سفارشی سازی را آسان می کند.
  • قوانین امنیتی (RLS ، OLS ، FLS) انزوا مستاجر را تضمین می کند.
  • Sharding به توزیع مشتریان بزرگ در خوشه های مختلف پایگاه داده کمک می کند.

🔹 غذای نهایی

Salesforce از یک پایگاه داده مشترک با امنیت سطح ردیف و چند اجاره ای از ابرداده محور استفاده می کند.

مشتریان بدون تغییر ساختار پایگاه داده ، تنظیم CRM خود را سفارشی می کنند.

Sharding & Indexing از مقیاس پذیری برای شرکتهای بزرگ مانند Coca-Cola و Amazon اطمینان حاصل کنید.

🚀 این رویکرد به Salesforce اجازه می دهد تا ضمن حفظ امنیت و انزوا داده های خود ، به هزاران مشاغل خدمت کند.

آیا شما دوست دارید شیرجه عمیق به یک مثال دیگر SaaS مانند Shopify یا QuickBooks؟ 😊

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا