Force.com integrates and optimizes several different data persistence technologies to deliver transparent polyglot persistence for all your applications and devices. With Force.com, you don’t have to deal with the complexity of trying to integrate, manage, test, and support several systems, and you only have to code to a single API, no matter which type of persistence is optimal for a given situation. The following figure is an overview of a sampling of Force.com’s persistence technology.前端
Salesforce存在一個Polyglot Persistence多態存儲的概念。應用程序能夠經過Polyglot persistence暴露出的統一接口去訪問平臺上的數據,而無需關心這些數據背後具體的存儲技術究竟是Transaction Engine, 仍是由常駐內存提供,亦或是由支持全文本查找的搜索引擎提供。設計模式
做爲SAP提供的一款SaaS CRM解決方案,C4C也存在相似Salesforce Polyglot Persistence的設計,咱們稱之爲元數據倉庫存儲。app
咱們在cloud application studio的package下面能看到許許多多的開發對象:ide
能夠想象,這二三十種開發對象後臺的存儲邏輯和技術都各不相同。每次用戶登陸Cloud application studio,打開本身工做的package後,都會從後臺將本身建立的類型各異的開發對象取出而後顯示在studio裏。工具
爲了給Cloud application studio工具端和其餘消費者(好比C4C前端UI)提供一個統一高效的API去C4C後臺讀取這些模型的數據,C4C設計了一個元數據存儲倉庫,該倉庫提供了一個優化事後的API,至關於設計模式裏的Facade(外觀模式/門面模式)。該API會根據具體被訪問的對象,將請求轉發到該對象對應的存儲服務提供者(Access service provider)上去。對於API的消費者來講,這些對象具體的存儲技術是徹底透明的,不須要知道。優化
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙": 搜索引擎