常见数据库与数据引擎概念(一)
–>UDF一進一出,給定一個參數,輸出一個處理后的數據 ?
–>UDAF-多進一出,屬于聚合函數,類似于count、sum等函數 ?
–>UDTF-一進多出,屬于一個參數,返回一個列表作為結果
Kafka的優勢在于: 可靠性:Kafka是一個具有分區機制、副本機制和容錯機制的分布式消息系統 可擴展性:Kafka消息系統支持集群規模的熱擴展 高性能:Kafka在數據發布和訂閱過程中都能保證數據的高吞吐量。即便在TB級數據存儲的情況下,仍然能保證穩定的性能。
7. kudu:存儲結構化數據表的存儲系統。在一個Kudu集群中可以定義任意數量的table,每個table都需要預先定義好schema。每個table的列數是確定的,每一列都需要有名字和類型,每個表中可以把其中一列或多列定義為主鍵。這么看來,Kudu更像關系型數據庫,而不是像HBase、Cassandra和MongoDB這些NoSQL數據庫。不過Kudu目前還不能像關系型數據一樣支持二級索引。 基于HDFS的存儲技術,比如Parquet,具有高吞吐量連續讀取數據的能力;而HBase和Cassandra等技術適用于低延遲的隨機讀寫場景—>kudu
8.HBase:基于Google Bigtable實現的開源、分布式、可伸縮的列式存儲數據庫(非關系型),誕生于Hadoop,也是Hadoop生態的重要一環,如今作為一個Apache頂級項目,應用于基于Storm,Spark等框架的數據處理方案中,一種重要的大數據存儲工具。
9.Redis:一個高性能的key-value數據庫(非關系型),Redis有著更為復雜的數據結構并且提供對他們的原子性操作;支持數據持久化,可將內存中的數據保存在磁盤,重啟時再次加載;支持數據備份,即 master-slave 模式的數據備份
10.HIVE:Hive依賴于HDFS和MapReduce,其對HDFS的操作類似于SQL,我們稱之為HQL(SQL解析引擎),它提供了豐富的SQL查詢方式來分析存儲在HDFS中的數據。HQL可以編譯轉為MapReduce作業,完成查詢、匯總、分析數據等工作。這樣一來,即使不熟悉MapReduce 的用戶也可以很方便地利用SQL 語言查詢、匯總、分析數據。而MapReduce開發人員可以把己寫的mapper 和reducer 作為插件來支持Hive 做更復雜的數據分析,分析的數據來源于HDFS或HBase。 HIVE體系框架圖:
HIVE工作內部流程:
11.大數據架構:傳統大數據架構,流式架構,lambda架構,kappa,udifield
12.存儲引擎:將數據存儲到磁盤得接口~MySQL有SQL語句分析層和存儲引擎層,當分析出SQL語句需要執行什么操作后,調用存儲引擎的接口即可,數據庫是個服務,存儲引擎是和底層文件系統對接的
13.Data Lake:一種在系統或存儲庫中以自然格式存儲數據的方法,它有助于以各種模式和結構形式配置數據,通常是對象塊或文件。數據湖的主要思想是對企業中的所有數據進行統一存儲,從原始數據(源系統數據的精確副本)轉換為用于報告、可視化、分析和機器學習等各種任務的目標數據。數據湖中的數據包括結構化數據(關系數據庫數據),半結構化數據(CSV、XML、JSON等),非結構化數據(電子郵件,文檔,PDF)和二進制數據(圖像、音頻、視頻),從而形成一個容納所有形式數據的集中式數據存儲。 ? 數據湖從本質上來講,是一種企業數據架構方法,物理實現上則是一個數據存儲平臺,用來集中化存儲企業內海量的、多來源,多種類的數據,并支持對數據進行快速加工和分析。從實現方式來看,目前Hadoop是最常用的部署數據湖的技術,但并不意味著數據湖就是指Hadoop集群。為了應對不同業務需求的特點,MPP數據庫+Hadoop集群+傳統數據倉庫這種“混搭”架構的數據湖也越來越多出現在企業信息化建設規劃中。 ? 數據湖的就是原始數據保存區. 雖然這個概念國內談的少,但絕大部分互聯網公司都已經有了。國內一般把整個HDFS叫做數據倉庫(廣義),即存放所有數據的地方,而國外一般叫數據湖(data lake)。
待續…
注:以上內容為學習過程中查詢,圖片來源于網絡(若侵權,則刪),僅作個人學習記錄,可供他人參考。
總結
以上是生活随笔為你收集整理的常见数据库与数据引擎概念(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金海佳学C++primer 练习9.15
- 下一篇: npm ERR code EEXIST