OLAP、OLTP

數據庫系統通常分爲兩種類型:
一種是面向前臺應用的,應用比較簡單,可是重吞吐和高併發的OLTP類型
一種是重計算的,對大數據集進行統計分析的OLAP類型
傳統數據庫側重交易處理,即OLTP,關注的是多用戶的同時的雙向操做,在保障即時性的要求下,系統經過內存來處理數據的分配、讀寫等操做,存在IO瓶頸。
OLTP(On-Line Transaction Processing,聯機事務處理) 系統也稱爲生產系統,它是事件驅動的、面向應用的,好比電子商務網站的交易系統就是一個典型的OLTP系統。OLTP的基本特色是:
數據在系統中產生;
基於交易的處理系統(Transaction-Based);
每次交易牽涉的數據量很小;
對響應時間要求很是高;
用戶數量很是龐大,主要是操做人員;
數據庫的各類操做主要基於索引進行。
分析型數據庫是以實時多維分析技術做爲基礎,即側重OLAP,對數據進行多角度的模擬和概括,從而得出數據中所包含的信息和知識。
OLAP(On-Line Analytical Processing,聯機分析處理) 是基於數據倉庫的信息分析處理過程,是數據倉庫的用戶接口部分。OLAP系統是跨部門的、面向主ti的,其基本特色是:
自己不產生數據,其基礎數據來源於生產系統中的操做數據(OperationalData);
基於查詢的分析系統;
複雜查詢常常使用多表聯結、全表掃描等,牽涉的數據量每每十分龐大;
響應時間與具體查詢有很大關係;

用戶數量相對較小,其用戶主要是業務人員與管理人員; mysql

百萬級的數據,不管側重OLTP仍是OLAP,固然就是MySql了。 sql

過億級的數據,側重OLTP能夠繼續Mysql,側重OLAP,就要分場景考慮了。 數據庫

對於hbase當前noSql數據庫的一種,最多見的應用場景就是採集的網頁數據的存儲,因爲是key-value型數據庫,能夠再擴展到各類key-value應用場景,如日誌信息的存儲,對於內容信息不須要徹底結構化出來的類CMS應用等。注意hbase針對的仍然是OLTP應用爲主。

對於hive主要針對的是OLAP應用,注意其底層不是hbase,而是hdfs分佈式文件系統,重點是基於一個統一的查詢分析層,支撐OLAP應用中的各類關聯,分組,聚合類SQL語句。hive通常只用於查詢分析統計,而不能是常見的CUD操做,要知道HIVE是須要從已有的數據庫或日誌進行同步最終入到hdfs文件系統中,當前要作到增量實時同步都至關困難。
和mysql,oracle徹底不是相同的應用場景。這個是結構化數據庫,針對的更多的是結構化,事務一致性要求高,業務規則邏輯複雜,數據模型複雜的企業信息化類應用等。包括互聯網應用中的不少業務系統也須要經過結構化數據庫來實現。因此和hbase,hive不是一個層面的東西,不比較。

簡單的說,HBase是OLTP,Hive是OLAP比起單機的Oracle和MySQL,好處就是伸縮性好啊劣勢就是分佈式帶來的可用性,一致性,分區容忍性~等question,以及分佈式事務難以實現。
併發

實時compute場景:強調實時性,經常使用於實時性要求較高的地方,能夠選擇Storm;
批處理compute場景:強調批處理,經常使用於數據挖掘、分析,能夠選擇Hadoop;
實時查詢場景:強調查詢實時響應,經常使用於把DB裏的數據轉化索引文件,經過搜索引擎來查詢,能夠選擇solr/elasticsearch;
企業級ODS/EDW/數據集市場景:強調基於關係性數據庫的大數據實時分析,經常使用於業務數據集成,能夠選擇Greenplum; oracle

相關文章
相關標籤/搜索