Oracle-OLAP和OLTP解读
文章目錄
- 概述
- OLTP(on-line transaction processing)數據庫
- OLAP(On-Line Analytical Processing)數據庫
- 聯機事務處理(OLTP)和聯機分析處理(OLAP)的不同
- 1.用戶和系統的面向性:
- 2.數據內容:
- 3.數據庫設計:
- 4.視圖:
- 5.訪問模式:
概述
Oracle-OLAP和OLTP解讀
Oracle-index索引解讀
Oracle-分區表解讀
Oracle-鎖解讀
Oracle-等待事件解讀
Oracle-procedure/cursor解讀
通常來說,我們把業務分為來兩類,在**線事務處理系統(OLTP)和在線分析系統(OLAP)**或者DSS(決策支持系統),這兩類系統在數據庫的設計上是如此的不同,甚至有些地方的設計是像相悖的。
比如:
OLTP 系統強調數據庫的內存效率,強調內存各種指標的命中率,強調綁定變量,強調并發操作
OLAP 系統則強調數據分析,強調SQL 執行時長,強調磁盤I/O,強調分區等。
OLTP(on-line transaction processing)數據庫
通常來講,OLTP(在線事務處理系統)的用戶并發數都很多,但他們只對數據庫做很小的操作,數據庫側重于對用戶操作的快速響應,這是對數據庫最重要的性能要求。
對于一個OLTP 系統來說,數據庫內存設計顯得很重要,如果數據都可以在內存中處理,那么數據庫的性能無疑會提高很多。
內存的設計通常是通過調整Oracle 和內存相關的初始化參數來實現的,比較重要的幾個是內存相關的參數,包括SGA 的大小(Data Buffer,Shared Pool),PGA 大小(排序區,Hash 區等)等,這些參數在一個OLTP 系統里顯得至關重要,OLTP 系統是一個數據塊變化非常頻繁,SQL 語句提交非常頻繁的一個系統。
對于數據塊來說,應盡可能讓數據塊保存在內存當中,對于SQL 來說,盡可能使用變量綁定技術來達到SQL 的重用,減少物理I/O 和重復的SQL 解析,能極大的改善數據庫的性能。
除了內存,沒有綁定變量的SQL 會對OLTP 數據庫造成極大的性能影響之外,還有一些因素也會導致數據庫的性能下降,比如熱塊(hot block)的問題,當一個塊被多個用戶同時讀取的時候,Oracle 為了維護數據的一致性,需要使用Latch 來串行化用戶的操作,當一個用戶獲得了這個Latch,其他的用戶就只能被迫的等待,獲取這個數據塊的用戶越多,等待就越明顯,就造成了這種熱塊問題。這種熱塊可能是數據塊,也可能是回滾段塊。
對于數據塊來講,通常是數據塊上的數據分布不均勻導致,如果是索引的數據塊,可以考慮創建反向索引來達到重新分布數據的目的,對于回滾段數據塊,可以適當多增加幾個回滾段來避免這種爭用。
OLAP(On-Line Analytical Processing)數據庫
OLAP 數據庫在內存上可優化的余地很小,甚至覺得增加CPU 處理速度和磁盤I/O 速度是最直接的提高數據庫性能的方式,但這將意味著著系統成本的增加。實際上,用戶對OLAP 系統性能的期望遠遠沒有對OLTP 性能的期望那么高。
對于OLAP 系統,SQL 的優化顯得非常重要
試想,如果一張表中只有幾千數據,無論執行全表掃描或是使用索引,對我們來說差異都很小,幾乎感覺不出來,但是當數據量提升到幾億或者幾十億或者更多的時候,全表掃描,索引可能導致極大的性能差異,因此SQL得優化顯得重要起來。
分區技術在OLAP 數據庫中很重要
這種重要主要是體現在數據管理上,比如數據加載,可以通過分區交換的方式實現,備份可以通過備份分區表空間,刪除數據可以通過分區進行刪除。
聯機事務處理(OLTP)和聯機分析處理(OLAP)的不同
聯機事務處理(OLTP)和聯機分析處理(OLAP)的不同,主要通過以下五點區分開來。
1.用戶和系統的面向性:
OLTP是面向顧客的,用于事務和查詢處理
OLAP是面向市場的,用于數據分析
2.數據內容:
OLTP系統管理當前數據.
OLAP系統管理大量歷史數據,提供匯總和聚集機制.
3.數據庫設計:
OLTP采用實體-聯系ER模型和面向應用的數據庫設計.
OLAP采用星型或雪花模型和面向主題的數據庫設計.
4.視圖:
OLTP主要關注一個企業或部門內部的當前數據,不涉及歷史數據或不同組織的數據
OLAP則相反.
5.訪問模式:
OLTP系統的訪問主要由短的原子事務組成.這種系統需要并行和恢復機制.
OLAP系統的訪問大部分是只讀操作
OLTP是傳統的關系型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。
OLAP是數據倉庫系統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀易懂的查詢結果。
總結
以上是生活随笔為你收集整理的Oracle-OLAP和OLTP解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos显示-bash-4.1$问题
- 下一篇: Oracle-index索引解读