Apakah basis data multi-penyewa:
- Server DB yang memiliki basis data / skema yang berbeda (identik) untuk setiap pelanggan / penyewa ?; atau
- Server DB yang memiliki database / skema di mana pelanggan / penyewa berbagi catatan di dalam tabel yang sama?
Sebagai contoh, di bawah Opsi # 1 di atas, saya mungkin memiliki server MySQL di, katakanlah mydb01.example.com
,, dan mungkin memiliki customer1
database di dalamnya. customer1
Database ini mungkin memiliki, katakanlah, 10 tabel yang mendukung aplikasi saya untuk pelanggan tertentu (Pelanggan # 1). Mungkin juga memiliki customer2
database dengan 10 tabel yang sama persis di dalamnya, tetapi hanya berisi data untuk Pelanggan # 2. Mungkin memiliki customer3
database, customer4
database, dan sebagainya.
Dalam Opsi # 2 di atas, hanya akan ada satu basis data / skema, katakanlah myapp_db
, lagi dengan 10 tabel di dalamnya (sama seperti di atas). Tapi di sini, data untuk semua pelanggan ada di dalam 10 tabel itu, dan karena itu mereka "berbagi" tabel. Dan pada lapisan aplikasi, logika dan kontrol keamanan dimana pelanggan memiliki akses ke catatan mana dalam 10 tabel tersebut, dan sangat hati-hati untuk memastikan bahwa Pelanggan # 1 tidak pernah masuk ke aplikasi dan melihat data Pelanggan # 3, dll.
Manakah dari paradigma ini yang merupakan DB "multi-tenant" tradisional? Dan jika tidak ada, maka dapatkah seseorang memberi saya contoh (menggunakan skenario yang dijelaskan di atas) tentang apa itu DB multi-penyewa?