成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OLTP與OLAP概念、主要區(qū)別和完美實踐

數(shù)據(jù)庫
OLTP、OLAP、VDI和SPC-1是當前性能評估中常見的三類業(yè)務(wù)場景。SPC-1是業(yè)界通用的隨機IOPS型的IO模型,在不清楚實際業(yè)務(wù)類型的條件下,常用此模型來進行性能評估。

 [[387357]]

 OLTP、OLAP、VDI和SPC-1是當前性能評估中常見的三類業(yè)務(wù)場景。SPC-1是業(yè)界通用的隨機IOPS型的IO模型,在不清楚實際業(yè)務(wù)類型的條件下,常用此模型來進行性能評估。四種模型的簡單IO特征如下表所示。


Oracle 數(shù)據(jù)庫是典型的的OLTP業(yè)務(wù)模型,在核心 IT 業(yè)務(wù)系統(tǒng)中應(yīng)用廣泛,OLTP類型的 Oracle 數(shù)據(jù)庫往往承載著企業(yè)核心的業(yè)務(wù)支撐系統(tǒng),如 ERP、CRM 等,其性能和可用性出現(xiàn)問題,本章重點剖析OLTP和OLAP主要區(qū)別、規(guī)劃方法及基于Oracle的最佳實踐。

OLTP與OLAP的介紹

數(shù)據(jù)處理大致可以分成兩大類:聯(lián)機事務(wù)處理OLTP(On-line transaction processing)、聯(lián)機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統(tǒng)的關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,主要是基本的、日常的事務(wù)處理,例如銀行交易。OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果。

OLTP與OLAP之間的比較:


OLTP應(yīng)用的IO特征

OLTP通常是指事務(wù)性非常高的在線系統(tǒng),以小的事務(wù)以及小的查詢?yōu)橹?,評估其系統(tǒng)的時候,一般看其每秒執(zhí)行的Transaction以及Execute SQL的數(shù)量。在這樣的系統(tǒng)中,單個數(shù)據(jù)庫每秒處理的Transaction往往超過幾百個,或者是幾千個,Select語句的執(zhí)行量每秒幾千甚至幾萬個。典型的OLTP系統(tǒng)有電子商務(wù)系統(tǒng)、銀行、證券等:

  • 每個I/O非常小,通常為2KB~8KB
  • 訪問磁盤數(shù)據(jù)的位置非常隨機
  • 至少30%的數(shù)據(jù)是隨機寫操作
  • 聯(lián)機重做日志是寫入非常頻繁的順序?qū)?/li>

1、業(yè)務(wù)特征:每個事務(wù)的讀,寫,更改涉及的數(shù)據(jù)量非常小,同時有很多用戶連接到數(shù)據(jù)庫,使用數(shù)據(jù)庫,要求數(shù)據(jù)庫有很快的響應(yīng)時間,通常一個事務(wù)在幾秒內(nèi)完成,時延要求一般在10-20ms。

2、IO特征:針對DATA LUN,隨機小IO,IO大小主要為8KB(IO大小與數(shù)據(jù)庫的Block塊大小一致),讀寫比約為3:2,讀全隨機,寫有一定合并。針對LOG LUN,多路順序小IO,大小不定,幾乎都是寫IO。

OLTP系統(tǒng)最容易出現(xiàn)瓶頸的地方除了服務(wù)器的CPU,就是存儲系統(tǒng)IOPS處理能力。因為在OLTP環(huán)境中,硬盤物理讀一般都是db file sequential read,即單個數(shù)據(jù)塊物理讀,但是這個讀的次數(shù)非常頻繁。如果頻繁到硬盤子系統(tǒng)都不能承載其IOPS的時候,就會出現(xiàn)大的性能問題。

OLAP應(yīng)用的IO特征

OLAP系統(tǒng),也稱為DSS決策支持系統(tǒng),就是我們說的數(shù)據(jù)倉庫。在這樣的系統(tǒng)中,絕大多數(shù)時候數(shù)據(jù)庫上運行著的是報表作業(yè),執(zhí)行基本上是聚合類的SQL 操作,比如Group by,同時掃描非常多的行,一個查詢將花費數(shù)小時,甚至數(shù)天,一次讀取的數(shù)據(jù)量大;一般無數(shù)據(jù)修改,或者只有非常少的數(shù)據(jù)修改:

  • 單個I/O很大,典型的值為64KB~1MB
  • 讀取操作為順序讀取
  • 當讀取操作進行時,發(fā)生的寫操作通常在臨時表空間內(nèi)
  • 平常對在線日志寫入很少,除非在批量加載數(shù)據(jù)時

1、業(yè)務(wù)特征:一般很少有數(shù)據(jù)修改,除非在批量加載數(shù)據(jù)時;系統(tǒng)調(diào)用非常復(fù)雜的查詢語句,同時掃描非常多的行;一個查詢將花費數(shù)小時,甚至數(shù)天;主要取決于查詢語句的復(fù)雜程度;查詢的輸出通常是一個統(tǒng)計值,由group by與order by得出;當讀取操作進行時,發(fā)生的寫操作通常在臨時表空間內(nèi);平常對在線日志寫入很少,除非在批量加載數(shù)據(jù)時;分析型業(yè)務(wù),一般對時延沒有要求。

2、IO特征:針對DATA LUN,多路順序大IO(可以近似認為是隨機大IO),IO大小與主機側(cè)設(shè)置的分條大小有關(guān)(如512KB),90%以上為讀業(yè)務(wù),混合間斷讀寫。針對TMP LUN,隨機IO,讀寫混合(先寫后讀,計算時寫,讀臨時表時讀,大部分是寫,占整個業(yè)務(wù)中很少部分的IO),IO大小基本為200KB以上大IO。

OLTP系統(tǒng)最容易出現(xiàn)瓶頸的地方是存儲系統(tǒng)的帶寬。陣列的帶寬則往往取決于主機到陣列的前端網(wǎng)絡(luò)和后端硬盤的個數(shù),這個時候,陣列CACHE基本是沒有效果的,數(shù)據(jù)庫的讀寫類型基本上是db file scattered read與direct path read/write。

在實際應(yīng)用中,既然OLTP中存放了大量的細節(jié)數(shù)據(jù),為什么不直接在OLTP上進行分析處理呢?

由于OLTP主要是為了操作數(shù)據(jù)而設(shè)計(操作系統(tǒng)),用于處理已知的任務(wù)和負載:常見的優(yōu)化在于主碼索引和散列,檢索特定的記錄。去優(yōu)化某一些特定的查詢語句。

而OLAP則是為了分析數(shù)據(jù)而設(shè)計(數(shù)據(jù)倉庫),其查詢的方式往往是復(fù)雜且未知的,通常會涉及大量數(shù)據(jù)在匯總后的計算,這種需要基于多維視圖的數(shù)據(jù)操作在OLTP上執(zhí)行的時候性能將是非常差的,并且是也是極其危險的。

但是OLAP系統(tǒng)數(shù)據(jù)來源與各種OLTP數(shù)據(jù)庫。因為OLTP系統(tǒng)存儲的數(shù)據(jù)往往是異質(zhì)的,所以O(shè)LAP系統(tǒng)需要把各種來源于OLTP的異質(zhì)數(shù)據(jù)通過轉(zhuǎn)換(ETL)做到同質(zhì)并且合并。


分開設(shè)計與優(yōu)化

在設(shè)計上要特別注意,如在高可用的OLTP環(huán)境中,不要盲目地把OLAP的技術(shù)拿過來用。

如分區(qū)技術(shù),假設(shè)不是大范圍地使用分區(qū)關(guān)鍵字,而采用其它的字段作為where條件,那么,如果是本地索引,將不得不掃描多個索引,而性能變得更為低下。如果是全局索引,又失去分區(qū)的意義。

并行技術(shù)也是如此,一般在完成大型任務(wù)時才使用,如在實際生活中,翻譯一本書,可以先安排多個人,每個人翻譯不同的章節(jié),這樣可以提高翻譯速度。如果只是翻譯一頁書,也去分配不同的人翻譯不同的行,再組合起來,就沒必要了,因為在分配工作的時間里,一個人或許早就翻譯完了。

位圖索引也是一樣,如果用在OLTP環(huán)境中,很容易造成阻塞與死鎖。但是,在OLAP環(huán)境中,可能會因為其特有的特性,提高OLAP的查詢速度。MV也是基本一樣,包括觸發(fā)器等,在DML頻繁的OLTP系統(tǒng)上,很容易成為瓶頸,甚至是Library Cache等待,而在OLAP環(huán)境上,則可能會因為使用恰當而提高查詢速度。

數(shù)據(jù)庫模板

Oracle 10g以前的版本建庫過程中可供選擇的模板有:Data Warehouse (數(shù)據(jù)倉庫)、General Purpose (通用目的、一般用途)、New Database和Transaction Processing (事務(wù)處理)

Oracle 11g的版本建庫過程中可供選擇的模板有:一般用途或事務(wù)處理、定制數(shù)據(jù)庫、數(shù)據(jù)倉庫等;個人對這些模板的理解為:

聯(lián)機分析處理(OLAP),數(shù)據(jù)量大,DML少。使用數(shù)據(jù)倉庫模板;

聯(lián)機事務(wù)處理(OLTP),數(shù)據(jù)量少,DML頻繁,并行事務(wù)處理多,但是一般都很短。使用一般用途或事務(wù)處理模板。

決策支持系統(tǒng)(DDS,Decision support system),典型的操作是全表掃描,長查詢,長事務(wù),但是一般事務(wù)的個數(shù)很少,往往是一個事務(wù)獨占系統(tǒng)。

最佳實踐

Oracle 數(shù)據(jù)庫在核心 IT 業(yè)務(wù)系統(tǒng)中應(yīng)用廣泛,存儲子系統(tǒng)的規(guī)劃配置至關(guān)重要,不合理的存儲規(guī)劃往往導(dǎo)致 IT 系統(tǒng)性能低下,甚至可用性和數(shù)據(jù)可靠性得不到保證。OLTP類型的 Oracle 數(shù)據(jù)庫往往承載著企業(yè)核心的業(yè)務(wù)支撐系統(tǒng),如 ERP、CRM 等,其性能和可用性出現(xiàn)問題,會直接導(dǎo)致企業(yè)運營效率低下甚至中斷。

本文OLTP 業(yè)務(wù)測試模型采用 SwingBench Order Entry 進行驗證。該業(yè)務(wù)模型中定義了一種在線訂單業(yè)務(wù),模擬大量用戶登陸系統(tǒng),執(zhí)行產(chǎn)品查詢、下發(fā)訂單、處理訂單、查看訂單等交易系統(tǒng)最常見的操作。該業(yè)務(wù)模型的主要性能指標有兩個:每分鐘事務(wù)數(shù)(TPM)、事務(wù)平均響應(yīng)時間。TPM 代表系統(tǒng)在單位時間內(nèi)所能夠處理的交易量,TPM 高,代表著更強的生產(chǎn)力。事務(wù)響應(yīng)時間直接影響到用戶操作完成的速度,事務(wù)響應(yīng)時間低,代表著更佳的用戶體驗。

Order Entry 業(yè)務(wù)模型中共定義了 9 張表,記錄產(chǎn)品、客戶、訂單、倉庫、登陸等信息。在執(zhí)行負載測試時,50%為查詢操作,30%為插入操作,20%為更新操作,無刪除操作。從 I/O 層來看,該業(yè)務(wù)模型為小數(shù)據(jù)塊隨機訪問,讀寫比例為 6:4,代表一種最為典型的 OLTP 業(yè)務(wù)模型。

在SAN(Storage Area Network)組網(wǎng)中,使用兩個物理上獨立的交換平面(每個交換平面包括一個交換機或多個相互級聯(lián)的交換機),每個數(shù)據(jù)庫節(jié)點與兩個交換平面相連,每個存儲控制器和兩個交換平面相連。


Oracle RAC 組網(wǎng)示意圖

對于 Oracle 數(shù)據(jù)庫來說,I/O 隊列深度是影響性能的重要參數(shù)。操作系統(tǒng)層存在兩個參數(shù)影響到 I/O 隊列深度:塊設(shè)備隊列深度和 HBA 卡隊列深度。建議按照如下策略配置塊設(shè)備隊列深度和 HBA 卡隊列深度。

對于 Linux 操作系統(tǒng),塊設(shè)備最大隊列深度為 128,而 HBA卡的隊列參數(shù)與卡類型和驅(qū)動程序相關(guān),請參考 HBA 廠商給出的規(guī)格值,如 Qlogic 8Gbps FC 雙口 HBA 卡,限制每個 LUN 的最大隊列深度為 32。而建議采用增加 LUN 個數(shù)的方式提高整體 I/O 隊列深度。

對于 AIX 操作系統(tǒng),華為建議安裝 UltraPath 多路徑,而不建議使用系統(tǒng)多路徑或第三方多路徑。安裝了華為 UltraPath 多路徑,塊設(shè)備最大隊列深度被調(diào)整為 32,若不使用華為 UltraPath,系統(tǒng)默認塊設(shè)備最大隊列深度為 5,建議將此值修改為 32 或更高。AIX 的 HBA 卡最大隊列深度默認值為 200,可根據(jù)實際業(yè)務(wù)需求進行調(diào)整。

對于 Windows 操作系統(tǒng),單個 LUN 的最大 I/O 隊列深度同樣取決于 HBA 卡廠商給出的規(guī)格值。

Oracle 11g 數(shù)據(jù)庫 OLTP 業(yè)務(wù)下,建議針對以下參數(shù)進行調(diào)整,參數(shù)的最佳值應(yīng)根據(jù)實際業(yè)務(wù)進行測試調(diào)整,以獲取最佳性能和可靠性。下表列出了關(guān)鍵參數(shù)的含義和推薦值:


采用SwingBench測試,配置特定用戶會話數(shù),測試出來的性能如下:


最佳實踐介紹了基于存儲系統(tǒng)部署 Oracle 數(shù)據(jù)庫的規(guī)劃配置方案,并提供經(jīng)驗證的規(guī)劃配置參考架構(gòu)。用戶在 存儲陣列規(guī)劃、部署 Oracle 11g 時可以利用提供的組網(wǎng)、參數(shù)設(shè)置、測試方法等等信息,在實踐中予以指導(dǎo),減少方案規(guī)劃時的負擔與實施過程中的風險。

 

責任編輯:姜華 來源: 架構(gòu)師技術(shù)聯(lián)盟
相關(guān)推薦

2015-09-23 10:00:47

OLTPOLAP

2022-05-24 15:02:04

CIOCTOIT領(lǐng)導(dǎo)者

2024-04-30 10:35:36

數(shù)據(jù)中心數(shù)據(jù)保護

2010-08-17 16:27:40

UPSEPS

2020-06-11 08:56:34

數(shù)據(jù)倉庫數(shù)據(jù)庫數(shù)據(jù)

2009-07-10 11:07:00

Webork與Stru

2015-04-20 15:27:53

EPONGPON光網(wǎng)絡(luò)

2009-07-06 16:32:17

ASP與JSP的區(qū)別

2023-04-09 15:15:27

云計算混合云數(shù)字化轉(zhuǎn)型

2009-10-10 17:06:09

VB和VB.NET

2023-03-27 16:36:50

邊緣計算云計算

2023-05-04 17:20:54

AWS ECSAWS Lambda云計算

2017-08-01 16:30:11

Python函數(shù)程序

2024-11-25 06:45:00

數(shù)據(jù)庫OLAPOLTP

2023-01-03 18:32:32

2010-03-11 09:46:27

無線交換機

2023-12-07 14:03:06

系統(tǒng)設(shè)計ETL系統(tǒng)

2020-09-11 10:40:50

低代碼無代碼開發(fā)

2023-11-29 08:00:00

人工智能機器學(xué)習

2018-03-23 08:39:20

災(zāi)難恢復(fù)連續(xù)性備份
點贊
收藏

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

主站蜘蛛池模板: 日韩免费视频一区二区 | 久久男人| 亚洲网站在线播放 | 久久久久久久久久久一区二区 | 免费观看一级毛片 | 欧美午夜影院 | 欧美精品一区二区三区在线四季 | 亚洲国产aⅴ精品一区二区 免费观看av | 亚洲国产激情 | av资源中文在线 | 成人天堂噜噜噜 | 久久国产视频网站 | 99综合网| 成人精品视频在线观看 | 国产精品69久久久久水密桃 | 草草视频在线观看 | 久久小视频 | 青青久久 | 狠狠的操| 日韩中文字幕在线不卡 | 日韩电影免费在线观看中文字幕 | 欧美大片一区 | 久久av一区二区三区 | 久草视频观看 | 国产高清精品网站 | 欧洲亚洲一区二区三区 | 天天综合天天 | 国产情侣久久 | 欧美精品一区二区三区在线四季 | 日本人做爰大片免费观看一老师 | 久久久精彩视频 | 日韩久久久久久久久久久 | 亚洲国产成人精品久久 | 日韩福利视频 | 琪琪午夜伦伦电影福利片 | 国产超碰人人爽人人做人人爱 | 亚洲欧美激情精品一区二区 | 久久亚洲综合 | 国产免费拔擦拔擦8x高清 | 欧美日韩中文在线观看 | 断背山在线观看 |