DB的分類 OLTP與OLAP的區別和介紹 (SQL VS NoSQL) (MySQL,HBase如何選擇​)

DB的分類 OLTP與OLAP的區別和介紹 (SQL VS NoSQL) (MySQL,HBase如何選擇​)

DB的分類 OLTP與OLAP的區別和介紹 (SQL VS NoSQL) (MySQL,HBase如何選擇)


資料來源:https://read01.com/zh-tw/M3aG2N.html#.XTFqj-gzaUk

https://www.zhihu.com/question/26518864


數據處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。

OLTP是傳統的關係型資料庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。

OLAP是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。

OLTP 系統強調資料庫內存效率,強調內存各種指標的命令率,強調綁定變量,強調並發操作;

OLAP 系統則強調數據分析,強調SQL執行市場,強調磁碟I/O,強調分區等。





———————–



一家之見,求贊,歡迎交流:)

百萬級的數據,無論側重OLTP還是OLAP,當然就是MySql了。
過億級的數據,側重OLTP可以繼續Mysql,側重OLAP ,就要分場景考慮了。



實時計算場景:強調實時性,常用於實時性要求較高的地方,可以選擇Storm;


批處理計算場景:強調批處理,常用於數據挖掘、分析,可以選擇Hadoop; 

實時查詢場景:強調查詢實時響應,常用於把DB裡的數據轉化索引文件,通過搜索引擎來查詢,可以選擇solr/elasticsearch; 

企業級ODS/EDW/數據集市場景:強調基於關係性數據庫的大數據實時分析,常用於業務數據集成,可以選擇Greenplum;

數據庫系統一般分為兩種類型:一種是面向前台應用的,應用比較簡單,但是重吞吐和高並發的OLTP類型;

一種是重計算的,對大數據集進行統計分析的OLAP類型。

傳統數據庫側重交易處理,即OLTP,關注的是多用戶的同時的雙向操作,在保障即時性的要求下,系統通過內存來處理數據的分配、讀寫等操作,存在IO瓶頸。

OLTP(On-Line Transaction Processing,聯機事務處理)系統也稱為生產系統,它是事件驅動的、面向應用的,比如電子商務網站的交易系統就是一個典型的OLTP系統。

OLTP的基本特點是:數據在系統中產生;基於交易的處理系統(Transaction-Based);每次交易牽涉的數據量很小;

對響應時間要求非常高;用戶數量非常龐大,主要是操作人員;數據庫的各種操作主要基於索引進行。

分析型數據庫是以實時多維分析技術作為基礎,即側重OLAP,對數據進行多角度的模擬和歸納,從而得出數據中所包含的信息和知識。

OLAP(On-Line Analytical Processing,聯機分析處理)是基於數據倉庫的信息分析處理過程,是數據倉庫的用戶接口部分。

OLAP系統是跨部門的、面向主題的,其基本特點是:本身不產生數據,其基礎數據來源於生產系統中的操作數據(OperationalData);基於查詢的分析系統;複雜查詢經常使用多表聯結、全表掃描等,牽涉的數據量往往十分龐大;響應時間與具體查詢有很大關係;用戶數量相對較小,其用戶主要是業務人員與管理人員;

One thought on “DB的分類 OLTP與OLAP的區別和介紹 (SQL VS NoSQL) (MySQL,HBase如何選擇​)

  1. SQL 百億級數據處理優化 效率/速度 [ 利用暫存表(臨時表)把資料筆數降低,使用虛擬表+子查詢+INNER JOIN ]

    http://jashliao.eu/yourls/fgscjyd

    應證 『過億級的數據,側重OLTP可以繼續Mysql,側重OLAP ,就要分場景考慮了。』

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *