多租戶的系統(tǒng)可以應(yīng)用這種模式的思想,將思想融入到系統(tǒng)的設(shè)計之中。
一、多租戶的系統(tǒng),目前在數(shù)據(jù)庫存儲上,一般有三種解決方案:
1.獨立數(shù)據(jù)庫
2.共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構(gòu)
3.共享數(shù)據(jù)庫,共享數(shù)據(jù)架構(gòu)
這里我就系統(tǒng)的實際需求情況,選擇了第二種解決方案,下面簡單介紹下
二、數(shù)據(jù)庫我選用的是SqlServer,因為SqlServer自帶的Schema剛好符合這種需求。至于Mysql,Oracle的Schema應(yīng)該是有不同的設(shè)計,不同于SqlServer,這里我就只針對SqlServer而言。
如果你百度SqlServer的Schema方面的知識介紹,會有不少的Schema的語法介紹,但是很少有一套sql腳本針對多租戶設(shè)計的,我在這里做個整理。
1.創(chuàng)建數(shù)據(jù)庫
create database
SingleDbMultipleSchema
go
2.切換到目標數(shù)據(jù)庫
use SingleDbMultipleSchema
go
3.創(chuàng)建用戶并綁定登錄名并賦予默認schema
create login UserTemp with password = N'admin@123'
create user UserTemp for login UserTemp with default_schema = UserTempSchema
go
4.創(chuàng)建schema并授權(quán)默認用戶
create schema UserTempSchema authorization UserTemp
go
5.補充建表權(quán)限(PS:這句sql找的好苦。。。)
grant create table to UserTemp
go
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26