【正文】
的工作原理是尋找原始列的值以相同順序多次出現(xiàn)的次數(shù)。在這種情況下,可以使用壓縮方法,因?yàn)楸碇泻芏噙职谟涗洈?shù)相比數(shù)量很少的不通知。列式存數(shù)數(shù)據(jù)可以進(jìn)行非常高效的數(shù)據(jù)壓縮,特別是如果對(duì)列進(jìn)行排序,一般會(huì)有幾個(gè)連續(xù)的值放在相鄰的內(nèi)存中。例如,需要經(jīng)常和業(yè)務(wù)數(shù)據(jù)表的主數(shù)據(jù)表也應(yīng)當(dāng)用列式存儲(chǔ)。SPA HANA能鏈接列式表和行式表。不需要聚合也不需要快速搜索表中只有少數(shù)行。表中有大量的列,表中有大量的行,并且需要進(jìn)行列操作(聚合,掃描等)大多數(shù)的列只包含幾個(gè)不同的值,可以實(shí)現(xiàn)高壓縮率。SPA HANA數(shù)據(jù)庫可以讓開發(fā)人員指定一張表以行存儲(chǔ)還是一列存儲(chǔ),也可以修改已有的表結(jié)構(gòu)從列式轉(zhuǎn)為行式。從歷史上看,它用于聚合功能發(fā)揮重要作用的分析和數(shù)據(jù)倉(cāng)庫。對(duì)于列存儲(chǔ),所有的name值都連續(xù)存儲(chǔ),CPU緩存會(huì)充分的利用。Select * from test table where name=’limin’,實(shí)際和CPU匹配的只是name。列存儲(chǔ)可以獲得以下幾個(gè)優(yōu)勢(shì):較高的數(shù)據(jù)壓縮率,動(dòng)態(tài)增刪字段。這種特殊SQL請(qǐng)求,可能更新部分被動(dòng)數(shù)據(jù),使其不再滿足老化策略,那么被動(dòng)數(shù)據(jù)會(huì)轉(zhuǎn)化為主動(dòng)數(shù)據(jù)。被動(dòng)數(shù)據(jù)將不再被普通的SQL語句掃描。老化策略可以由應(yīng)用程序定義,例如Hana為SQL建表語句提供了如下擴(kuò)展該建表語句定義的老化策略(AGING部分)是,若訂單最后更新時(shí)間已經(jīng)超過1年,且訂單處于接收或拒絕狀態(tài),則該行數(shù)據(jù)可以老化處理。壓縮方式:字典壓縮和行程壓縮數(shù)據(jù)老化:HANA將數(shù)據(jù)按照業(yè)務(wù)生命周期分為主動(dòng)和被動(dòng)兩類,即常駐內(nèi)存數(shù)據(jù)以及進(jìn)持久化到磁盤兩類。 為什么內(nèi)存計(jì)算(數(shù)據(jù)庫)是優(yōu)勢(shì)內(nèi)存數(shù)據(jù)庫需要解決三個(gè)主要的問題:內(nèi)存容量有限,即使100G1T級(jí)別的內(nèi)訓(xùn)服務(wù)器,仍然小于許多大型業(yè)務(wù)的數(shù)據(jù)量?jī)?nèi)存很大一部分需要臨時(shí)計(jì)算(JOIN 排序)高效利用多核CPU,內(nèi)存的IO能力遠(yuǎn)高于磁盤,CPU更容易成為資源瓶頸,(傳統(tǒng)數(shù)據(jù)庫中,CPU優(yōu)化不好會(huì)被其他瓶頸覆蓋)操作系統(tǒng)的任務(wù)調(diào)度造成大量上下文切換開銷容災(zāi):斷電數(shù)據(jù)是否能恢復(fù) 數(shù)據(jù)恢復(fù)速度問題解決內(nèi)存容量問題:輕量級(jí)壓縮:字典壓縮是HANA的默認(rèn)壓縮方案,機(jī)制比較簡(jiǎn)單。在創(chuàng)建虛擬表后,開發(fā)人員能夠編寫SQL查詢以實(shí)現(xiàn)對(duì)虛擬表的訪問。包括SCHEMA(模式)定義和操作類語句,訪問控制類語句,數(shù)據(jù)操作,事務(wù)管理,系統(tǒng)管理,以及會(huì)話管理定義操作類語句CREATE/ALTER/DROP TRIGER 創(chuàng)建觸發(fā)器CR