Bagaimana untuk melaksanakan penggunaan berbilang penyewa dan penyimpanan data terpencil dalam MySQL?
Dengan perkembangan pesat pengkomputeran awan, seni bina berbilang penyewa menjadi semakin biasa. Dalam seni bina ini, berbilang penyewa boleh berkongsi contoh aplikasi yang sama, tetapi data mereka mesti diasingkan dengan ketat. Sebagai sistem pengurusan pangkalan data hubungan yang biasa digunakan, MySQL menyediakan beberapa kaedah kepada pembangun untuk mencapai penggunaan berbilang penyewa dan penyimpanan data terpencil.
1. Gunakan tika pangkalan data untuk penggunaan berbilang penyewa
Dalam MySQL, kami boleh menggunakan tika pangkalan data yang berbeza untuk melaksanakan penggunaan berbilang penyewa. Setiap penyewa mempunyai contoh pangkalan data bebas, yang memastikan bahawa setiap data penyewa diasingkan sepenuhnya. Berikut ialah kod sampel:
-- 创建数据库实例 CREATE DATABASE tenant1; CREATE DATABASE tenant2; -- 授予租户访问数据库实例的权限 GRANT ALL PRIVILEGES ON tenant1.* TO 'tenant1'@'localhost'; GRANT ALL PRIVILEGES ON tenant2.* TO 'tenant2'@'localhost';
Dalam contoh di atas, kami mencipta dua tika pangkalan data, masing-masing penyewa1 dan penyewa2, dan memberikan mereka kebenaran yang sepadan. Dengan cara ini, setiap penyewa hanya boleh mengakses contoh pangkalan data yang dimilikinya. Dalam aplikasi sebenar, lebih banyak contoh pangkalan data boleh dibuat mengikut keperluan untuk memenuhi keperluan penyewa yang berbeza.
2. Gunakan awalan jadual untuk pengasingan berbilang penyewa
Satu lagi kaedah biasa ialah menggunakan awalan jadual untuk mencapai storan pengasingan berbilang penyewa. Dalam contoh pangkalan data yang sama, setiap penyewa mempunyai set jadualnya sendiri, dan awalan yang berbeza ditambahkan pada jadual mengikut peraturan tertentu. Berikut ialah contoh kod:
-- 创建表前缀 CREATE TABLE tenant1_table1 ( ... ); CREATE TABLE tenant1_table2 ( ... ); CREATE TABLE tenant2_table1 ( ... ); CREATE TABLE tenant2_table2 ( ... );
Dalam contoh di atas, kami telah mencipta satu set jadual dengan awalan jadual yang berbeza untuk setiap penyewa. Dengan cara ini, data penyewa yang berbeza boleh dibezakan dan storan terpencil dicapai. Apabila menanyakan data, anda harus menggunakan awalan jadual yang sepadan untuk mengehadkan skop pertanyaan bagi memastikan hanya data penyewa semasa diperolehi.
3. Gunakan paparan pangkalan data untuk pengasingan berbilang penyewa
Selain menggunakan awalan jadual, anda juga boleh menggunakan paparan pangkalan data untuk melaksanakan storan pengasingan berbilang penyewa. Paparan pangkalan data ialah jadual maya berdasarkan satu atau lebih jadual, yang boleh digunakan seperti jadual biasa semasa membuat pertanyaan. Berikut ialah contoh kod:
-- 创建数据库视图 CREATE VIEW tenant1_view AS SELECT * FROM tenant1_table1 UNION ALL SELECT * FROM tenant1_table2; CREATE VIEW tenant2_view AS SELECT * FROM tenant2_table1 UNION ALL SELECT * FROM tenant2_table2;
Dalam contoh di atas, kami mencipta paparan pangkalan data untuk setiap penyewa secara berasingan, menggabungkan jadual yang sepadan menjadi satu paparan. Dengan cara ini, setiap penyewa hanya perlu menanyakan paparan yang sepadan untuk mendapatkan data tanpa mengendalikan jadual asas secara langsung. Ini bukan sahaja mencapai storan terpencil, tetapi juga memudahkan pertanyaan dan pengurusan data.
Ringkasnya, terdapat kaedah yang berbeza untuk mencapai penggunaan berbilang penyewa dan penyimpanan data terpencil dalam MySQL. Pembangun boleh memilih kaedah yang sesuai untuk memastikan keselamatan dan pengasingan data berdasarkan keperluan khusus. Sama ada menggunakan contoh pangkalan data, awalan jadual atau paparan pangkalan data, anda boleh melaksanakan dengan berkesan keperluan seni bina berbilang penyewa.
Rujukan:
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan penggunaan berbilang penyewa dan penyimpanan data terpencil dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!