簡體   English   中英

什么是 OLTP 和 OLAP。 它們之間有什么區別?

[英]What are OLTP and OLAP. What is the difference between them?

其實他們是什么意思? 我找到的所有關於它們的文章都沒有給我一個想法,或者我的知識太少而無法理解。

有人會給我一些資源,讓我可以從頭開始學習。

在這里你會找到更好的解決方案OLTP vs. OLAP

  • OLTP (在線事務處理)涉及特定系統的操作。 OLTP 的特點是有大量短的在線事務(INSERT、UPDATE、DELETE)。 OLTP 系統的主要重點是非常快速的查詢處理、在多訪問環境中保持數據完整性以及通過每秒事務數衡量的有效性。 在 OLTP 數據庫中有詳細的和當前的數據,用於存儲事務數據庫的模式是實體模型(通常是 3NF)。 它涉及訪問個人記錄的查詢,例如在公司數據庫中更新您的電子郵件。

  • OLAP (在線分析處理)處理歷史數據或檔案數據。 OLAP 的特點是交易量相對較低。 查詢通常非常復雜並且涉及聚合。 對於 OLAP 系統,響應時間是一種有效性度量。 OLAP 應用程序被數據挖掘技術廣泛使用。 在 OLAP 數據庫中有聚合的歷史數據,存儲在多維模式(通常是星型模式)中。 有時查詢需要訪問管理記錄中的大量數據,例如您公司去年的利潤是多少。

非常簡短的回答:

不同的數據庫有不同的用途。 我不是數據庫專家。 經驗法則:

  • 如果您正在進行分析(例如聚合歷史數據),請使用 OLAP
  • 如果您正在進行交易(例如在電子商務購物車上添加/刪除訂單),請使用 OLTP

簡短的回答:

讓我們考慮兩個示例場景:

場景一:

您正在建立一個在線商店/網站,並且您希望能夠:

  • 存儲用戶數據、密碼、以前的交易...
  • 存儲實際產品及其相關價格

您希望能夠為特定用戶查找數據,更改其名稱...基本上是對用戶數據執行 INSERT、UPDATE、DELETE 操作。 與產品等相同。

您希望能夠進行交易,可能涉及用戶購買產品(這是一種關系)。 那么 OLTP 可能是一個很好的選擇。

場景2:

您有一個在線商店/網站,並且想要計算諸如

  • “所有用戶花費的總金額”
  • “什么是最暢銷的產品”

這屬於分析/商業智能領域,因此 OLAP 可能更適合。

如果您從“知道如何/什么/多少”的角度考慮……,並且涉及一種或多種類型的所有“對象”(例如,所有用戶和大多數產品都知道總花費)那么 OLAP 可能更適合。

更長的答案:

當然事情並沒有那么簡單。 這就是為什么我們必須首先使用像OLTPOLAP這樣的短標簽。 最后應該獨立評估每個數據庫。

那么 OLAP 和 OLTP 之間的根本區別是什么?

好吧,數據庫必須在某處存儲數據。 數據的存儲方式在很大程度上反映了所述數據的可能用途,這一點不足為奇。 數據通常存儲在硬盤上。 讓我們把硬盤想象成一張非常寬的紙,我們可以在上面讀寫東西。 有兩種方法可以組織我們的讀取和寫入,以便它們既高效又快速。

一種方法是制作一本有點像電話簿的書 在本書的每一頁上,我們都存儲了有關特定用戶的信息。 現在很好,我們可以很容易地找到特定用戶的信息! 直接跳到頁面! 如果我們願意,我們甚至可以在開始時有一個特殊頁面來告訴我們用戶在哪個頁面上。 但另一方面,如果我們想知道所有用戶花了多少錢,那么我們就必須閱讀每一頁,即整本書! 那將是一個基於行的書籍/數據庫 (OLTP)。 開頭的可選頁面將是索引。

另一種使用我們大張紙的方法是制作會計賬簿 我不是會計師,但讓我們想象一下,我們會有一個頁面用於“支出”、“采購”……這很好,因為現在我們可以非常快速地查詢諸如“給我總收入”之類的內容(只需閱讀“采購” “ 頁)。 我們還可以要求更多涉及的事情,例如“給我銷售的前十名產品”,並且仍然具有可接受的性能。 但是現在考慮一下為特定用戶查找支出是多么痛苦。 您必須查看每個人的整個支出清單並過濾該特定用戶的支出,然后將它們相加。 這基本上相當於再次“閱讀整本書”。 那將是一個基於列的數據庫 (OLAP)。

它如下

  • OLTP數據庫旨在用於執行許多小型事務,通常用作“單一事實來源”。

  • 另一方面, OLAP數據庫更適合分析、數據挖掘、更少的查詢,但它們通常更大(它們對更多數據進行操作)。

這當然比這更復雜,這是對數據庫如何不同的 20 000 英尺的概述,但它讓我不會迷失在首字母縮略詞的海洋中。

說到縮略詞:

  • OLTP = 在線事務處理
  • OLAP = 在線分析處理

為了進一步閱讀,這里有一些相關鏈接,它們極大地啟發了我的回答:

區別很簡單:

OLTP(在線事務處理)

OLTP 是一類促進和管理面向事務的應用程序的信息系統。 OLTP 也被用來指代系統立即響應用戶請求的處理。 在線事務處理應用程序在數據庫管理中具有高吞吐量和插入或更新密集型的特點。 OLTP 系統的一些示例包括訂單輸入、零售和金融交易系統。

OLAP(在線分析處理)

OLAP 是更廣泛的商業智能類別的一部分,它還包括關系數據庫、報告編寫和數據挖掘。 OLAP 的典型應用包括銷售、營銷、管理報告、業務流程管理 (BPM)、預算和預測、財務報告和類似領域的業務報告。

查看更多細節OLTP 和 OLAP

OLTP:它代表在線事務處理,用於管理當前的日常數據信息。
OLAP:OnLine Analytical Processing的縮寫,用於維護數據的過往歷史,主要用於數據分析,也可稱為倉庫。

oltp-主要用於業務事務。用於收集業務數據。在sql中,我們使用插入、更新和刪除命令來檢索小數據源。同樣,它們是高度規范化的.... OLTP主要用於維護數據完整性。

olap - 主要用於報告、數據挖掘和業務分析目的。 對於大數據或批量數據。故意將其反規范化。 它存儲歷史數據..

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM