⑴ impala 理論
impala介紹
Cloudera Imapala是一款開源的MPP架構的sql查詢引擎,它提供在hadoop環境上的低延遲、高並發的BI/數據分析,是一款開源、與Hadoop高度集成,靈活可擴展的查詢分析引擎,目標是基於SQL提供高並發的即席查詢。
與其他的查詢引擎系統(如presto、spark sql、hive sql)不同,Impala基於 C++ 和Java編寫,支持Hadoop生態下的多種組件集成(如HDFS、HBase、Metastore、YARN、Sentry等),支持多種文件格式的讀寫(如Parqeut、Avro、RCFile等)。
標準的mpp架構,massively-parallel query execution engine,支持在上百台機器的Hadoop集群上執行快速查詢,對底層的存儲系統解耦,不像資料庫要求那麼嚴格,不同的底層存儲可以聯合查詢。
impala在大數據應用處於什麼環節及作用
impala在大數據應用領域中處於數據分析環節,利用mpp架構實現高效數據查詢,下游應用系統使用impala也比較多,尤其在應用集市查詢數據倉庫的時候使用的較多。
impala架構體系
impala由statestore、catalog、impala daemon(impalad)組成。
impala任務執行流程
impala支持的文件格式
Impala可以對Hadoop中大多數格式的文件進行查詢,通過create table和insert的方式將一部分格式的數據載入到table中,但值得注意的是,有一些格式的數據它是無法寫入的(write to),對於Impala無法寫入的數據格式,通常是通過Hive建表,使用Hive進行數據的寫入,然後使用Impala來對這些保存好的數據執行查詢操作。
impala與hive對比
impala數據類型
海汼部落原創文章,原文鏈接:(http://hainiubl.com/topics/75548)
⑵ mpp架構資料庫有哪些
MPP的代表產品有:Vertica/Redshift(Paracel,被Amazon買買下了源碼的license後變成Redshift)/Greenplum。仔細觀察不難發現,這三者其實有非常很多相同點:
1.全部基於PostgreSQL
2.都是基於列的存儲(Columnar Storage)
3.操作都是以Scan為基礎,依賴Compression來提供性能的優化
⑶ 什麼是資料庫完全對等無共享的MPP架構
MPP系統工作起來就像是一台單獨的計算機,由於採用自動化的並行處理,在分析型數據倉庫等OLAP應用中,查詢性能比傳統的單節點資料庫大大提高。採用統一的並行操作資料庫引擎,將數據分散在不同的資料庫節點上,在高速的內部網路環境下,對於海量數據的並發查詢可極大地減少I/O,提高查詢效率。
⑷ mpp資料庫適合哪些應用場景
MPP資料庫主要適合查詢統計、分析研判等大數據處理場景,主要特點是整體架構呈現純扁平化,不存在單點性能瓶頸,基於開放式標准X86 PC伺服器構建,採用分布式架構設計,靈活實現按需部署,具備靈活的系統伸縮性,支持系統的縱向擴展和橫向擴展。
國內的產品主要是南大通用的GBase 8a MPP Cluster,是面向大數據、雲計算場景自主研發的大規模並行資料庫集群產品,在海量數據高速處理的場景下具有高性能、低成本、高可靠、易使用等諸多優勢,國外的如GreenPlum、Vertica等。
⑸ 大數據的核心技術有哪些
大數據技術的體系龐大且復雜,基礎的技術包含數據的採集、數據預處理、分布式存儲、資料庫、數據倉庫、機器學習、並行計算、可視化等。
1、數據採集與預處理:
Flume NG實時日誌收集系統,支持在日誌系統中定製各類數據發送方,用於收集數據;
Zookeeper是一個分布式的,開放源碼的分布式應用程序協調服務,提供數據同步服務。
2、數據存儲:
Hadoop作為一個開源的框架,專為離線和大規模數據分析而設計,HDFS作為其核心的存儲引擎,已被廣泛用於數據存儲。
HBase,是一個分布式的、面向列的開源資料庫,可以認為是hdfs的封裝,本質是數據存儲、NoSQL資料庫。
3、數據清洗:MapRece作為Hadoop的查詢引擎,用於大規模數據集的並行計算
4、數據查詢分析:
Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結構化的數據映射為一張資料庫表,並提供 HQL(Hive SQL)查詢功能。
Spark 啟用了內存分布數據集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。
5、數據可視化:對接一些BI平台,將分析得到的數據進行可視化,用於指導決策服務。
⑹ gp資料庫全稱是什麼
gp資料庫全稱是Creenplum。
GP資料庫是業界最快最高性價比的關系型分布式資料庫,它在開源的PostgreSQL的基礎上採用MPP架構(Massive Parallel Processing,海量並行處理),具有強大的大規模數據分析任務處理能力,其主要關注在數據倉庫和商業智能方面。
分布式資料庫系統通常使用較小的計算機系統,每台計算機可單獨放在一個地方,每台計算機中都可能有DBMS的一份完整拷貝副本,或者部分拷貝副本,並具有自己局部的資料庫,位於不同地點的許多計算機通過網路互相連接,共同組成一個完整的、全局的邏輯上集中、物理上分布的大型資料庫。
GP資料庫特點:
1.greenplum是一個關系型資料庫集群,是由數個獨立的資料庫服務組合成的邏輯資料庫。
2.greenplum採用Shared-Nothing架構,整個集群由很多個數據節點(Segment Sever)和控制節點(master server)組成,其中每個數據節點上可以運行多個資料庫。
簡單來說,Shared-Nothing是一個分布式的架構,每個節點相對獨立。在典型的Shared-Nothing中,每一個節點上所有的資源(CPU,內存,磁碟)都是獨立的,每個節點都只有全部數據的一部分,也只能使用本節點的資源。
⑺ 大數據資料庫有哪些
問題一:大數據技術有哪些 非常多的,問答不能發link,不然我給你link了。有譬如Hadoop等開源大數據項目的,編程語言的,以下就大數據底層技術說下。
簡單以永洪科技的技術說下,有四方面,其實也代表了部分通用大數據底層技術:
Z-Suite具有高性能的大數據分析能力,她完全摒棄了向上升級(Scale-Up),全面支持橫向擴展(Scale-Out)。Z-Suite主要通過以下核心技術來支撐PB級的大數據:
跨粒度計算(In-Databaseputing)
Z-Suite支持各種常見的匯總,還支持幾乎全部的專業統計函數。得益於跨粒度計算技術,Z-Suite數據分析引擎將找尋出最優化的計算方案,繼而把所有開銷較大的、昂貴的計算都移動到數據存儲的地方直接計算,我們稱之為庫內計算(In-Database)。這一技術大大減少了數據移動,降低了通訊負擔,保證了高性能數據分析。
並行計算(MPP puting)
Z-Suite是基於MPP架構的商業智能平台,她能夠把計算分布到多個計算節點,再在指定節點將計算結果匯總輸出。Z-Suite能夠充分利用各種計算和存儲資源,不管是伺服器還是普通的PC,她對網路條件也沒有嚴苛的要求。作為橫向擴展的大數據平台,Z-Suite能夠充分發揮各個節點的計算能力,輕松實現針對TB/PB級數據分析的秒級響應。
列存儲 (Column-Based)
Z-Suite是列存儲的。基於列存儲的數據集市,不讀取無關數據,能降低讀寫開銷,同時提高I/O 的效率,從而大大提高查詢性能。另外,列存儲能夠更好地壓縮數據,一般壓縮比在5 -10倍之間,這樣一來,數據佔有空間降低到傳統存儲的1/5到1/10 。良好的數據壓縮技術,節省了存儲設備和內存的開銷,卻大大了提升計算性能。
內存計算
得益於列存儲技術和並行計算技術,Z-Suite能夠大大壓縮數據,並同時利用多個節點的計算能力和內存容量。一般地,內存訪問速度比磁碟訪問速度要快幾百倍甚至上千倍。通過內存計算,CPU直接從內存而非磁碟上讀取數據並對數據進行計算。內存計算是對傳統數據處理方式的一種加速,是實現大數據分析的關鍵應用技術。
問題二:大數據使用的資料庫是什麼資料庫 ORACLE、DB2、SQL SERVER都可以,關鍵不是選什麼資料庫,而是資料庫如何優化! 需要看你日常如何操作,以查詢為主或是以存儲為主或2者,還要看你的數據結構,都要因地制宜的去優化!所以不是一句話說的清的!
問題三:什麼是大數據和大數據平台 大數據技術是指從各種各樣類型的數據中,快速獲得有價值信息的能力。適用於大數據的技術,包括大規模並行處理(MPP)資料庫,數據挖掘電網,分布式文件系統,分布式資料庫,雲計算平台,互聯網,和可擴展的存儲系統。
大數據平台是為了計算,現今社會所產生的越來越大的數據量。以存儲、運算、展現作為目的的平台。
問題四:常用大型資料庫有哪些 FOXBASE
MYSQL
這倆可算不上大型資料庫管理系統
PB 是資料庫應用程序開發用的ide,根本就不是資料庫管理系統
Foxbase是dos時代的產品了,進入windows時代改叫foxpro,屬於桌面單機級別的小型資料庫系統,mysql是個中輕量級的,但是開源,大量使用於小型網站,真正重量級的是Oracle和DB2,銀行之類的關鍵行業用的多是這兩個,微軟的MS SQLServer相對DB2和Oracle規模小一些,多見於中小型企業單位使用,Sybase可以說是日薄西山,不行了
問題五:幾大資料庫的區別 最商業的是ORACLE,做的最專業,然後是微軟的SQL server,做的也很好,當然還有DB2等做得也不錯,這些都是大型的資料庫,,,如果掌握的全面的話,可以保證數據的安全. 然後就是些小的資料庫access,mysql等,適合於中小企業的資料庫100萬數據一下的數據.如有幫助請採納,謝!
問題六:全球最大的資料庫是什麼 應該是Oracle,第一,Oracle為商業界所廣泛採用。因為它規范、嚴謹而且服務到位,且安全性非常高。第二,如果你學習使用Oracle不是商用,也可以免費使用。這就為它的廣泛傳播奠定了在技術人員中的基礎。第三,Linux/Unix系統常常作為伺服器,伺服器對Oracle的使用簡直可以說極其多啊。建議樓梗多學習下這個強大的資料庫
問題七:什麼是大數據? 大數據(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到無法通過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。(在維克托・邁爾-舍恩伯格及肯尼斯・庫克耶編寫的《大數據時代》中大數據指不用隨機分析法(抽樣調查)這樣的捷徑,而採用所有數據的方法[2])大數據的4V特點:Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價值)。
說起大數據,就要說到商業智能:
商業智能(Business Intelligence,簡稱:BI),又稱商業智慧或商務智能,指用現代數據倉庫技術、線上分析處理技術、數據挖掘和數據展現技術進行數據分析以實現商業價值。
商業智能作為一個工具,是用來處理企業中現有數據,並將其轉換成知識、分析和結論,輔助業務或者決策者做出正確且明智的決定。是幫助企業更好地利用數據提高決策質量的技術,包含了從數據倉庫到分析型系統等。
商務智能的產生發展
商業智能的概念經由Howard Dresner(1989年)的通俗化而被人們廣泛了解。當時將商業智能定義為一類由數據倉庫(或數據集市)、查詢報表、數據分析、數據挖掘、數據備份和恢復等部分組成的、以幫助企業決策為目的技術及其應用。
商務智能是20世紀90年代末首先在國外企業界出現的一個術語,其代表為提高企業運營性能而採用的一系列方法、技術和軟體。它把先進的信息技術應用到整個企業,不僅為企業提供信息獲取能力,而且通過對信息的開發,將其轉變為企業的競爭優勢,也有人稱之為混沌世界中的智能。因此,越來越多的企業提出他們對BI的需求,把BI作為一種幫助企業達到經營目標的一種有效手段。
目前,商業智能通常被理解為將企業中現有的數據轉化為知識,幫助企業做出明智的業務經營決策的工具。這里所談的數據包括來自企業業務系統的訂單、庫存、交易賬目、客戶和供應商資料及來自企業所處行業和競爭對手的數據,以及來自企業所處的其他外部環境中的各種數據。而商業智能能夠輔助的業務經營決策既可以是作業層的,也可以是管理層和策略層的決策。
為了將數據轉化為知識,需要利用數據倉庫、線上分析處理(OLAP)工具和數據挖掘等技術。因此,從技術層面上講,商業智能不是什麼新技術,它只是ETL、數據倉庫、OLAP、數據挖掘、數據展現等技術的綜合運用。
把商業智能看成是一種解決方案應該比較恰當。商業智能的關鍵是從許多來自不同的企業運作系統的數據中提取出有用的數據並進行清理,以保證數據的正確性,然後經過抽取(Extraction)、轉換(Transformation)和裝載(Load),即ETL過程,合並到一個企業級的數據倉庫里,從而得到企業數據的一個全局視圖,在此基礎上利用合適的查詢和分析工具、數據挖掘工具、OLAP工具等對其進行分析和處理(這時信息變為輔助決策的知識),最後將知識呈現給管理者,為管理者的決策過程提供支持。
企業導入BI的優點
1.隨機查詢動態報表
2.掌握指標管理
3.隨時線上分析處理
4.視覺化之企業儀表版
5.協助預測規劃
導入BI的目的
1.促進企業決策流程(Facilitate the Business Decision-Making Process):BIS增進企業的資訊整合與資訊分析的能力,匯總公司內、外部的資料,整合成有效的決策資訊,讓企業經理人大幅增進決策效率與改善決策品質。
......>>
問題八:資料庫有哪幾種? 常用的資料庫:oracle、sqlserver、mysql、access、sybase 2、特點。 -oracle: 1.資料庫安全性很高,很適合做大型資料庫。支持多種系統平台(HPUX、SUNOS、OSF/1、VMS、 WINDOWS、WINDOWS/NT、OS/2)。 2.支持客戶機/伺服器體系結構及混合的體系結構(集中式、分布式、 客戶機/伺服器)。 -sqlserver: 1.真正的客戶機/伺服器體系結構。 2.圖形化用戶界面,使系統管理和資料庫管理更加直觀、簡單。 3.具有很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平台使用。 -mysql: MySQL是一個開放源碼的小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司,92HeZu網免費贈送MySQL。目前MySQL被廣泛地應用在Internet上的中小型網站中。提供由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。 -access Access是一種桌面資料庫,只適合數據量少的應用,在處理少量數據和單機訪問的資料庫時是很好的,效率也很高。 但是它的同時訪問客戶端不能多於4個。 -
問題九:什麼是大數據 大數據是一個體量特別大,數據類別特別大的數據集,並且這樣的數據集無法用傳統資料庫工具對其內容進行抓取、管理和處理。 大數據首先是指數據體量(volumes)?大,指代大型數據集,一般在10TB?規模左右,但在實際應用中,很多企業用戶把多個數據集放在一起,已經形成了PB級的數據量;其次是指數據類別(variety)大,數據來自多種數據源,數據種類和格式日漸豐富,已沖破了以前所限定的結構化數據范疇,囊括了半結構化和非結構化數據。接著是數據處理速度(Velocity)快,在數據量非常龐大的情況下,也能夠做到數據的實時處理。最後一個特點是指數據真實性(Veracity)高,隨著社交數據、企業內容、交易與應用數據等新數據源的興趣,傳統數據源的局限被打破,企業愈發需要有效的信息之力以確保其真實性及安全性。
數據採集:ETL工具負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層後進行清洗、轉換、集成,最後載入到數據倉庫或數據集市中,成為聯機分析處理、數據挖掘的基礎。
數據存取:關系資料庫、NOSQL、SQL等。
基礎架構:雲存儲、分布式文件存儲等。
數據處理:自然語言處理(NLP,NaturalLanguageProcessing)是研究人與計算機交互的語言問題的一門學科。處理自然語言的關鍵是要讓計算機理解自然語言,所以自然語言處理又叫做自然語言理解(NLU,NaturalLanguage Understanding),也稱為計算語言學(putational Linguistics。一方面它是語言信息處理的一個分支,另一方面它是人工智慧(AI, Artificial Intelligence)的核心課題之一。
統計分析:假設檢驗、顯著性檢驗、差異分析、相關分析、T檢驗、方差分析、卡方分析、偏相關分析、距離分析、回歸分析、簡單回歸分析、多元回歸分析、逐步回歸、回歸預測與殘差分析、嶺回歸、logistic回歸分析、曲線估計、因子分析、聚類分析、主成分分析、因子分析、快速聚類法與聚類法、判別分析、對應分析、多元對應分析(最優尺度分析)、bootstrap技術等等。
數據挖掘:分類 (Classification)、估計(Estimation)、預測(Prediction)、相關性分組或關聯規則(Affinity grouping or association rules)、聚類(Clustering)、描述和可視化、Description and Visualization)、復雜數據類型挖掘(Text, Web ,圖形圖像,視頻,音頻等)
模型預測:預測模型、機器學習、建模模擬。
結果呈現:雲計算、標簽雲、關系圖等。
要理解大數據這一概念,首先要從大入手,大是指數據規模,大數據一般指在10TB(1TB=1024GB)規模以上的數據量。大數據同過去的海量數據有所區別,其基本特徵可以用4個V來總結(Vol-ume、Variety、Value和Veloc-ity),即體量大、多樣性、價值密度低、速度快。
第一,數據體量巨大。從TB級別,躍升到PB級別。
第二,數據類型繁多,如前文提到的網路日誌、視頻、圖片、地理位置信息,等等。
第三,價值密度低。以視頻為例,連續不間斷監控過程中,可能有用的數據僅僅有一兩秒。
第四,處理速度快。1秒定律。最後這一點也是和傳統的......>>
問題十:國內真正的大數據分析產品有哪些 國內的大數據公司還是做前端可視化展現的偏多,BAT算是真正做了大數據的,行業有硬性需求,別的行業跟不上也沒辦法,需求決定市場。
說說更通用的數據分析吧。
大數據分析也屬於數據分析的一塊,在實際應用中可以把數據分析工具分成兩個維度:
第一維度:數據存儲層――數據報表層――數據分析層――數據展現層
第二維度:用戶級――部門級――企業級――BI級
1、數據存儲層
數據存儲設計到資料庫的概念和資料庫語言,這方面不一定要深鑽研,但至少要理解數據的存儲方式,數據的基本結構和數據類型。SQL查詢語言必不可少,精通最好。可從常用的selece查詢,update修改,delete刪除,insert插入的基本結構和讀取入手。
Access2003、Access07等,這是最基本的個人資料庫,經常用於個人或部分基本的數據存儲;MySQL資料庫,這個對於部門級或者互聯網的資料庫應用是必要的,這個時候關鍵掌握資料庫的庫結構和SQL語言的數據查詢能力。
SQL Server2005或更高版本,對中小企業,一些大型企業也可以採用SQL Server資料庫,其實這個時候本身除了數據存儲,也包括了數據報表和數據分析了,甚至數據挖掘工具都在其中了。
DB2,Oracle資料庫都是大型資料庫了,主要是企業級,特別是大型企業或者對數據海量存儲需求的就是必須的了,一般大型資料庫公司都提供非常好的數據整合應用平台。
BI級別,實際上這個不是資料庫,而是建立在前面資料庫基礎上的,企業級應用的數據倉庫。Data Warehouse,建立在DW機上的數據存儲基本上都是商業智能平台,整合了各種數據分析,報表、分析和展現!BI級別的數據倉庫結合BI產品也是近幾年的大趨勢。
2、報表層
企業存儲了數據需要讀取,需要展現,報表工具是最普遍應用的工具,尤其是在國內。傳統報表解決的是展現問題,目前國內的帆軟報表FineReport已經算在業內做到頂尖,是帶著數據分析思想的報表,因其優異的介面開放功能、填報、表單功能,能夠做到打通數據的進出,涵蓋了早期商業智能的功能。
Tableau、FineBI之類,可分在報表層也可分為數據展現層。FineBI和Tableau同屬於近年來非常棒的軟體,可作為可視化數據分析軟體,我常用FineBI從資料庫中取數進行報表和可視化分析。相對而言,可視化Tableau更優,但FineBI又有另一種身份――商業智能,所以在大數據處理方面的能力更勝一籌。
3、數據分析層
這個層其實有很多分析工具,當然我們最常用的就是Excel,我經常用的就是統計分析和數據挖掘工具;
Excel軟體,首先版本越高越好用這是肯定的;當然對excel來講很多人只是掌握了5%Excel功能,Excel功能非常強大,甚至可以完成所有的統計分析工作!但是我也常說,有能力把Excel玩成統計工具不如專門學會統計軟體;
SPSS軟體:當前版本是18,名字也改成了PASW Statistics;我從3.0開始Dos環境下編程分析,到現在版本的變遷也可以看出SPSS社會科學統計軟體包的變化,從重視醫學、化學等開始越來越重視商業分析,現在已經成為了預測分析軟體;
SAS軟體:SAS相對SPSS其實功能更強大,SAS是平台化的,EM挖掘模塊平台整合,相對來講,SAS比較難學些,但如果掌握了SAS會更有價值,比如離散選擇模型,抽樣問題,正交實驗設計等還是SAS比較好用,另外,SAS的學習材料比較多,也公開,會有收獲的!
JMP分析:SAS的一個分析分支
XLstat:Excel的插件,可以完......>>
⑻ 2019數據架構選型必讀:1月資料庫產品技術解析
本期目錄
DB-Engines資料庫排行榜
新聞快訊
一、RDBMS家族
二、NoSQL家族
三、NewSQL家族
四、時間序列
五、大數據生態圈
六、國產資料庫概覽
七、雲資料庫
八、推出dbaplus Newsletter的想法
九、感謝名單
為方便閱讀、重點呈現,本期Newsletter(2019年1月)將對各個板塊的內容進行精簡。需要閱讀全文的同學可點擊文末 【閱讀原文】 或登錄https://pan..com/s/13BgipbaHeMfvm0YPtiYviA
DB-Engines資料庫排行榜
以下取自2019年1月的數據,具體信息可以參考http://db-engines.com/en/ranking/,數據僅供參考。
DB-Engines排名的數據依據5個不同的因素:
新聞快訊
1、2018年9月24日,微軟公布了SQL Server2019預覽版,SQL Server 2019將結合Spark創建統一數據平台。
2、2018年10月5日,ElasticSearch在美國紐約證券交易所上市。
3、亞馬遜放棄甲骨文資料庫軟體,導致最大倉庫之一在黃金時段宕機。受此消息影響,亞馬遜盤前股價小幅跳水,跌超2%。
4、2018年10月31日,Percona發布了Percona Server 8.0 RC版本,發布對MongoDB 4.0的支持,發布對XtraBackup測試第二個版本。
5、2018年10月31日,Gartner陸續發布了2018年的資料庫系列報告,包括《資料庫魔力象限》、《資料庫核心能力》以及《資料庫推薦報告》。
今年的總上榜資料庫產品達到了5家,分別來自:阿里雲,華為,巨杉資料庫,騰訊雲,星環 科技 。其中阿里雲和巨杉資料庫已經連續兩年入選。
6、2018年11月初,Neo4j宣布完成E輪8000萬美元融資。11月15日,Neo4j宣布企業版徹底閉源:
7、2019年1月8日,阿里巴巴以1.033億美元(9000萬歐元)的價格收購了Apache Flink商業公司DataArtisans。
8、2019年1月11日早間消息,亞馬遜宣布推出雲資料庫軟體,亞馬遜和MongoDB將會直接競爭。
RDBMS家族
Oracle 發布18.3版本
2018年7月,Oracle Database 18.3通用版開始提供下載。我們可以將Oracle Database 18c視為採用之前發布模式的Oracle Database 12c第2版的第一個補丁集。未來,客戶將不再需要等待多年才能用上最新版Oracle資料庫,而是每年都可以期待新資料庫特性和增強。Database 19c將於2019年Q1率先在Oracle cloud上發布雲版本。
Oracle Database 18c及19c部分關鍵功能:
1、性能
2、多租戶,大量功能增強及改進,大幅節省成本和提高敏捷性
3、高可用
4、數據倉庫和大數據
MySQL發布8.0.13版本
1、賬戶管理
經過配置,修改密碼時,必須帶上原密碼。在之前的版本,用戶登錄之後,就可以修改自己的密碼。這種方式存在一定安全風險。比如用戶登錄上資料庫後,中途離開一段時間,那麼非法用戶可能會修改密碼。由參數password_require_current控制。
2、配置
Innodb表必須有主鍵。在用戶沒有指定主鍵時,系統會生成一個默認的主鍵。但是在主從復制的場景下,默認的主鍵,會對叢庫應用速度帶來致命的影響。如果設置sql_require_primary_key,那麼資料庫會強制用戶在創建表、修改表時,加上主鍵。
3、欄位默認值
BLOB、TEXT、GEOMETRY和JSON欄位可以指定默認值了。
4、優化器
1)Skip Scan
非前綴索引也可以用了。
之前的版本,任何沒有帶上f1欄位的查詢,都沒法使用索引。在新的版本中,它可以忽略前面的欄位,讓這個查詢使用到索引。其實現原理就是把(f1 = 1 AND f2 > 40) 和(f1 = 2 AND f2 > 40)的查詢結果合並。
2)函數索引
之前版本只能基於某個列或者多個列加索引,但是不允許在上面做計算,如今這個限制消除了。
5、SQL語法
GROUP BY ASC和GROUP BY DESC語法已經被廢棄,要想達到類似的效果,請使用GROUP BY ORDER BY ASC和GROUP BY ORDER BY DESC。
6、功能變化
1)設置用戶變數,請使用SET語句
如下類型語句將要被廢棄SELECT @var, @var:=@var+1。
2)新增innodb_fsync_threshold
該變數是控制文件刷新到磁碟的速率,防止磁碟在短時間內飽和。
3)新增會話級臨時表空間
在以往的版本中,當執行SQL時,產生的臨時表都在全局表空間ibtmp1中,及時執行結束,臨時表被釋放,空間不會被回收。新版本中,會為session從臨時表空間池中分配一個臨時表空間,當連接斷開時,臨時表空間的磁碟空間被回收。
4)在線切換Group Replication的狀態
5)新增了group_replication_member_expel_timeout
之前,如果某個節點被懷疑有問題,在5秒檢測期結束之後,那麼就直接被驅逐出這個集群。即使該節點恢復正常時,也不會再被加入集群。那麼,瞬時的故障,會把某些節點驅逐出集群。
group_replication_member_expel_timeout讓管理員能更好的依據自身的場景,做出最合適的配置(建議配置時間小於一個小時)。
MariaDB 10.3版本功能展示
1、MariaDB 10.3支持update多表ORDER BY and LIMIT
1)update連表更新,limit語句
update t1 join t2 on t1.id=t2.id set t1.name='hechunyang' limit 3;
MySQL 8.0直接報錯
MariaDB 10.3更新成功
2)update連表更新,ORDER BY and LIMIT語句
update t1 join t2 on t1.id=t2.id set t1.name='HEchunyang' order by t1.id DESC limit 3;
MySQL 8.0直接報錯
MariaDB 10.3更新成功
參考:
https://jira.mariadb.org/browse/MDEV-13911
2、MariaDB10.3增補AliSQL補丁——安全執行Online DDL
Online DDL從名字上看很容易誤導新手,以為不論什麼情況,修改表結構都不會鎖表,理想很豐滿,現實很骨感,注意這個坑!
有以下兩種情況執行DDL操作會鎖表的,Waiting for table metadata lock(元數據表鎖):
針對第二種情況,MariaDB10.3增補AliSQL補丁-DDL FAST FAIL,讓其DDL操作快速失敗。
例:
如果線上有某個慢SQL對該表進行操作,可以使用WAIT n(以秒為單位設置等待)或NOWAIT在語句中顯式設置鎖等待超時,在這種情況下,如果無法獲取鎖,語句將立即失敗。 WAIT 0相當於NOWAIT。
參考:
https://jira.mariadb.org/browse/MDEV-11388
3、MariaDB Window Functions窗口函數分組取TOP N記錄
窗口函數在MariaDB10.2版本里實現,其簡化了復雜SQL的撰寫,提高了可讀性。
參考:
https://mariadb.com/kb/en/library/window-functions-overview/
Percona Server發布8.0 GA版本
2018年12月21日,Percona發布了Percona Server 8.0 GA版本。
在支持MySQL8.0社區的基礎版上,Percona Server for MySQL 8.0版本中帶來了許多新功能:
1、安全性和合規性
2、性能和可擴展性
3、可觀察性和可用性
Percona Server for MySQL 8.0中將要被廢用功能:
Percona Server for MySQL 8.0中刪除的功能:
RocksDB發布V5.17.2版本
2018年10月24日,RocksDB發布V5.17.2版本。
RocksDB是Facebook在LevelDB基礎上用C++寫的高效內嵌式K/V存儲引擎。相比LevelDB,RocksDB提供了Column-Family,TTL,Transaction,Merge等方面的支持。目前MyRocks,TiKV等底層的存儲都是基於RocksDB來構建。
PostgreSQL發布11版本
2018年10月18日,PostgreSQL 11發布。
1、PostgreSQL 11的重大增強
2、PostgreSQL 插件動態
1)分布式插件citus發布 8.1
citus是PostgreSQL的一款sharding插件,目前國內蘇寧、鐵總、探探有較大量使用案例。
https://github.com/citusdata/citus
2)地理信息插件postgis發布2.5.1
PostGIS是專業的時空資料庫插件,在測繪、航天、氣象、地震、國土資源、地圖等時空專業領域應用廣泛。同時在互聯網行業也得到了對GIS有性能、功能深度要求的客戶青睞,比如共享出行、外賣等客戶。
http://postgis.net/
3)時序插件timescale發布1.1.1
timescale是PostgreSQL的一款時序資料庫插件,在IoT行業中有非常好的應用。github star數目前有5000多,是一個非常火爆的插件。
https://github.com/timescale/timescaledb
4)流計算插件 pipelinedb 正式插件化
Pipelinedb是PostgreSQL的一款流計算插件,使用這個創建可以對高速寫入的數據進行實時根據定義的聚合規則進行聚合(支持概率計算),實時根據定義的規則觸發事件(支持事件處理函數的自定義)。可用於IoT,監控,FEED實時計算等場景。
https://github.com/pipelinedb/pipelinedb
3、PostgreSQL衍生開源產品動態
1)agensgraph發布 2.0.0版本
agensgraph是兼容PostgreSQL、opencypher的專業圖資料庫,適合圖式關系的管理。
https://github.com/bitnine-oss/agensgraph
2)gpdb發布5.15
gpdb是兼容PostgreSQL的mpp資料庫,適合OLAP場景。近兩年,gpdb一直在追趕PostgreSQL的社區版本,預計很快會追上10的PostgreSQL,在TP方面的性能也會得到顯著提升。
https://github.com/greenplum-db/gpdb
3)antdb發布3.2
antdb是以Postgres-XC為基礎開發的一款PostgreSQL sharding資料庫,亞信主導開發,開源,目前主要服務於亞信自有客戶。
https://github.com/ADBSQL/AntDB
4)遷移工具MTK發布52版本
MTK是EDB提供的可以將Oracle、PostgreSQL、MySQL、MSSQL、Sybase資料庫遷移到PostgreSQL, PPAS的產品,遷移速度可以達到100萬行/s以上。
https://github.com/digoal/blog/blob/master/201812/20181226_01.md
DB2發布 11.1.4.4版本
DB2最新發布Mod Pack 4 and Fix Pack 4,包含以下幾方面的改動及增強:
1、性能
2、高可用
3、管理視圖
4、應用開發方面
5、聯邦功能
6、pureScale
NoSQL家族
Redis發布5.0.3版本
MongoDB升級更新MongoDB Mobile和MongoDB Stitch
2018年11月21日,MongoDB升級更新MongoDB Mobile和MongoDB Stitch,助力開發人員提升工作效率。
MongoDB 公司日前發布了多項新產品功能,旨在更好地幫助開發人員在世界各地管理數據。通過利用存儲在移動設備和後台資料庫的數據之間的實時、自動的同步特性,MongoDB Mobile通用版本助力開發人員構建更快捷、反應更迅速的應用程序。此前,這只能通過在移動應用內部安裝一個可供選擇或限定功能的資料庫來實現。
MongoDB Mobile在為客戶提供隨處運行的自由度方面更進了一步。用戶在iOS和安卓終端設備上可擁有MongoDB所有功能,將網路邊界擴展到其物聯網資產范疇。應用系統還可以使用MongoDB Stitch的軟體開發包訪問移動客戶端或後台數據,幫助開發人員通過他們希望的任意方式查詢移動終端數據和物聯網數據,包括本地讀寫、本地JSON存儲、索引和聚合。通過Stitch移動同步功能(現可提供beta版),用戶可以自動對保存在本地的數據以及後台資料庫的數據進行同步。
本期新秀:Cassandra發布3.11.3版本
2018年8月11日,Cassandra發布正式版3.11.3。
Apache Cassandra是一款開源分布式NoSQL資料庫系統,使用了基於Google BigTable的數據模型,與面向行(row)的傳統關系型資料庫或鍵值存儲key-value資料庫不同,Cassandra使用的是寬列存儲模型(Wide Column Stores)。與BigTable和其模仿者HBase不同,數據並不存儲在分布式文件系統如GFS或HDFS中,而是直接存於本地。
Cassandra的系統架構與Amazon DynamoDB類似,是基於一致性哈希的完全P2P架構,每行數據通過哈希來決定應該存在哪個或哪些節點中。集群沒有master的概念,所有節點都是同樣的角色,徹底避免了整個系統的單點問題導致的不穩定性,集群間的狀態同步通過Gossip協議來進行P2P的通信。
3.11.3版本的一些bug fix和改進:
NewSQL家族
TiDB 發布2.1.2版本
2018 年 12 月 22 日,TiDB 發布 2.1.2 版,TiDB-Ansible 相應發布 2.1.2 版本。該版本在 2.1.1 版的基礎上,對系統兼容性、穩定性做出了改進。
TiDB 是一款定位於在線事務處理/在線分析處理( HTAP: Hybrid Transactional/Analytical Processing)的融合型資料庫產品。除了底層的 RocksDB 存儲引擎之外,分布式SQL層、分布式KV存儲引擎(TiKV)完全自主設計和研發。
TiDB 完全開源,兼容MySQL協議和語法,可以簡單理解為一個可以無限水平擴展的MySQL,並且提供分布式事務、跨節點 JOIN、吞吐和存儲容量水平擴展、故障自恢復、高可用等優異的特性;對業務沒有任何侵入性,簡化開發,利於維護和平滑遷移。
TiDB:
PD:
TiKV:
Tools:
1)TiDB-Lightning
2)TiDB-Binlog
EsgynDB發布R2.5版本
2018年12月22日,EsgynDB R2.5版本正式發布。
作為企業級產品,EsgynDB 2.5向前邁進了一大步,它擁有以下功能和改進:
CockroachDB發布2.1版本
2018年10月30日,CockroachDB正式發布2.1版本,其新增特性如下:
新增企業級特性:
新增SQL特性:
新增內核特性:
Admin UI增強:
時間序列
本期新秀:TimescaleDB發布1.0版本
10月底,TimescaleDB 1.0宣布正式推出,官方表示該版本已可用於生產環境,支持完整SQL和擴展。
TimescaleDB是基於PostgreSQL資料庫開發的一款時序資料庫,以插件化的形式打包提供,隨著PostgreSQL的版本升級而升級,不會因為另立分支帶來麻煩。
TimescaleDB架構:
數據自動按時間和空間分片(chunk)
更新亮點:
https://github.com/timescale/timescaledb/releases/tag/1.0.0
大數據生態圈
Hadoop發布2.9.2版本
2018年11月中旬,Hadoop在2.9分支上發布了新的2.9.2版本,該版本進行了204個大大小小的變更,主要變更如下:
Greenplum 發布5.15版本
Greenplum最新的5.15版本中發布了流式數據載入工具。
該版本中的Greenplum Streem Server組件已經集成了Kafka流式載入功能,並通過了Confluent官方的集成認證,其支持的主要功能如下:
國產資料庫概覽
K-DB發布資料庫一體機版
2018年11月7日,K-DB發布了資料庫一體機版。該版本更新情況如下:
OceanBase遷移服務發布1.0版本
1月4日,OceanBase 正式發布OMS遷移服務1.0版本。
以下內容包含 OceanBase 遷移服務的重要特性和功能:
SequoiaDB發布3.0.1新版本
1、架構
1)完整計算存儲分離架構,兼容MySQL協議、語法
計算存儲分離體系以松耦合的方式將計算與存儲層分別部署,通過標准介面或插件對各個模塊和組件進行無縫替換,在計算層與存儲層均可實現自由的彈性伸縮。
SequoiaDB巨杉資料庫「計算-存儲分離」架構詳細示意
用戶可以根據自身業務特徵選擇面向交易的SQL解析器(例如MySQL或PGSQL)或面向統計分析的執行引擎(例如SparkSQL)。眾所周知,使用不同的SQL優化與執行方式,資料庫的訪問性能可能會存在上千上萬倍的差距。計算存儲分離的核心思想便是在數據存儲層面進行一體化存儲,在計算層面則利用每種執行引擎的特點針對不同業務場景進行選擇和優化,用戶可以在存儲層進行邏輯與物理的隔離,將面向高頻交易的前端業務與面向高吞吐量的統計分析使用不同的硬體進行存儲,確保在多類型數據訪問時互不幹擾,以真正達到生產環境可用的多租戶與HTAP能力。
2、其他更新信息
1)介面變更:
2)主要特性:
雲資料庫
本期新秀:騰訊發布資料庫CynosDB,開啟公測
1、News
1)騰訊雲資料庫MySQL2018年重大更新:
2)騰訊雲資料庫MongoDB2018年重大更新:
3)騰訊雲資料庫Redis/CKV+2018年重大更新:
4)騰訊雲資料庫CTSDB2018年重大更新:
2、Redis 4.0集群版商業化上線
2018年10月,騰訊雲資料庫Redis 4.0集群版完成邀測、公測、商業化三個迭代,在廣州、上海、北京正式全量商業化上線。
產品特性:
使用場景:
官網文檔:
https://cloud.tencent.com/document/proct/239/18336
3、騰訊自研資料庫CynosDB發布,開啟公測
2018年11月22日,騰訊雲召開新一代自研資料庫CynosDB發布會,業界第一款全面兼容市面上兩大最主流的開源資料庫MySQL和PostgreSQL的高性能企業級分布式雲資料庫。
本期新秀:京東雲DRDS發布1.0版本
12月24日,京東雲分布式關系型資料庫DRDS正式發布1.0版本。
DRDS是京東雲精心自研的資料庫中間件產品,獲得了2018年 」可信雲技術創新獎」。DRDS可實現海量數據下的自動分庫分表,具有高性能,分布式,彈性升級,兼容MySQL等優點,適用於高並發、大規模數據的在線交易, 歷史 數據查詢,自動數據分片等業務場景,歷經多次618,雙十一的考驗,已經在京東集團內大規模使用。
京東雲DRDS產品有以下主要特性
1)自動分庫分表
通過簡單的定義即可自動實現分庫分表,將數據實際存放在多個MySQL實例的資料庫中,但呈現給應用程序的依舊是一張表,對業務透明,應用程序幾乎無需改動,實現了對資料庫存儲和處理能力的水平擴展。
2)分布式架構
基於分布式架構的集群方案,多個對等節點同時對外提供服務,不但可有效規避服務的單點故障,而且更加容易擴展。
3)超強性能
具有極高的處理能力,雙節點即可支持數萬QPS,滿足用戶超大規模處理能力的需求。
4)兼容MySQL
兼容絕大部分MySQL語法,包括MySQL語法、數據類型、索引、常用函數、排序、關聯等DDL,DML語句,使用成本低。
參考鏈接:
https://www.jdcloud.com/cn/procts/drds
RadonDB發布1.0.3版本
2018年12月26日,MyNewSQL領域的RadonDB雲資料庫發布1.0.3版本。
推出dbaplus Newsletter的想法
dbaplus Newsletter旨在向廣大技術愛好者提供資料庫行業的最新技術發展趨勢,為社區的技術發展提供一個統一的發聲平台。為此,我們策劃了RDBMS、NoSQL、NewSQL、時間序列、大數據生態圈、國產資料庫、雲資料庫等幾個版塊。
我們不以商業宣傳為目的,不接受任何商業廣告宣傳,嚴格審查信息源的可信度和准確性,力爭為大家提供一個純凈的技術學習環境,歡迎大家監督指正。
至於Newsletter發布的周期,目前計劃是每三個月左右會做一次跟進, 下期計劃時間是2019年4月14日~4月25日, 如果有相關的信息提供請發送至郵箱:[email protected]
感謝名單
最後要感謝那些提供寶貴信息和建議的專家朋友,排名不分先後。
往期回顧:
↓↓別忘了點這里下載 2019年1月 完整版Newsletter 哦~
⑼ GBase 8a MPP Cluster資料庫的數據分片是什麼概念如何理解
這種概念上的含混不清之所以還在流傳,主要是因為不懂技術的人而喜歡這些概念的大有人在,所以也並不在意要去澄清概念。「既然分布式資料庫是MPP架構,那麼MPP架構就等於分布式資料庫應該也沒什麼問題吧。」於是大家就都不在意了。
比如,ShardingSphere轉向可插拔架構後,其核心流程里已經沒有分片功能了,分片會作為可插拔能力的一部分接入到服務中。對於資料庫中間件來說,幾乎屬於產品重定義。與許多人對資料庫中間件的固有認知相悖,因為在許多人的理解中,資料庫中間件不就是為了分庫分表而存在的嗎?
理解關系資料庫中的相關概念、關系模型及其三要素;理解關系的性質及類型;理解完整性規則在關系資料庫中的作用;理解關系代數運算,掌握傳統的集合運算與專門的關系運算;理解並掌握關系演算。
很多人在對比兩者時,其實並不知道MPP的含義究竟是什麼、兩者的可比性到底在哪裡。實際上,當人們在對比兩者時,與其說是對比架構,不如說是對比產品。雖然MPP的原意是「大規模並行處理」,但由於一些歷史原因,現在當人們說到MPP架構時,它們實際上指代的是「分布式資料庫」,而Hadoop架構指的則是以Hadoop項目為基礎的一系列分布式計算和存儲框架。不過由於MPP的字面意思,現實中還是經常有人糾結兩者到底有什麼聯系和區別,兩者到底是不是同一個層面的概念。