1、Caché 架構(gòu)
????????后關(guān)系型數(shù)據(jù)庫 Caché 的特點(diǎn)是高效率叁熔、很好的延展性委乌、應(yīng)用程序的快速開發(fā)能力、和低成本荣回。這些特點(diǎn)可以從 Caché 基本架構(gòu)得到反映遭贸。
????????Caché 使用的是一種高效的多維數(shù)組形式存儲(chǔ)數(shù)據(jù),即使在使用比其他數(shù)據(jù)庫系統(tǒng)配置更低的硬件條件下高負(fù)荷運(yùn)行也能保證高效率心软。此外壕吹, Caché 能運(yùn)用各種技術(shù)存取數(shù)據(jù),開發(fā)者可以選擇使用自己熟悉的和易于得到的開發(fā)工具删铃,這就大大提高了開放性和應(yīng)用程序開發(fā)的能力耳贬。?
2、多維數(shù)據(jù)引擎
????????與關(guān)系型數(shù)據(jù)庫不同猎唁,Caché 以多維數(shù)組存儲(chǔ)數(shù)據(jù)咒劲,而關(guān)系數(shù)據(jù)庫以兩維表存儲(chǔ)數(shù)據(jù)。Caché 除了使現(xiàn)實(shí)數(shù)據(jù)建模成為可能诫隅,還因?yàn)闇p少了表連接等處理過程(這在關(guān)系型數(shù)據(jù)庫中是非常頻繁的)腐魂,所以運(yùn)用多維數(shù)組能更快地存取數(shù)據(jù)。Caché 從它的獨(dú)特的數(shù)據(jù)機(jī)構(gòu)中獲得了許多強(qiáng)大功能逐纬,關(guān)鍵之處在于Caché 的數(shù)據(jù)庫引擎為我們提供了一套完整的服務(wù):包括數(shù)據(jù)存儲(chǔ)蛔屹、并發(fā)管理、事務(wù)處理豁生、和過程管理兔毒,這就為我們提供了強(qiáng)大的可用于建立復(fù)雜管理系統(tǒng)的功能和工具。
????????Caché 的另一個(gè)提高性能的特征就是 Caché 具有獨(dú)特的分布式緩存協(xié)議沛硅,它大大減少了分布式系統(tǒng)中的網(wǎng)絡(luò)通信吞吐量眼刃。在有的客戶所進(jìn)行的數(shù)據(jù)庫應(yīng)用程序性能的比較測(cè)試中,Caché 數(shù)據(jù)庫的響應(yīng)性能要比關(guān)系型數(shù)據(jù)庫快 20 倍摇肌。?
????????雖然在 Caché 中數(shù)據(jù)是以多維數(shù)據(jù)結(jié)構(gòu)形式存儲(chǔ)的,但 Caché 允許開發(fā)者用任何他們選擇的方式進(jìn)行數(shù)據(jù)建模:對(duì)象仪际,表格围小,或者多維數(shù)組昵骤。Caché 擁有一個(gè)非常易用的圖形界面開發(fā)環(huán)境來建立和開發(fā) Caché 對(duì)象。 Caché 還可以接受從 Rational Rose 對(duì)象建模工具或以DL 文件(數(shù)據(jù)庫定義語言)形式的導(dǎo)入肯适。
????????Caché 統(tǒng)一的數(shù)據(jù)架構(gòu)使所有數(shù)據(jù)都能以對(duì)象和表格形式被訪問变秦。既不需要為從一種數(shù)據(jù)形式到另一種數(shù)據(jù)形式進(jìn)行映射,也不需要為不同數(shù)據(jù)形式的轉(zhuǎn)換進(jìn)行處理框舔。統(tǒng)一的數(shù)據(jù)架構(gòu)提高了編程效率和應(yīng)用程序性能蹦玫。
????????Caché 提供了可以用多種技術(shù)編寫數(shù)據(jù)庫和業(yè)務(wù)邏輯的能力。 Caché 的ObjectScript 支持所有數(shù)據(jù)存取方法:對(duì)象刘绣, SQL 樱溉,多維和嵌入式 HTML 。
????????Caché Basic 與 Visual Basic 非常相似纬凤,只是做了很少的調(diào)整擴(kuò)展福贞,以便利用Caché 獨(dú)特的性能。
3停士、Web 存取
????????與 InterSystems 公司的核心價(jià)值一致挖帘, Caché 提供了與 Web 連接和其應(yīng)用程序開發(fā)平臺(tái),這些都進(jìn)一步提高了效率和延展性恋技。在 Caché 獨(dú)特的網(wǎng)絡(luò)架構(gòu)中拇舀, Caché 服務(wù)器頁面( Caché Sever Pages )在數(shù)據(jù)服務(wù)器上運(yùn)行,與他們要存取的數(shù)據(jù)放在一處蜻底。這樣不但提高了效率而且通過降低網(wǎng)絡(luò)服務(wù)器的負(fù)荷而大大提高了延展性骄崩,從而能處理更多的瀏覽器請(qǐng)求。
????????Caché 運(yùn)用對(duì)象技術(shù)的快速開發(fā)能力來開發(fā) Caché 服務(wù)器頁面朱躺。每一個(gè)Caché 服務(wù)器頁面本身就是一個(gè)對(duì)象刁赖,它能從 InterSystems 提供的系統(tǒng)對(duì)象中繼承會(huì)話管理方法和各層安全策略。這就使應(yīng)用程序開發(fā)者不需要再開發(fā)大量單調(diào)的系統(tǒng)代碼來維護(hù)使用會(huì)話期( Session )對(duì)象的狀態(tài)长搀。利用對(duì)象繼承也保證了能快速地瀏覽應(yīng)用程序的所有頁面宇弛。
????????此外,因?yàn)樵试S網(wǎng)頁設(shè)計(jì)者和應(yīng)用程序開發(fā)者可以平行地進(jìn)行開發(fā)來完成任務(wù)源请,Caché 便簡(jiǎn)化和加速了 web 應(yīng)用開發(fā)過程枪芒。網(wǎng)頁設(shè)計(jì)者可以運(yùn)用熟悉而易用的工具,通過添加 Caché 應(yīng)用程序標(biāo)記( CAT )來增加網(wǎng)頁功能谁尸,這項(xiàng)工作類似于通常的添加標(biāo)準(zhǔn)的 HTML 標(biāo)記的工作舅踪。 Caché 不僅提供了一些標(biāo)準(zhǔn)功能的 CAT ,而且還可以戶自己定制 CAT 良蛮。當(dāng)應(yīng)用程序開發(fā)者編寫 CAT 來完成實(shí)用的功能時(shí)抽碌,不需要考慮包含它們的網(wǎng)頁樣風(fēng)格樣式的設(shè)計(jì)。這樣就能更快和更有效地開發(fā) web 應(yīng)用程序决瞳,縮短產(chǎn)品進(jìn)入市場(chǎng)的時(shí)間货徙。
4左权、對(duì)象存取
????????當(dāng)今,所有新應(yīng)用程序的開發(fā)都是運(yùn)用對(duì)象建模技術(shù)痴颊。用對(duì)象來進(jìn)行數(shù)據(jù)建模使開發(fā)者能以一個(gè)自然而直觀的方式思考數(shù)據(jù)赏迟。因?yàn)閷?duì)象是模塊化的,接口定義明確蠢棱,所以它們可以重復(fù)使用锌杀,可以被多個(gè)應(yīng)用程序共享,這樣編程的效率就能大大提高泻仙。
????????Caché 支持多種對(duì)象建模技術(shù)糕再,包括多重繼承,封裝饰豺,多態(tài)亿鲜,引用,采集冤吨,關(guān)系和 BLOB 蒿柳。 Caché 對(duì)象能通過 Caché Studio 圖像界面和 Rational Rose (一種流行的對(duì)象建模工具,Caché 與之有雙向接口)開發(fā)漩蟆。與一些“對(duì)象-關(guān)系型”數(shù)據(jù)庫系統(tǒng)不同垒探, Caché 可以改進(jìn)數(shù)據(jù)模型,使得對(duì)象定義能不斷修改以適應(yīng)應(yīng)用程序變化的需要怠李。 Caché 統(tǒng)一的數(shù)據(jù)架構(gòu)使得所有 Caché 對(duì)象都自動(dòng)兼容 ODBC 圾叼。
????????Caché 對(duì)象也和大量面向?qū)ο蟮墓ぞ吆图夹g(shù)相兼容。使用 Java 和 C++ 的開發(fā)者和使用 COM 界面的工具(例如 Visual Basic 和 Delphi )的開發(fā)者都可以使用它們捺癞。 Caché 也支持雙向 CORBA 界面夷蚊。
5、SQL 存取
????????便于使用的 SQL 查詢語言已成為了訪問數(shù)據(jù)庫的一個(gè)通用標(biāo)準(zhǔn)髓介,在關(guān)系型數(shù)據(jù)庫的全盛時(shí)期惕鼓,它們被廣泛運(yùn)用,即使是今天唐础,許多軟件應(yīng)用程序箱歧,尤其是那些用于數(shù)據(jù)報(bào)表和分析的程序,都使用 SQL 作為它們的查詢語言一膨,同時(shí)需要支持 ODBC 或 JDBC 的數(shù)據(jù)庫呀邢。Caché 允許將通過 SQL 數(shù)據(jù)存取作為訪問方式之一, 使得 Caché 可以兼容所有這些使用 SQL 的應(yīng)用程序豹绪。此外价淌, Caché 的 SQL 網(wǎng)關(guān)(SQL Gateway)功能使得 Caché 應(yīng)用程序能從關(guān)系型數(shù)據(jù)庫中存取數(shù)據(jù),這個(gè)功能在需要從不同來源整合數(shù)據(jù)時(shí)就十分有用。?
????????一些開發(fā)者希望把已有的應(yīng)用程序從關(guān)系型數(shù)據(jù)庫上移植到 Caché 上以利用Caché 的高效率和先進(jìn)的對(duì)象技術(shù)输钩。 這也是可以滿足和實(shí)現(xiàn)的豺型,Caché 能根據(jù)在 DDL 文件中的關(guān)系型表格定義來創(chuàng)建數(shù)據(jù)結(jié)構(gòu)仲智。運(yùn)用 Caché 統(tǒng)一的數(shù)據(jù)架構(gòu)买乃,每個(gè)表格被定義成為一個(gè)簡(jiǎn)單對(duì)象或復(fù)雜結(jié)構(gòu)的組成部分。運(yùn)用 SQL 網(wǎng)關(guān)等技術(shù)钓辆,數(shù)據(jù)就能從關(guān)系型數(shù)據(jù)庫轉(zhuǎn)移到 Caché 上剪验。并且利用 Caché 網(wǎng)關(guān)或者 InterSystems 的另一個(gè)重大新產(chǎn)品 Ensemble 軟件也可以搭建出一個(gè)Caché 數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫等其他類型數(shù)據(jù)庫共存并用的集成整合工作環(huán)境,以滿足不同用戶的需要前联。
6功戚、多維存取
????????多維數(shù)據(jù)存取還可以使 Caché 能兼容 InterSystems 以往開發(fā)的以 M 技術(shù)為基礎(chǔ)開發(fā)的其它數(shù)據(jù)庫產(chǎn)品,InterSystems 的 Open M 產(chǎn)品等都使用與 Caché 一樣的多維數(shù)據(jù)結(jié)構(gòu)似嗤。因此只要用戶感覺需要升級(jí)就可以遷移到性能更強(qiáng)的Caché 數(shù)據(jù)庫新環(huán)境下工作啸臀。