Berbagi teknologi

Gudang data sarang multi-penyewa

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Konsep

Multi-penyewa berhubungan dengan penyewa tunggal. Artikel ini berfokus pada multi-penyewa.

1.1 Multi-sewa

Teknologi multi-tenant, atau teknologi multi-tenancy, disebut sebagai SaaS, adalah teknologi arsitektur perangkat lunak yang mewujudkan cara berbagi komponen sistem atau program yang sama dalam lingkungan multi-pengguna (multi-pengguna di sini umumnya untuk pengguna perusahaan), dan dapat memastikan Isolasi data antar pengguna. Sederhananya: satu contoh aplikasi berjalan di server dan melayani banyak penyewa (pelanggan). Dari definisi tersebut kita dapat memahami:Multi-tenancy adalah arsitektur yang bertujuan untuk memungkinkan banyak pengguna menggunakan serangkaian program yang sama dan memastikan isolasi data antar pengguna.

1.2 Penyewa Tunggal

Perbedaan antara arsitektur penyewa tunggal dan multipenyewa adalah bahwa penyewa tunggal membuat aplikasi perangkat lunak terpisah dan lingkungan pendukung untuk setiap pengguna. SaaS penyewa tunggal banyak digunakan dalam aplikasi di mana pelanggan perlu mendukung penyesuaian, baik karena geografi atau karena memerlukan kontrol keamanan yang lebih tinggi. Melalui model penyewa tunggal, setiap pelanggan memiliki salinan database dan sistem operasi yang ditempatkan di server independen, atau di lingkungan jaringan virtual yang diisolasi menggunakan langkah-langkah keamanan yang kuat.

1.3 Perbedaan antara penyewa tunggal dan multi-penyewa

  1. Ada berbagai tingkat kontrol keamanan. Basis data multi-penyewa menyimpan data dari beberapa penyewa independen. Meskipun isolasi keamanan telah disiapkan, tingkat kontrol keamanan masih lebih tinggi dibandingkan dengan satu penyewa. Karena satu penyewa memiliki lingkungan perangkat lunak dan perangkat keras yang independen, dan database hanya menyimpan data satu penyewa, kemungkinan kebocoran data secara teknis dihilangkan. Arsitektur penyewa tunggal terkadang lebih cocok untuk industri tertentu yang memerlukan kontrol keamanan atau bahkan persyaratan kepatuhan hukum.
  2. Pencadangan data memiliki kompleksitas yang berbeda-beda. Satu penyewa memiliki database independen, dan pencadangan serta pemulihan database pelanggan sangat mudah. Multi-penyewa berbagi database, dan data penyewa diisolasi dan dibagikan. Sistem tidak dapat secara otomatis melakukan pencadangan independen pada perusahaan setiap hari.
  3. Waktu peningkatan kontrol bervariasi. Biaya pemeliharaan sistem multi-penyewa rendah, dan ketika sistem multi-penyewa ditingkatkan, sistem tersebut hanya perlu diperbarui satu kali. Personel pemeliharaan tidak perlu memperbarui setiap pengguna, sehingga menghemat banyak biaya pengoperasian dan pemeliharaan. Ini berguna untuk sistem di mana semua klien melakukan hal yang sama. Namun, jika waktu pemutakhiran sistem terjadi ketika perusahaan sedang sangat sibuk, hal ini pasti akan berdampak pada pengguna perusahaan.

Skenario penerapan: Multi-tenancy cocok untuk beberapa perusahaan (departemen) berbeda di bawah grup (perusahaan) yang sama. Sekalipun datanya bocor, datanya tidak akan bocor ke luar.

2. Solusi isolasi data multi-penyewa

  • basis data independen
  • Basis data bersama, Skema independen
  • Basis data bersama, Skema bersama, tabel data bersama

2.1 Basis data independen

Ini adalah solusi pertama, satu penyewa dan satu database.Solusi ini memiliki tingkat isolasi data pengguna tertinggi dan keamanan terbaik, namun biayanya lebih tinggi.

  • Keuntungan: Menyediakan database independen untuk penyewa yang berbeda membantu menyederhanakan desain perluasan model data dan memenuhi kebutuhan unik penyewa yang berbeda. Jika terjadi kegagalan, pemulihan data relatif mudah.
  • Kekurangan: Meningkatkan jumlah instalasi database, sehingga meningkatkan biaya pemeliharaan dan biaya akuisisi.

Solusi ini mirip dengan solusi tradisional satu pelanggan, satu set data, dan satu set penerapan. Satu-satunya perbedaan adalah perangkat lunak diterapkan secara seragam di operator. Jika Anda menghadapi penyewa seperti bank dan rumah sakit yang memerlukan tingkat isolasi data yang sangat tinggi, Anda dapat memilih model ini untuk menaikkan harga sewa. Jika penetapan harga rendah dan produk mengambil jalur harga rendah, solusi ini umumnya tidak terjangkau bagi operator.

2.2 Basis data bersama, Skema independen

Ini adalah solusi kedua, yaitu beberapa atau semua penyewa berbagi Database, namun setiap penyewa memiliki Skema (disebut juga pengguna). Pustaka yang mendasarinya adalah, misalnya: DB2, ORACLE, dll. Mungkin ada beberapa SCHEMA dalam satu database.

  • Keuntungan: Menyediakan isolasi data logis pada tingkat tertentu untuk penyewa dengan persyaratan keamanan yang lebih tinggi, tetapi tidak isolasi lengkap setiap database dapat mendukung jumlah penyewa yang lebih besar;
  • Kekurangan: Jika terjadi kegagalan, pemulihan data sulit karena pemulihan database akan melibatkan data penyewa lain, jika diperlukan statistik lintas penyewa, akan ada kesulitan tertentu.

2.3 Basis data bersama, Skema bersama, tabel data bersama

Ini adalah pilihan ketiga, Artinya, penyewa berbagi Database dan Skema yang sama, namun menambahkan bidang data multi-penyewa TenantID ke tabel.Ini adalah mode dengan tingkat berbagi tertinggi dan tingkat isolasi terendah
Artinya, setiap kali ada data yang dimasukkan, diperlukan ID pelanggan. Dengan cara ini, data pelanggan yang berbeda dapat dibedakan dalam tabel yang sama.

  • Keuntungan: Perbandingan tiga opsi,Opsi ketiga memiliki biaya pemeliharaan dan akuisisi terendah dan memungkinkan jumlah penyewa per database terbesar.
  • Kekurangan: Tingkat isolasi terendah dan keamanan terendah, memerlukan lebih banyak pengembangan keamanan selama desain dan pengembangan; Pencadangan dan pemulihan data adalah yang paling sulit, memerlukan pencadangan dan pemulihan tabel demi tabel.Solusi ini paling cocok jika Anda ingin melayani sebagian besar penyewa dengan server paling sedikit, dan penyewa menerima pengorbanan tingkat isolasi dengan imbalan biaya yang lebih rendah.

2.4 Ringkasan

Selama proses implementasi SaaS, terdapat titik pertimbangan yang jelas, yaitu bagaimana merancang data aplikasi untuk mendukung multi-tenant. Ide desain ini adalah untuk mencapai keseimbangan antara berbagi data, isolasi keamanan, dan kinerja.Ciri-ciri ketiga mode tersebut dapat dirangkum dalam satu gambar

Gudang data sarang multi-penyewa multi-penyewa saas_multi-penyewa