五個頂級的大數據架構

来源:https://www.cnblogs.com/xuexiqun784789432/archive/2018/09/06/9599890.html
-Advertisement-
Play Games

本文將介紹用於大數據堆棧的五個最有用的架構,以及每個架構的優點,以便更好地理解和權衡。此外,還對成本、何時使用、熱門產品,以及每種架構的提示和技巧進行了闡述。 本文將介紹用於大數據堆棧的五個最有用的架構,以及每個架構的優點,以便更好地理解和權衡。此外,還對成本、何時使用、熱門產品,以及每種架構的提示 ...


 

本文將介紹用於大數據堆棧的五個最有用的架構,以及每個架構的優點,以便更好地理解和權衡。此外,還對成本、何時使用、熱門產品,以及每種架構的提示和技巧進行了闡述。

自從像AWS這樣的公共雲產品開闢了大數據分析功能以來,小企業通過挖掘大量的數據做到只有大企業才能做到的事情,至今大約有10年時間。這些事情其中包括網路日誌、客戶購買記錄等,並通過按使需付費的方式提供低成本的商品集群。在這十年中,這些產品蓬勃發展,涵蓋了從實時(亞秒級延遲)流媒體式分析到用於分析批量模式工作的企業數據倉庫,而企業數據倉庫則可能需要數天或數周才能完成。

大數據

以下將介紹用於大數據堆棧的五個最有用的架構,以及每個架構的優點,以便更好地理解和權衡。此外,還對成本(按$ - $$$$$的規模)、何時使用、熱門產品,以及每種架構的提示和技巧進行了闡述。如果你想瞭解大數據的學習路線,想學習大數據知識以及需要免費的學習資料可以加群:784789432.歡迎你的加入。每天下午三點開直播分享基礎知識,晚上20:00都會開直播給大家分享大數據項目實戰。

五個大數據架構

在此並沒有什麼特別的順序,用戶在AWS公共雲旅程中可能遇到的五個頂級大數據架構是:

  • 流媒體- 允許攝取(並可能分析)任務關鍵型實時數據,這些數據可能會以爆發的形式出現在用戶面前。
  • 通用(或特定)的批處理集群—在可擴展、經濟高效的集群中提供通用存儲和計算功能,可以執行其他四種架構的任何和所有功能。
  • NoSQL引擎 - 使架構師能夠處理“3V” —高速度、高容量,以及底層數據的多樣性/可變性。
  • 企業數據倉庫(EDW) - 允許組織為多年的歷史數據維護一個單獨的資料庫,並對該數據運行各種長期運行的分析。
  • 就地分析 - 允許用戶將數據“就地”保存在低成本存儲引擎中,並針對該數據運行高性能的即席查詢,而無需創建單獨的、昂貴的“集群”。

1. 流媒體

流媒體解決方案由以下多個因素定義:

  • 關鍵任務數據—即使丟失一筆交易也會給用戶帶來災難性的後果。
  • 負載中的爆發尖峰——物聯網的基礎設施可能會從完全無聲的狀態轉變為同時與其通話設備中的一個。
  • 實時響應 - 高延遲響應對用戶來說可能是災難性的。

這裡有很多現實世界的例子,從特斯拉公司的電動汽車(基本上是移動的4G設備)不斷將汽車的位置發送到數據中心,通知司機下一個充電站在哪裡。此外,人們喜歡的日本一家高度自動化的壽司專營店:Sushiro。Sushiro所做的是將RFID感測器放在每個壽司盤底,然後,壽司傳送帶上的感測器跟蹤每個盤子的動態,將數據點發送到AWS Kinesis,其後端響應儀錶板的更新,通知壽司廚師,例如“丟掉即將過期變質的食物,或者製作更多的雞蛋壽司,或者解凍更多的金槍魚”,通過使用流媒體技術,該連鎖店不僅有上述的實時效率推薦,而且還可以獲得每家餐廳的歷史信息,並且可以瞭解顧客購買的趨勢。

Sushiro是一個很好的例子,因為它符合流媒體的所有三個要求。其儀錶板現在對業務運營至關重要。

  • 成本:$$ - $$$$$(通常為RAM密集型)
  • 適用性:任務關鍵型數據,負載爆發尖峰,實時響應。用戶需要構建KPI的實時儀錶板。
  • 註意事項:獨立的流媒體解決方案的構建和維護成本很高。擴展可能具有挑戰性,特別是如果在EC2上構建。失敗對企業來說可能是災難性的,但大多數產品都提供故障保護,例如複製優化、備份和災難恢復,以避免這種情況。
  • 受歡迎的產品:Kinesis(托管服務),Kafka(基於EC2),Spark Streaming(作為托管服務和基於EC2)和Storm。
  • 提示和技巧:使用Kinesis作為初學者(易於使用、體積小、成本低)。許多組織轉向基於EC2的Kafka(如果他們只需要流媒體)或Spark Streaming,以獲得更好的控制,並降低大批量成本。這是AWS中為數不多的幾次托管任務,像Kinesis這樣的托管服務最終會比基於EC2的Kafka解決方案花費更多的費用。

2. 通用(或特定)的批處理集群

使用Hadoop/Spark這些系統,用戶可以獲得高度可擴展、低成本(商用硬體和開源軟體)存儲和計算,這些存儲和計算可能會遇到大量問題,從而以儘可能低的成本對數據進行批量分析。

Hadoop技術非常成熟,提供了一個非常豐富的軟體生態系統,可以利用這些通用計算和存儲資源提供從數據倉庫到流媒體,甚至NoSQL的所有內容。

在Hadoop之上,現在可以運行Spark,它帶有自己的可擴展框架,以低延遲(高記憶體)方式提供上述所有功能,甚至適用於流媒體和NoSQL。

  • 成本:$ - $$$$(高度依賴於記憶體需求)
  • 適用性:最低成本、最大靈活性。如果希望採用一個集群完成所有任務,並從Hadoop或Spark內部部署轉移,那麼這是一個不錯的選擇,非常適合機器學習。
  • 註意事項:一個全能的系統很少把每件事都做好,但這可以通過使用Spark和為每個工作量身定製的集群來大大減輕工作負荷。
  • 熱門產品:EMR(托管服務,也將運行Spark),Cloudera(基於EC2),Hortonworks(通過EMR作為托管服務,基於EC2)。
  • 提示和技巧:在S3存儲桶中長期存儲源數據,構建集群,並根據需要將數據載入到集群中,然後在分析任務完成後立即關閉所有數據。這實際上正是預設情況下EMR的工作原理,但即使使用的是Cloudera或Hortonworks(現在功能幾乎相同),也可以輕鬆編寫上述所有內容。利用EC2現場實例可以節省80%-90%的成本,並檢查自己的分析,以便可以向上或向下旋轉集群。以利用成本最低的spot視窗。

3. NoSQL引擎

Velocity(併發事務)在這裡特別重要,這些引擎被設計為處理任意數量的併發讀寫。雖然其他系統通常不能用於最終用戶(需要低延遲響應)和員工分析團隊(可能會使用長時間運行的查詢鎖定多個表),同時,NoSQL引擎可以擴展以適應一個系統的兩個主伺服器。一些開發允許以低延遲方式實時加入和查詢該數據。

  • 成本:$$ - $$$(通常為記憶體密集型)
  • 適用性:“3V”問題。簡單和/或快速變化的數據模型。需要構建KPI的實時儀錶板。
  • 警告:必須放棄交易和豐富多樣的SQL。由於它不使用SQL,因此無法使用Tableau和Microstrategy等可視化工具直接查詢數據。擴展(尤其是添加新節點和重新平衡)可能很困難,並且會影響用戶延遲和系統可用性。
  • 受歡迎的產品:DynamoDB(托管服務),Neptune(托管服務,目前仍處於測試階段),Cassandra(基於EC2),CouchDB(基於EC2)和HBase(通過EMR作為托管服務,基於EC2)。
  • 提示和技巧:努力採用AWS管理的服務DynamoDB,而不是配置EC2並載入第三方系統。定期修剪最終用戶DynamoDB表,併在這些歷史表上創建每周或每月的表。使用Dynamic DynamoDB“自動調整”配置的容量,使其始終滿足消耗。使用DynamoDB Streams可以對客戶服務取消等關鍵事件進行實時響應,或者在第二個區域提供備份。

4. 企業數據倉庫(EDW)

企業數據倉庫(EDW)與此處提到的其他系統截然不同。它提供了人們稱之為“OLAP”(線上分析處理,可以支持來自內部用戶的一些長時間運行的查詢)與“OLTP”(線上事務處理,可以支持來自最終用戶的大量讀取和寫入)功能,如Oracle的RDBMS或MySQL。當然,可以使用OLTP系統作為企業數據倉庫(EDW),但是大多數人都將OLTP資料庫集中在最近用戶的低延遲,最近事件(如“跟蹤上周的訂單”)需求和定期(通常是每天)視窗更舊數據輸出到OLAP系統,業務用戶可以在數月或數年的數據中運行長時間的查詢。

這些OLAP系統使用諸如列式存儲、數據非規範化(創建具有幾乎無限維度的“數據立方體”)等策略,並提供RDBMS級ANSI 92 SQL依從性,這意味著可以完全訪問SQL功能,並且可以定製Tableau等可視化工具直接與他們合作。

  • 成本:$$ - $$$$$(通常需要大量節點來存儲和處理大量數據)。
  • 適用性:如果希望專門針對業務價值分析數據或構建KPI的實時儀錶板。
  • 警告:確保團隊瞭解OLAP和OLTP之間的區別,並確保他們以正確的方式使用每個OLAP和OLTP。
  • 提示和技巧:與EMR/Hadoop一樣,只在需要時啟動集群,將源數據保存在S3存儲桶中(這實際上是Redshift預設工作的方式)。標記集群,以便用能夠以自動方式快速識別和關閉未使用的容量。考慮保留以控製成本。真正瞭解可用的不同節點類型(高存儲、高吞吐量)以便利用每個節點類型。採用本機加密,因為它可以將性能降低多達20%-25%。通過O'Reilly課程深入瞭解Redshift,或考慮通過出色的“數據倉庫”課程進行面對面培訓,該課程幾乎完全涵蓋Redshift。

5. 就地分析

幾年前,Presto通過提供高性能的數據分析改變了游戲規則,而無需將數據從原生的、低成本的長期存儲中移出。其最終結果是,可以簡單地運行查詢,而不是必須為昂貴的EMR或Redshift集群支付全部費用。而是只按使用的內容收費。

此外,人們需要很多時間來嘗試選擇(然後管理)EMR或Redshift集群的正確節點和節點數。採用Presto,人們不再知道也不關心這種差別,而這一切都在用戶需要的時候起到作用。

最後,Presto支持RDBMS級別的ANSI-92 SQL相容性,這意味著所有可視化工具都可以直接使用它,具有的SQL背景可以在ad-hoc查詢中全面使用。

  • 費用:$ - $$
  • 適用性:成本極低。沒有任何管理。可以作為低成本、中等性能的企業數據倉庫(EDW)。它不需要將數據複製到第二個系統。大型連接和複雜分析效果很好。
  • 警告:需要最低延遲。為了獲得不錯的性能,可能會使用序列化格式Parquet、壓縮、重新分區等重新格式化存儲的數據。可能需要多輪查詢調整和/或重新格式化才能獲得正確的結果。目前不支持UDF或事務。
  • 熱門產品:AWS Athena(用於查詢S3數據的托管服務),EMR(托管服務-可以自動安裝Presto),自我管理的Presto(基於EC2–用戶永遠不想在AWS中執行此操作)。
  • 提示和技巧:只需使用Athena。利用AWS Glue構建ETL管道,以獲取原始數據,並將其重新格式化為S3或Athena可以更有效地使用的內容。使用S3生命周期策略將原有的數據移動到低成本的歸檔存儲(如Glacier)。

把它們放在一起

通過瞭解將在公共雲中運行的五個頂級大數據架構,用戶現在可以獲得有關最佳應用位置的可操作信息,以及潛伏的位置。

一旦用戶開始在AWS公共雲中構建大數據架構,將很快瞭解到更多的架構,並且在很多情況下,企業可能會最終同時使用上述所有內容,可能使用Kinesis將客戶數據流媒體傳輸到DynamoDB和S3。用戶可能偶爾會在該源數據上啟動EMR(進行某些機器學習)或Redshift(分析KPI)集群,或者可以選擇以可以通過AWS Athena就地訪問的方式格式化數據,讓它像企業數據倉庫(EDW)一樣發揮作用。

具有執行TMTOWTDI的能力是一件好事,AWS公司努力提供最適合用戶需求的服務。如果用戶從頭開始,在AWS認證的全球知識培訓課程中花費三天時間將可以提供滿足其需求的服務,並讓用戶儘快開始運營,並且順利實施。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我造輪子,你造車,創客一起造起來!塔克創新資訊【塔克社區 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/ 】 本文介紹X-CTR100控制器與樹莓派Linux系統組成機器人平臺。首先介紹與樹莓派串口通信,後介紹機器人平臺搭建。這種上下位機平臺架構常用於機器人RO... ...
  • 一、環境準備 系統:centos7 and centos6.8 172.16.1.11 二、開始安裝 安裝yum源 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 安裝epe ...
  • 1.下載 2.解壓 3.重命名 4.編譯 有可能會出現 那就去安裝 成功了 安裝PHP-redis擴展 1.下載 2.解壓 3.找到phpize文件,生成配置 在redis-4.0.2文件夾中執行 4.配置 這個時候會報一些錯誤,打開php.ini 去除shell_exec,proc_open 5. ...
  • 文中部分內容摘自駿馬金龍的博客,查看可 "點擊" 1. crontab簡述 crontab命令用於周期性的執行任務,想要執行這個命令,需要首先啟動crond(守護進程)服務才行 crontab是配置管理crontab file的功程式,也可以移除或列出用於為 cron 提供服務的現有表項 cront ...
  • oracle net manager來加密客戶端與資料庫之間或中間件與 資料庫之間的網路傳輸數據 第一步:開始 所有程式 oracle 配置和移植工具 net Manager 第二步:選擇本地 概要文件 oracle高級安全性 SSL選項卡選擇客戶機或伺服器 第三步:進入加密選項卡,選擇或填寫加密類 ...
  • 今天在用mongoexport導出滿足一定條件下的數據時,遇到了一個報錯,現紀錄下來,並且針對此錯誤對MongoDB 的 數字類型 做了進一步的學習。 背景 及 報錯信息 今天接到一個業務需求,需要從MongoDB 資料庫 order集合中導出符合以下條件的數據: db.qqwj_order.fin ...
  • 今天來水一篇,差點被這個遠程登錄搞死了,所以記錄下這個問題。 先使用 命令查看一下 版本,這裡可以可以看到我用的是是 版本。 mysql status mysql Ver 8.0.12 for Linux on x86_64 (MySQL Community Server GPL) Connecti ...
  • 覆蓋索引的定義: 如果一個索引包含(或覆蓋)所有需要查詢的欄位的值,稱為‘覆蓋索引’。即只需掃描索引而無須回表。 只掃描索引而無需回表的優點: 1.索引條目通常遠小於數據行大小,只需要讀取索引,則mysql會極大地減少數據訪問量。 2.因為索引是按照列值順序存儲的,所以對於IO密集的範圍查找會比隨機 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...