Multitenancy 多租戶架構理解

2021-09-01 09:56:10 字數 3229 閱讀 2754

參考:

多租戶架構 (multitenancy)已成為軟體行業的乙個口號。你只要詢問某家公司它對這個主題有什麼看法,就能

判斷該公司從事什麼業務。對於靠該架構起家的公司(salesforce.comcom和谷歌)而言,多租戶架構必不可少。對

於傳統的老牌開發商(微軟、sap和甲骨文)而言,多租戶架構分別被認為是一種威脅、無名小卒或者是一種額外的

交付模式。本文詳細介紹多租戶架構以及它在如何改變軟體行業。

什麼是多租戶架構?

多租戶架構的核心思想就是,軟體採用這種方式來開發:應用程式的乙個例項可處理多個客戶即租戶的要求。

以salesforce的模式為例,每個客戶開始時都使用應用程式的同一版本。資料儲存在共享資料庫中,但每個客戶

只可以訪問自己的資訊。整個應用程式由所謂的元資料(metadata) 來描述; 元資料就是命令指示 ,描述了應用程

序如何執行的各個方面。如果客戶想定製應用程式,可以建立及配置新的元資料,以描述新的螢幕、資料庫字段

或所需行為。

多租戶架構之外的選擇是單租戶架構; 在這種模式中,每個客戶都執行自己的軟體例項,軟體可通過元資料

或其他方式來配置。sap公司為其business by design軟體採用了單租戶模式,該軟體實施了眾多商業應用程式。

多租戶模式與單租戶架構模式存在大片的潛在灰色區,往往被人們所忽視。單租戶應用程式可由雲環境中的

虛擬化伺服器或資料中心內的伺服器來提供,單租戶應用程式的各部分可以共享或不共享。比方說,應用程式採

用單租戶模式、而資料庫進行共享這種現象並不罕見。

salesforce在多租戶架構方面表明了這個看法:它讓軟體開發商只需要為在乙個運作環境下執行的軟體的一

個版本而操心。不需要為不同的軟硬體配置支援多個版本。因為salesforce的所有客戶都執行同一軟體的同一版

本,他們就能看清楚什麼在順暢執行、什麼需要改進。

一旦salesforce進行了改進,所有客戶就可以同時獲得改進之處,不過客戶總是可以選擇啟用新特性,還是

任由新特性被禁用。由於加大了關注度和集中化,創新步伐更快了。合作夥伴在開發相容產品時,也可以把主要

精力放在支援軟體的乙個版本上。

與單租戶架構相比,多租戶架構的乙個缺點就是,某一客戶的問題會影響整個系統。 另外,如果集中式運作

出問題,所有客戶都會受到影響。沒有哪家軟體即服務(saas)提供商是完美無缺的。它們都遇到過嚴重的服務停

用事件。不過與大多數內部資料中心的糟糕記錄相比,它們的情況似乎都相當好。

salesforce通過force.com平台把多租戶架構的優點擴大到了其他軟體開發人員;該平台讓第三方公司可以使

用其軟體的原始構建模組和高階應用程式元件,開發自己的多租戶應用程式。這種模式被稱為「平台即服務

(platform-as-a-service); 谷歌等其他公司也有類似服務,支援多租戶應用程式的開發。

隨著支援應用程式的構建模組變得更加通用、較少經過改動以便開發多租戶應用程式,你就會慢慢進入到基

礎架構即服務(infrastructure-as-a-service)領域,這種服務提供了原始計算功能。顯然,弄清楚所有這些層絕非

易事。多租戶架構是saas**商取得成功的關鍵?

對使用者和開發人員來說,真正的問題是,為什麼應當在乎某應用程式或某平台採用單租戶架構還是採用多租

戶架構?salesforce的首席執行官marc benioff在公開演講中堅持認為,saas**商要取得成功,就必須採用多

租戶架構,另一些知名的分析師也這麼認為。但真是這樣嗎?saas模式為客戶減掉了開發及管理基礎架構的負擔。

針對單租戶架構,同樣可以做到這一點。

使用應用程式的惟一理由就是它可以完成你想要它完成的功能,而salesforce已證明成千上萬的客戶需要它

的軟體。但在其他領域,多租戶架構還沒有證明它就是靈丹妙藥。比方說,netsuite提供了採用多租戶架構的企

業資源規劃(erp)軟體包。sap有其business bydesign產品,這套商業應用程式採用了單租戶架構。這兩家公司都還沒有擁有salesforce.com那麼眾多的客戶。

可以解釋salesforce及其多租戶服務取得成功的另乙個理由與需求的共性有關。如果你認為客戶關係管理

(crm)是存在需求共性的乙個領域,可以認為erp領域的需求共性更為明顯。

大多數客戶需要從crm獲得所有可能功能中相同的20%。對erp而言,可能每個客戶需要的是不同的20%。

按照這條思路來推理,saas公司的成功關鍵也許在於選擇正確的產品,對所有客戶來說最常見的乙個產品。

salesforce採用多租戶方案主攻這個領域,結果受益良多,但它所做的最明智的舉動恐怕就是當初先選擇crm

作為主攻市場。

從開發人員的角度來看,多租戶架構不是最值得注意的。使用乙個平台的目的在於,迅速開發出所需的產品。

footprint),能夠盡快讓自己實現想要企及的目標。其他公司會因使用ruby on rails或engine yard用於主機託管

是用多租戶架構來提供的。與通過元資料大大提高抽象程度(這也許是salesforce的最大成就)這個成就相比,多

租戶架構是次要的。如果一家公司能夠為客戶提供通過元資料、輕鬆獲取及配置應用程式的一種方式,它就能成

功。但許多軟體公司一直在提供可通過元資料來配置的軟體。salesforce有什麼質的不同嗎?

salesforce的成功秘訣在於,該公司選擇了乙個領域即crm,許多客戶對此有著共同的需求。然後salesforce

致力於基於多租戶架構,建立可以擴充套件的運作環境(saas模式)。多租戶架構的最大價值倒並不在於salesforce指

出的種種優點,而在於這個事實:該架構迫使salesforce更好地開發元資料驅動的應用程式。

確保軟體取得成功的乙個關鍵方面在於可配置性。通過基於元資料的配置來滿足客戶要求越是容易,應用程

序越有希望成功,不管採用的是單租戶架構還是多租戶架構。但我們回答不了的乙個問題是,基於元資料的可配

置性方面是不是存在極限。換句話說,簡化像適用於世界上每個國家的會計科目表這樣的複雜物件到底有沒有可

能?是不是有些問題複雜到總是很難處理、因而無法配置的地步?

對我們來說,多租戶架構的未來方面值得關注的問題在於,salesforce取得的成就是否就是作業系統、應用

伺服器層和程式語言向虛擬化環境擴充套件的先兆?salesforce是從應用程式起家的。

其他廠商不會對迅猛發展的force.com坐視不管;他們正開始從其他方向來解決這個問題。sap、微軟、甲骨

文、ibm、惠普和谷歌都在積極開發自己的產品。

多租戶mysql架構 關於多租戶架構

多租戶架構能使oracle資料庫可用作多租戶容器資料庫 cdb 乙個多租戶容器資料庫 cdb 包含0個或多個自定義的可插拔資料庫 pdbs pdb是乙個包含schemas,schema objects,nonschema objects的集合。在12c之前,所有的oracle資料庫都是非cdb。1....

Salesforce多租戶架構

多租戶架構 multitenancy 已成為軟體行業的乙個口號。你只要詢問某家公司它對這個主題有什麼看法,就能判斷該公司從事什麼業務。對於靠該架構起家的公司 salesforce。com和谷歌 而言,多租戶架構必不可少。對於傳統的老牌開發商 微軟 sap和甲骨文 而言,多租戶架構分別被認為是一種威脅...

什麼是多租戶

文章 什麼是多租戶 多租戶技術或稱多重租賃技術,簡稱saas,是一種軟體架構技術,是實現如何在多使用者環境下 此處的多使用者一般是面向企業使用者 共用相同的系統或程式元件,並且可確保各使用者間資料的隔離性。簡單講 在一台伺服器上執行單個應用例項,它為多個租戶 客戶 提供服務。從定義中我們可以理解 多...