在現今大數據(Big Data)盛行的時代,已經有許多大數據平台提供各種 不同的服務,而在這些平台上運行的軟體
多半包括有Data Warehouse、Data Mining、OLTP(Online Transaction Processing)、OLAP(Online Analytical Processing)、ETL(Extract, Transform, Load)
Data Warehouse
資料來源:https://aws.amazon.com/data-warehouse/?nc1=h_ls (中英文)
資料來源多樣(交易處理系統、關聯式資料庫和其他來源),儲存大量資訊,以待專業人士分析後做出商業決策
- 資料倉儲架構 Data Warehouse Architectur
- 分三層:
- 最底層是資料庫伺服器,資料在該處載入和存放。 The bottom tier of the architecture is the database server, where data is loaded and stored.
- 中間層由分析引擎組成,可用來存取和分析資料。The middle tier consists of the analytics engine that is used to access and analyze the data.
- 最上層是前端用戶端,可透過報告、分析和資料採集工具顯示結果。The top tier is the front-end client that presents results through reporting, analysis, and data mining tools.
- Data Warehouse Benefits
- Better decision making
- Consolidates data from many sources
- Data quality, consistency, and accuracy
- Historical intelligence
- Separates analytics processing from transactional databases, improving performance of both systems
- Data Warehouse vs Database
-
A data warehouse is specially designed for data analytics, which involves reading large amounts of data to understand relationships and trends across the data. A database is used to capture and store data, such as recording details of a transaction.
- Data Warehoue 主要供分析,報告,大數據(Analytics, reporting, big data )使用,Database 執行交易工作(Transaction processing)
- 從眾多來源收集資料並進行標準化
- 優化以最小化 I/O 和最大化資料輸送量(Optimized to minimize I/O and maximize data throughput),Database : High volumes of small read operations
-
Data Mining
http://www.stat.ncku.edu.tw/faculty_private/sljeng/Datamining/introduction.htm
https://sls.weco.net/node/10930
功能
一般而言,Data Mining功能可包含下列五項功能:
- 分類(classification) :
按照分析對象的屬性分門別類加以定義,建立類組(class)。例如,將信用申請者的風險屬性,區分為高度風險申請者,中度風險申請者及低度風險申請者。使用的技巧有決策樹(decision tree),記憶基礎推理(memory - based reasoning)等。
- 推估(estimation):
根據既有連續性數值之相關屬性資料,以獲致某一屬性未知之值。例如按照信用申請者之教育程度、行為別來推估其信用卡消費量。使用的技巧包括統計方法上之相關分析、迴歸分析及類神經網路方法。
- 預測(prediction):
根據對象屬性之過去觀察值來推估該屬性未來之值。例如由顧客過去之刷卡消費量預測其未來之刷卡消費量。使用的技巧包括迴歸分析、時間數列分析及類神經網路方法。
- 關聯分組(affinity grouping):
- cross selling)的機會以設計出吸引人的產品群組。
- 區隔化(segmentation) :
將異質母體中區隔為較具同質性之群組(clusters)。同質分組相當於行銷術語中的區隔化(segmentation),但是,假定事先未對於區隔加以定義,而資料中自然產生區隔。使用的技巧包括k-means法及agglomeration法。
Knowledge Discovery 的過程對 Data Mining 的應用成功與否有重要的影響,只有它才能確保 Data Mining 能獲得有意義的結果。根據Fayyad 等人對KDD的定義:「The nontrivial Process of identifying valid、novel、potentially useful , and ultimately understandable patterns in data」,
原始資料經過以下五個流程步驟後才能成為有用的知識:
- Selection:先理解要應用的領域、熟悉相關知識,接著建立目標資料集,並專注所選擇之資料子集。
- Pre-processing:再從目的資料中作前置處理,去除錯誤或不一致的資料
- Transformation:資料簡化與轉換工作
- Data Mining:將資料形成樣型(Patterns)、做回歸分析或找出分類型態
- Interpretation/ Evaluation:評估與解釋資料
另外,根據Glymour等人的研究,提出另一個參考的KDD進行步驟如下:
- 理解資料與進行的工作
- 獲取相關知識與技術(Acquisition)
- 融合與查核資料(Integration and checking)
- 去除錯誤或不一致的資料(Data cleaning)
- 發展模式與假設(Model and hypothesis development)
- 實際資料挖掘工作
- 測試與檢核所挖掘的資料(Testing and verfication)
- 解釋與使用資料(Interpretation and use)
處理的問題
1. 關聯規則 (Association rule)
2. 屬性導向歸納(Attribute Oriented Induction)
3. 資料分類 (Classification)
4. 資料分群 (Data Clustering)
5. 模式導向相似性(Pattern-Based Similarity)
6. Sequence Pattern
OLTP(Online Transaction Processing)
https://searchdatacenter.techtarget.com/definition/OLTP
https://kknews.cc/zh-tw/tech/p4oz26z.html
OLTP即聯機事務處理,就是我們經常說的關係資料庫,意即記錄即時的增、刪、改、查,就是我們經常應用的東西,這是資料庫的基礎;TPCC(Transaction Processing Performance Council)屬於此類。
OLTP:主要是執行基本的、日常的事務處理,比如資料庫記錄的增、刪、改、查。比如在銀行存取一筆款,就是一個事務交易。特點一般有:
1.實時性要求高;
2.數據量不是很大;
3.交易一般是確定的,所以OLTP是對確定性的數據進行存取;(比如存取款都有一個特定的金額)
4.並發性要求高並且嚴格的要求事務的完整,安全性。(比如這種情況:有可能你和你的家人同時在不同的銀行取同一個帳號的款),
原文網址:https://kknews.cc/tech/p4oz26z.html
OLAP(Online Analytical Processing)
OLAP:是數據倉庫系統的主要應用,支持複雜的分析操作,側重決策支持,並且提供直觀易懂的查詢結果。典型的應用就是複雜的動態的報表系統。特點一般有:
1.實時性要求不是很高,很多應用的頂多是每天更新一下數據;
2.數據量大,因為OLAP支持的是動態查詢,所以用戶也許要通過將很多數據的統計後才能得到想要知道的信息,例如時間序列分析等等,所以處理的數據量很大;
3.因為重點在於決策支持,所以查詢一般是動態的,也就是說允許用戶隨時提出查詢的要求。所以在OLAP中通過一個重要概念「維」來搭建一個動態查詢的平台(或技術),供用戶自己去決定需要知道什麼信息。
OLAP即聯機分析處理,是數據倉庫的核心部心,所謂數據倉庫是對於大量已經由OLTP形成的數據的一種分析型的資料庫,用於處理商業智能、決策支持等重要的決策信息;數據倉庫是在資料庫應用到一定程序之後而對歷史數據的加工與分析,讀取較多,更新較少,TPCH屬於此類,對於OLAP,列存儲模式比通常的行存儲模式可能更具優勢。
ETL(Extract, Transform, Load)
https://www.netpro.com.tw/?FID=23&CID=82&category=1
https://searchdatamanagement.techtarget.com/definition/extract-transform-load
ETL ( Extract-Transform-Load ) 是建置或更新資料倉儲 ( Data Warehouse ) 中的內容時,對於所需之數據進行資料擷取、轉換、載入的過程,由字面上即能得知它是由下述三個環環相扣的步驟所組成:
- Extract — 資料擷取:從資料來源處擷取所需之數據資料。
- Transform — 資料轉換:針對所擷取出之數據資料,依照商業邏楫的需求,針對數據資料作適當的轉換。
- Load — 資料載入:最後將已作適當轉換過的數據資料載入到目的地。
ETL can be contrasted with ELT (Extract, Load, Transform) which transfers raw data from a source server to a data warehouse on a target server and then prepares the information for downstream uses.