自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

共享database獨(dú)立Schema構(gòu)建SAAS平臺(tái)

數(shù)據(jù)庫 Oracle SaaS
使用Tenant_Free來共享數(shù)據(jù)庫,通過建立每個(gè)Tenant的數(shù)據(jù)庫用戶來實(shí)現(xiàn)獨(dú)立Schema,每個(gè)用戶使用的數(shù)據(jù)表根據(jù)用戶導(dǎo)入的數(shù)據(jù)進(jìn)行初始化,以此來構(gòu)建SAAS平臺(tái)。本文詳細(xì)說明了這一過程,供讀者學(xué)習(xí)參考。

從數(shù)據(jù)模型設(shè)計(jì)的角度來分析,使用Oracle10g數(shù)據(jù)庫,以共享database獨(dú)立Schema的模式來構(gòu)建SAAS平臺(tái),以下是這一實(shí)現(xiàn)過程:

Oracle中的實(shí)現(xiàn)方式:

1、共享一個(gè)數(shù)據(jù)庫實(shí)例,免費(fèi)的使用Tenant_Free實(shí)例,收費(fèi)的使用Tenant_VIP實(shí)例,平臺(tái)的數(shù)據(jù)使用Tenant_Platform實(shí)例。

2、獨(dú)立Schema,通過建立每個(gè)Tenant的數(shù)據(jù)庫用戶來實(shí)現(xiàn),每個(gè)用戶使用的數(shù)據(jù)表根據(jù)用戶導(dǎo)入的數(shù)據(jù)進(jìn)行初始化。配置數(shù)據(jù)自動(dòng)生成的方式。通過測試一個(gè)實(shí)例生成幾萬個(gè)數(shù)據(jù)庫用戶是很正常的,如果按照一臺(tái)普通的服務(wù)器可以支撐1萬個(gè)Tenant的話,那發(fā)展到10萬用戶可能只需要10臺(tái)服務(wù)器的規(guī)模,是我可以接受的范圍。

3、原先考慮讓每個(gè)Tenant分配一個(gè)表空間,然后定義數(shù)據(jù)文件的大小來實(shí)現(xiàn)對每個(gè)Tenant數(shù)據(jù)空間的限制,但經(jīng)過測試發(fā)現(xiàn)Oracle中添加表空間是有限個(gè)數(shù)的,我測試的時(shí)候加到200個(gè)左右就報(bào)錯(cuò),提示超過表空間的最大數(shù)量??磥磉@種方法行不能。

共享database獨(dú)立Schema構(gòu)建SAAS平臺(tái)

如上圖所示,所有的Tenant User都在用戶管理庫中進(jìn)行管理,然后數(shù)據(jù)訪問控制器通過Tenant User的信息自動(dòng)選擇Tenant對應(yīng)的數(shù)據(jù)結(jié)構(gòu)。可能我覺得這種模式是MVC的改進(jìn)版本,即SAAS平臺(tái)下要使用MVCD的模式(Model-View-Controller-DataAccess),數(shù)據(jù)管理層將模型層與控制層對數(shù)據(jù)管理方面的內(nèi)容獨(dú)立出來,負(fù)責(zé)數(shù)據(jù)庫結(jié)構(gòu)的管理、數(shù)據(jù)存取等功能……

選擇的理由:

1、在oracle里要使用獨(dú)立的database對于服務(wù)器的內(nèi)存要求實(shí)在太高了,一個(gè)實(shí)例分配的資源如果是200M的話,4G的服務(wù)器只能支持20個(gè)租戶,這個(gè)成本我想沒有什么人可以承受,所以第一種最簡單的方式我不采用。

2、選擇獨(dú)立schema是非常重要的,對于程序與性能都會(huì)有很大的提升,而且業(yè)務(wù)要求所有企業(yè)相關(guān)的數(shù)據(jù)表字段都允許Tenant用戶自定義,所以我覺得是必要條件,所以只能選擇第二種模式。如果使用預(yù)留字段或者通過字段擴(kuò)展表來存儲(chǔ)存在比較多的問題,比如檢索速度、字段的限制、數(shù)據(jù)冗余等缺點(diǎn)。而且對于用戶來說不太直觀。

3、從維護(hù)管理的角度考慮,備份的時(shí)候可以對每個(gè)數(shù)據(jù)庫用戶的數(shù)據(jù)進(jìn)行單獨(dú)的備份,有利于對無效用戶的數(shù)據(jù)刪除與恢復(fù)的操作。同時(shí)也保證了用戶數(shù)據(jù)的安全性。

對SAAS程序的要求:

1、要求可以通過配置自動(dòng)實(shí)現(xiàn)Tenant Schema中數(shù)據(jù)的CRUD操作。

2、數(shù)據(jù)報(bào)表及相關(guān)的查詢都要允許自定義,需要提供相關(guān)的功能。

3、API接口服務(wù)需要提供配置功能。

本文就說到這里,歡迎大家批評指導(dǎo)!

【編輯推薦】

  1. Oracle數(shù)據(jù)庫的RAC組件之緩存融合技術(shù)
  2. 揭開功能強(qiáng)大的數(shù)據(jù)庫表DUAL的神秘面紗
  3. ASP通過Oracle Object for OLE對Oracle查詢
  4. 在存儲(chǔ)過程中連接遠(yuǎn)程Oracle數(shù)據(jù)庫并進(jìn)行操作
  5. 淺談修復(fù)被優(yōu)化大師Kiss掉的Oracle監(jiān)聽器的兩種方法
責(zé)任編輯:趙鵬 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2020-05-14 18:04:20

Spring BootSaaS平臺(tái)

2012-10-25 21:27:27

云計(jì)算SaaS

2023-08-07 07:48:47

2015-05-22 15:29:21

企業(yè)移動(dòng)平臺(tái)用友iUAP

2014-04-16 14:33:59

2014-12-04 14:10:22

移動(dòng)應(yīng)用云

2016-01-18 09:17:04

寄云科技SaaSPaaS

2009-05-05 15:41:28

Saas虛擬化應(yīng)用

2012-07-25 09:08:02

SaaS云計(jì)算云開發(fā)

2015-12-04 11:36:04

SaaS架構(gòu)設(shè)計(jì)可持續(xù)

2023-12-12 13:07:16

2022-04-20 10:15:56

SaaS模塊化客戶

2009-02-04 10:14:26

云計(jì)算SAASPaas

2009-05-18 17:57:22

IT系統(tǒng)虛擬化

2022-01-04 09:36:24

Samba文件共享工具Linux

2010-07-23 10:03:35

SaaSISV

2011-07-12 17:12:41

2012-08-17 11:01:52

設(shè)計(jì)方案

2009-03-16 15:00:16

阿里軟件旺旺軟件平臺(tái)SaaS

2013-08-20 13:29:49

云通訊平臺(tái)SaaS社會(huì)化營銷
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)