❶ 大數據存儲技術都有哪些
1. 數據採集:在大數據的生命周期中,數據採集是第一個環節。按照MapRece應用系統的分類,大數據採集主要來自四個來源:管理信息系統、web信息系統、物理信息系統和科學實驗系統。
2. 數據訪問:大數據的存儲和刪除採用不同的技術路線,大致可分為三類。第一類主要面向大規模結構化數據。第二類主要面向半結構化和非結構化數據。第三類是面對結構化和非結構化的混合大數據,
3。基礎設施:雲存儲、分布式文件存儲等。數據處理:對於收集到的不同數據集,可能會有不同的結構和模式,如文件、XML樹、關系表等,表現出數據的異構性。對於多個異構數據集,需要進行進一步的集成或集成處理。在對不同數據集的數據進行收集、排序、清理和轉換後,生成一個新的數據集,為後續的查詢和分析處理提供統一的數據視圖。
5. 統計分析:假設檢驗、顯著性檢驗、差異分析、相關分析、t檢驗、方差分析、卡方分析、偏相關分析、距離分析、回歸分析、簡單回歸分析、多元回歸分析、逐步回歸、回歸預測、殘差分析,嶺回歸、logistic回歸、曲線估計、因子分析、聚類分析、主成分分析等方法介紹了聚類分析、因子分析、快速聚類與聚類、判別分析、對應分析等方法,多元對應分析(最優尺度分析)、bootstrap技術等。
6. 數據挖掘:目前需要改進現有的數據挖掘和機器學習技術;開發數據網路挖掘、特殊群挖掘、圖挖掘等新的數據挖掘技術;突破基於對象的數據連接、相似性連接等大數據融合技術;突破面向領域的大數據挖掘技術如用戶興趣分析、網路行為分析、情感語義分析等挖掘技術。
7. 模型預測:預測模型、機器學習、建模與模擬。
8. 結果:雲計算、標簽雲、關系圖等。
關於大數據存儲技術都有哪些,青藤小編就和您分享到這里了。如果您對大數據工程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關於數據分析師、大數據工程師的技巧及素材等內容,可以點擊本站的其他文章進行學習。
❷ 詳解大數據存儲:哪些問題最容易出現
數據是重要的生產要素
信息時代,數據儼然已成為一種重要的生產要素,如同資本、勞動力和原材料等其他要素一樣,而且作為一種普遍需求,它也不再局限於某些特殊行業的應用。各行各業的公司都在收集並利用大量的數據分析結果,盡可能的降低成本,提高產品質量、提高生產效率以及創造新的產品。例如,通過分析直接從產品測試現場收集的數據,能夠幫助企業改進設計。此外,一家公司還可以通過深入分析客戶行為,對比大量的市場數據,從而超越他的競爭對手。
存儲技術必須跟上
隨著大數據應用的爆發性增長,它已經衍生出了自己獨特的架構,而且也直接推動了存儲、網路以及計算技術的發展。畢竟處理大數據這種特殊的需求是一個新的挑戰。硬體的發展最終還是由軟體需求推動的,就這個例子來說,我們很明顯的看到大數據分析應用需求正在影響著數據存儲基礎設施的發展。
從另一方面看,這一變化對存儲廠商和其他IT基礎設施廠商未嘗不是一個機會。隨著結構化數據和非結構化數據量的持續增長,以及分析數據來源的多樣化,此前存儲系統的設計已經無法滿足大數據應用的需要。存儲廠商已經意識到這一點,他們開始修改基於塊和文件的存儲系統的架構設計以適應這些新的要求。在這里,我們會討論哪些與大數據存儲基礎設施相關的屬性,看看它們如何迎接大數據的挑戰。
容量問題
這里所說的「大容量」通常可達到PB級的數據規模,因此,海量數據存儲系統也一定要有相應等級的擴展能力。與此同時,存儲系統的擴展一定要簡便,可以通過增加模塊或磁碟櫃來增加容量,甚至不需要停機。基於這樣的需求,客戶現在越來越青睞Scale-out架構的存儲。Scale-out集群結構的特點是每個節點除了具有一定的存儲容量之外,內部還具備數據處理能力以及互聯設備,與傳統存儲系統的煙囪式架構完全不同,Scale-out架構可以實現無縫平滑的擴展,避免存儲孤島。
「大數據」應用除了數據規模巨大之外,還意味著擁有龐大的文件數量。因此如何管理文件系統層累積的元數據是一個難題,處理不當的話會影響到系統的擴展能力和性能,而傳統的NAS系統就存在這一瓶頸。所幸的是,基於對象的存儲架構就不存在這個問題,它可以在一個系統中管理十億級別的文件數量,而且還不會像傳統存儲一樣遭遇元數據管理的困擾。基於對象的存儲系統還具有廣域擴展能力,可以在多個不同的地點部署並組成一個跨區域的大型存儲基礎架構。
延遲問題
「大數據」應用還存在實時性的問題。特別是涉及到與網上交易或者金融類相關的應用。舉個例子來說,網路成衣銷售行業的在線廣告推廣服務需要實時的對客戶的瀏覽記錄進行分析,並准確的進行廣告投放。這就要求存儲系統在必須能夠支持上述特性同時保持較高的響應速度,因為響應延遲的結果是系統會推送「過期」的廣告內容給客戶。這種場景下,Scale-out架構的存儲系統就可以發揮出優勢,因為它的每一個節點都具有處理和互聯組件,在增加容量的同時處理能力也可以同步增長。而基於對象的存儲系統則能夠支持並發的數據流,從而進一步提高數據吞吐量。
有很多「大數據」應用環境需要較高的IOPS性能,比如HPC高性能計算。此外,伺服器虛擬化的普及也導致了對高IOPS的需求,正如它改變了傳統IT環境一樣。為了迎接這些挑戰,各種模式的固態存儲設備應運而生,小到簡單的在伺服器內部做高速緩存,大到全固態介質的可擴展存儲系統等等都在蓬勃發展。
並發訪問 一旦企業認識到大數據分析應用的潛在價值,他們就會將更多的數據集納入系統進行比較,同時讓更多的人分享並使用這些數據。為了創造更多的商業價值,企業往往會綜合分析那些來自不同平台下的多種數據對象。包括全局文件系統在內的存儲基礎設施就能夠幫助用戶解決數據訪問的問題,全局文件系統允許多個主機上的多個用戶並發訪問文件數據,而這些數據則可能存儲在多個地點的多種不同類型的存儲設備上。
❸ 我想問一下大數據的安全存儲採用什麼技術
基於雲計算架構的大數據,數據的存儲和操作都是以服務的形式提供。目前,大數據的安全存儲採用虛擬化海量存儲技術來存儲數據資源,涉及數據傳輸、隔離、恢復等問題。解決大數據的安全存儲,一是數據加密。在大數據安全服務的設計中,大數據可以按照數據安全存儲的需求,被存儲在數據集的任何存儲空間,通過SSL(SecureSocketsLayer,安全套接層協議層)加密,實現數據集的節點和應用程序之間移動保護大數據。在大數據的傳輸服務過程中,加密為數據流的上傳與下載提供有效的保護。應用隱私保護和外包數據計算,屏蔽網路攻擊。目前,PGP和TrueCrypt等程序都提供了強大的加密功能。二是分離密鑰和加密數據。使用加密把數據使用與數據保管分離,把密鑰與要保護的數據隔離開。同時,定義產生、存儲、備份、恢復等密鑰管理生命周期。三是使用過濾器。通過過濾器的監控,一旦發現數據離開了用戶的網路,就自動阻止數據的再次傳輸。四是數據備份。通過系統容災、敏感信息集中管控和數據管理等產品,實現端對端的數據保護,確保大數據損壞情況下有備無患和安全管控。
更多關於大數據的安全存儲採用什麼技術,進入:https://m.abcgonglue.com/ask/d6a03e1615838691.html?zd查看更多內容
❹ 大數據核心技術有哪些
大數據技術的體系龐大且復雜,基礎的技術包含數據的採集、數據預處理、分布式存儲、Nosql資料庫、數據倉庫、機器學習、並行計算、可視化等各種技術范疇和不同的技術層面。首先給出一個通用化的大數據處理框架,主要分為下面幾個方面:數據採集與預處理、數據存儲、數據清洗、數據查詢分析和數據可視化。
一、數據採集與預處理
對於各種來源的數據,包括移動互聯網數據、社交網路的數據等,這些結構化和非結構化的海量數據是零散的,也就是所謂的數據孤島,此時的這些數據並沒有什麼意義,數據採集就是將這些數據寫入數據倉庫中,把零散的數據整合在一起,對這些數據綜合起來進行分析。數據採集包括文件日誌的採集、資料庫日誌的採集、關系型資料庫的接入和應用程序的接入等。在數據量比較小的時候,可以寫個定時的腳本將日誌寫入存儲系統,但隨著數據量的增長,這些方法無法提供數據安全保障,並且運維困難,需要更強壯的解決方案。
Flume NG作為實時日誌收集系統,支持在日誌系統中定製各類數據發送方,用於收集數據,同時,對數據進行簡單處理,並寫到各種數據接收方(比如文本,HDFS,Hbase等)。Flume NG採用的是三層架構:Agent層,Collector層和Store層,每一層均可水平拓展。其中Agent包含Source,Channel和 Sink,source用來消費(收集)數據源到channel組件中,channel作為中間臨時存儲,保存所有source的組件信息,sink從channel中讀取數據,讀取成功之後會刪除channel中的信息。
NDC,Netease Data Canal,直譯為網易數據運河系統,是網易針對結構化資料庫的數據實時遷移、同步和訂閱的平台化解決方案。它整合了網易過去在數據傳輸領域的各種工具和經驗,將單機資料庫、分布式資料庫、OLAP系統以及下游應用通過數據鏈路串在一起。除了保障高效的數據傳輸外,NDC的設計遵循了單元化和平台化的設計哲學。
Logstash是開源的伺服器端數據處理管道,能夠同時從多個來源採集數據、轉換數據,然後將數據發送到您最喜歡的 「存儲庫」 中。一般常用的存儲庫是Elasticsearch。Logstash 支持各種輸入選擇,可以在同一時間從眾多常用的數據來源捕捉事件,能夠以連續的流式傳輸方式,輕松地從您的日誌、指標、Web 應用、數據存儲以及各種 AWS 服務採集數據。
Sqoop,用來將關系型資料庫和Hadoop中的數據進行相互轉移的工具,可以將一個關系型資料庫(例如Mysql、Oracle)中的數據導入到Hadoop(例如HDFS、Hive、Hbase)中,也可以將Hadoop(例如HDFS、Hive、Hbase)中的數據導入到關系型資料庫(例如Mysql、Oracle)中。Sqoop 啟用了一個 MapRece 作業(極其容錯的分布式並行計算)來執行任務。Sqoop 的另一大優勢是其傳輸大量結構化或半結構化數據的過程是完全自動化的。
流式計算是行業研究的一個熱點,流式計算對多個高吞吐量的數據源進行實時的清洗、聚合和分析,可以對存在於社交網站、新聞等的數據信息流進行快速的處理並反饋,目前大數據流分析工具有很多,比如開源的strom,spark streaming等。
Strom集群結構是有一個主節點(nimbus)和多個工作節點(supervisor)組成的主從結構,主節點通過配置靜態指定或者在運行時動態選舉,nimbus與supervisor都是Storm提供的後台守護進程,之間的通信是結合Zookeeper的狀態變更通知和監控通知來處理。nimbus進程的主要職責是管理、協調和監控集群上運行的topology(包括topology的發布、任務指派、事件處理時重新指派任務等)。supervisor進程等待nimbus分配任務後生成並監控worker(jvm進程)執行任務。supervisor與worker運行在不同的jvm上,如果由supervisor啟動的某個worker因為錯誤異常退出(或被kill掉),supervisor會嘗試重新生成新的worker進程。
當使用上游模塊的數據進行計算、統計、分析時,就可以使用消息系統,尤其是分布式消息系統。Kafka使用Scala進行編寫,是一種分布式的、基於發布/訂閱的消息系統。Kafka的設計理念之一就是同時提供離線處理和實時處理,以及將數據實時備份到另一個數據中心,Kafka可以有許多的生產者和消費者分享多個主題,將消息以topic為單位進行歸納;Kafka發布消息的程序稱為procer,也叫生產者,預訂topics並消費消息的程序稱為consumer,也叫消費者;當Kafka以集群的方式運行時,可以由一個服務或者多個服務組成,每個服務叫做一個broker,運行過程中procer通過網路將消息發送到Kafka集群,集群向消費者提供消息。Kafka通過Zookeeper管理集群配置,選舉leader,以及在Consumer Group發生變化時進行rebalance。Procer使用push模式將消息發布到broker,Consumer使用pull模式從broker訂閱並消費消息。Kafka可以和Flume一起工作,如果需要將流式數據從Kafka轉移到hadoop,可以使用Flume代理agent,將Kafka當做一個來源source,這樣可以從Kafka讀取數據到Hadoop。
Zookeeper是一個分布式的,開放源碼的分布式應用程序協調服務,提供數據同步服務。它的作用主要有配置管理、名字服務、分布式鎖和集群管理。配置管理指的是在一個地方修改了配置,那麼對這個地方的配置感興趣的所有的都可以獲得變更,省去了手動拷貝配置的繁瑣,還很好的保證了數據的可靠和一致性,同時它可以通過名字來獲取資源或者服務的地址等信息,可以監控集群中機器的變化,實現了類似於心跳機制的功能。
二、數據存儲
Hadoop作為一個開源的框架,專為離線和大規模數據分析而設計,HDFS作為其核心的存儲引擎,已被廣泛用於數據存儲。
HBase,是一個分布式的、面向列的開源資料庫,可以認為是hdfs的封裝,本質是數據存儲、NoSQL資料庫。HBase是一種Key/Value系統,部署在hdfs上,克服了hdfs在隨機讀寫這個方面的缺點,與hadoop一樣,Hbase目標主要依靠橫向擴展,通過不斷增加廉價的商用伺服器,來增加計算和存儲能力。
Phoenix,相當於一個Java中間件,幫助開發工程師能夠像使用JDBC訪問關系型資料庫一樣訪問NoSQL資料庫HBase。
Yarn是一種Hadoop資源管理器,可為上層應用提供統一的資源管理和調度,它的引入為集群在利用率、資源統一管理和數據共享等方面帶來了巨大好處。Yarn由下面的幾大組件構成:一個全局的資源管理器ResourceManager、ResourceManager的每個節點代理NodeManager、表示每個應用的Application以及每一個ApplicationMaster擁有多個Container在NodeManager上運行。
Mesos是一款開源的集群管理軟體,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等應用架構。
Redis是一種速度非常快的非關系資料庫,可以存儲鍵與5種不同類型的值之間的映射,可以將存儲在內存的鍵值對數據持久化到硬碟中,使用復制特性來擴展性能,還可以使用客戶端分片來擴展寫性能。
Atlas是一個位於應用程序與MySQL之間的中間件。在後端DB看來,Atlas相當於連接它的客戶端,在前端應用看來,Atlas相當於一個DB。Atlas作為服務端與應用程序通訊,它實現了MySQL的客戶端和服務端協議,同時作為客戶端與MySQL通訊。它對應用程序屏蔽了DB的細節,同時為了降低MySQL負擔,它還維護了連接池。Atlas啟動後會創建多個線程,其中一個為主線程,其餘為工作線程。主線程負責監聽所有的客戶端連接請求,工作線程只監聽主線程的命令請求。
Ku是圍繞Hadoop生態圈建立的存儲引擎,Ku擁有和Hadoop生態圈共同的設計理念,它運行在普通的伺服器上、可分布式規模化部署、並且滿足工業界的高可用要求。其設計理念為fast analytics on fast data。作為一個開源的存儲引擎,可以同時提供低延遲的隨機讀寫和高效的數據分析能力。Ku不但提供了行級的插入、更新、刪除API,同時也提供了接近Parquet性能的批量掃描操作。使用同一份存儲,既可以進行隨機讀寫,也可以滿足數據分析的要求。Ku的應用場景很廣泛,比如可以進行實時的數據分析,用於數據可能會存在變化的時序數據應用等。
在數據存儲過程中,涉及到的數據表都是成千上百列,包含各種復雜的Query,推薦使用列式存儲方法,比如parquent,ORC等對數據進行壓縮。Parquet 可以支持靈活的壓縮選項,顯著減少磁碟上的存儲。
三、數據清洗
MapRece作為Hadoop的查詢引擎,用於大規模數據集的並行計算,」Map(映射)」和」Rece(歸約)」,是它的主要思想。它極大的方便了編程人員在不會分布式並行編程的情況下,將自己的程序運行在分布式系統中。
隨著業務數據量的增多,需要進行訓練和清洗的數據會變得越來越復雜,這個時候就需要任務調度系統,比如oozie或者azkaban,對關鍵任務進行調度和監控。
Oozie是用於Hadoop平台的一種工作流調度引擎,提供了RESTful API介面來接受用戶的提交請求(提交工作流作業),當提交了workflow後,由工作流引擎負責workflow的執行以及狀態的轉換。用戶在HDFS上部署好作業(MR作業),然後向Oozie提交Workflow,Oozie以非同步方式將作業(MR作業)提交給Hadoop。這也是為什麼當調用Oozie 的RESTful介面提交作業之後能立即返回一個JobId的原因,用戶程序不必等待作業執行完成(因為有些大作業可能會執行很久(幾個小時甚至幾天))。Oozie在後台以非同步方式,再將workflow對應的Action提交給hadoop執行。
Azkaban也是一種工作流的控制引擎,可以用來解決有多個hadoop或者spark等離線計算任務之間的依賴關系問題。azkaban主要是由三部分構成:Relational Database,Azkaban Web Server和Azkaban Executor Server。azkaban將大多數的狀態信息都保存在MySQL中,Azkaban Web Server提供了Web UI,是azkaban主要的管理者,包括project的管理、認證、調度以及對工作流執行過程中的監控等;Azkaban Executor Server用來調度工作流和任務,記錄工作流或者任務的日誌。
流計算任務的處理平台Sloth,是網易首個自研流計算平台,旨在解決公司內各產品日益增長的流計算需求。作為一個計算服務平台,其特點是易用、實時、可靠,為用戶節省技術方面(開發、運維)的投入,幫助用戶專注於解決產品本身的流計算需求。
四、數據查詢分析
Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結構化的數據映射為一張資料庫表,並提供 HQL(Hive SQL)查詢功能。Hive本身不存儲和計算數據,它完全依賴於HDFS和MapRece。可以將Hive理解為一個客戶端工具,將SQL操作轉換為相應的MapRece jobs,然後在hadoop上面運行。Hive支持標準的SQL語法,免去了用戶編寫MapRece程序的過程,它的出現可以讓那些精通SQL技能、但是不熟悉MapRece 、編程能力較弱與不擅長Java語言的用戶能夠在HDFS大規模數據集上很方便地利用SQL 語言查詢、匯總、分析數據。
Hive是為大數據批量處理而生的,Hive的出現解決了傳統的關系型資料庫(MySql、Oracle)在大數據處理上的瓶頸 。Hive 將執行計劃分成map->shuffle->rece->map->shuffle->rece…的模型。如果一個Query會被編譯成多輪MapRece,則會有更多的寫中間結果。由於MapRece執行框架本身的特點,過多的中間過程會增加整個Query的執行時間。在Hive的運行過程中,用戶只需要創建表,導入數據,編寫SQL分析語句即可。剩下的過程由Hive框架自動的完成。
Impala是對Hive的一個補充,可以實現高效的SQL查詢。使用Impala來實現SQL on Hadoop,用來進行大數據實時查詢分析。通過熟悉的傳統關系型資料庫的SQL風格來操作大數據,同時數據也是可以存儲到HDFS和HBase中的。Impala沒有再使用緩慢的Hive+MapRece批處理,而是通過使用與商用並行關系資料庫中類似的分布式查詢引擎(由Query Planner、Query Coordinator和Query Exec Engine三部分組成),可以直接從HDFS或HBase中用SELECT、JOIN和統計函數查詢數據,從而大大降低了延遲。Impala將整個查詢分成一執行計劃樹,而不是一連串的MapRece任務,相比Hive沒了MapRece啟動時間。
Hive 適合於長時間的批處理查詢分析,而Impala適合於實時互動式SQL查詢,Impala給數據人員提供了快速實驗,驗證想法的大數據分析工具,可以先使用Hive進行數據轉換處理,之後使用Impala在Hive處理好後的數據集上進行快速的數據分析。總的來說:Impala把執行計劃表現為一棵完整的執行計劃樹,可以更自然地分發執行計劃到各個Impalad執行查詢,而不用像Hive那樣把它組合成管道型的map->rece模式,以此保證Impala有更好的並發性和避免不必要的中間sort與shuffle。但是Impala不支持UDF,能處理的問題有一定的限制。
Spark擁有Hadoop MapRece所具有的特點,它將Job中間輸出結果保存在內存中,從而不需要讀取HDFS。Spark 啟用了內存分布數據集,除了能夠提供互動式查詢外,它還可以優化迭代工作負載。Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數據集。
Nutch 是一個開源Java 實現的搜索引擎。它提供了我們運行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬蟲。
Solr用Java編寫、運行在Servlet容器(如Apache Tomcat或Jetty)的一個獨立的企業級搜索應用的全文搜索伺服器。它對外提供類似於Web-service的API介面,用戶可以通過http請求,向搜索引擎伺服器提交一定格式的XML文件,生成索引;也可以通過Http Get操作提出查找請求,並得到XML格式的返回結果。
Elasticsearch是一個開源的全文搜索引擎,基於Lucene的搜索伺服器,可以快速的儲存、搜索和分析海量的數據。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
還涉及到一些機器學習語言,比如,Mahout主要目標是創建一些可伸縮的機器學習演算法,供開發人員在Apache的許可下免費使用;深度學習框架Caffe以及使用數據流圖進行數值計算的開源軟體庫TensorFlow等,常用的機器學習演算法比如,貝葉斯、邏輯回歸、決策樹、神經網路、協同過濾等。
五、數據可視化
對接一些BI平台,將分析得到的數據進行可視化,用於指導決策服務。主流的BI平台比如,國外的敏捷BI Tableau、Qlikview、PowrerBI等,國內的SmallBI和新興的網易有數(可點擊這里免費試用)等。
在上面的每一個階段,保障數據的安全是不可忽視的問題。
基於網路身份認證的協議Kerberos,用來在非安全網路中,對個人通信以安全的手段進行身份認證,它允許某實體在非安全網路環境下通信,向另一個實體以一種安全的方式證明自己的身份。
控制許可權的ranger是一個Hadoop集群許可權框架,提供操作、監控、管理復雜的數據許可權,它提供一個集中的管理機制,管理基於yarn的Hadoop生態圈的所有數據許可權。可以對Hadoop生態的組件如Hive,Hbase進行細粒度的數據訪問控制。通過操作Ranger控制台,管理員可以輕松的通過配置策略來控制用戶訪問HDFS文件夾、HDFS文件、資料庫、表、欄位許可權。這些策略可以為不同的用戶和組來設置,同時許可權可與hadoop無縫對接。
❺ 大數據時代數據管理方式研究
大數據時代數據管理方式研究
1數據管理技術的回顧
數據管理技術主要經歷了人工管理階段、文件系統階段和資料庫系統階段。隨著數據應用領域的不斷擴展,數據管理所處的環境也越來越復雜,目前廣泛流行的資料庫技術開始暴露出許多弱點,面臨著許多新的挑戰。
1.1 人工管理階段
20 世紀 50 年代中期,計算機主要用於科學計算。當時沒有磁碟等直接存取設備,只有紙帶、卡片、磁帶等外存,也沒有操作系統和管理數據的專門軟體。該階段管理的數據不保存、由應用程序管理數據、數據不共享和數據不具有獨立性等特點。
1.2 文件系統階段
20 世紀 50 年代後期到 60 年代中期,隨著計算機硬體和軟體的發展,磁碟、磁鼓等直接存取設備開始普及,這一時期的數據處理系統是把計算機中的數據組織成相互獨立的被命名的數據文件,並可按文件的名字來進行訪問,對文件中的記錄進行存取的數據管理技術。數據可以長期保存在計算機外存上,可以對數據進行反復處理,並支持文件的查詢、修改、插入和刪除等操作。其數據面向特定的應用程序,因此,數據共享性、獨立性差,且冗餘度大,管理和維護的代價也很大。
1.3資料庫階段
20 世紀 60 年代後期以來,計算機性能得到進一步提高,更重要的是出現了大容量磁碟,存儲容量大大增加且價格下降。在此基礎上,才有可能克服文件系統管理數據時的不足,而滿足和解決實際應用中多個用戶、多個應用程序共享數據的要求,從而使數據能為盡可能多的應用程序服務,這就出現了資料庫這樣的數據管理技術。資料庫的特點是數據不再只針對某一個特定的應用,而是面向全組織,具有整體的結構性,共享性高,冗餘度減小,具有一定的程序與數據之間的獨立性,並且對數據進行統一的控制。
2大數據時代的數據管理技術
大數據(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到無法透過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。大數據有 3 個 V,一是大量化(Volume),數據量是持續快速增加的,從 TB級別,躍升到 PB 級別;二是多樣化(Variety),數據類型多樣化,結構化數據已被視為小菜一碟,圖片、音頻、視頻等非結構化數據正以傳統結構化數據增長的兩倍速快速創建;三是快速化 (Velocity),數據生成速度快,也就需要快速的處理能力,因此,產生了「1 秒定律」,就是說一般要在秒級時間范圍內給出分析結果,時間太長就失去價值了,這個速度要求是大數據處理技術和傳統的數據挖掘技術最大的區別。
2.1 關系型資料庫(RDBMS)
20 世紀 70 年代初,IBM 工程師 Codd 發表了著名的論文「A Relational Model of Data for Large Shared DataBanks」,標志著關系資料庫時代來臨。關系資料庫的理論基礎是關系模型,是藉助於集合代數等數學概念和方法來處理資料庫中的數據,現實世界中的實體以及實體之間的聯系非常容易用關系模型來表示。容易理解的模型、容易掌握的查詢語言、高效的優化器、成熟的技術和產品,使得關系資料庫占據了資料庫市場的絕對的統治地位。隨著互聯網 web2.0 網站的興起,半結構化和非結構化數據的大量涌現,傳統的關系資料庫在應付 web2.0 網站特別是超大規模和高並發的 SNS(全稱 Social Networking Services,即社會性網路服務) 類型的 web2.0 純動態網站已經顯得力不從心,暴露了很多難以克服的問題。
2.2 noSQL資料庫
順應時代發展的需要產生了 noSQL資料庫技術,其主要特點是採用與關系模型不同的數據模型,當前熱門的 noSQL資料庫系統可以說是蓬勃發展、異軍突起,很多公司都熱情追捧之,如:由 Google 公司提出的 Big Table 和 MapRece 以及 IBM 公司提出的 Lotus Notes 等。不管是那個公司的 noSQL資料庫都圍繞著大數據的 3 個 V,目的就是解決大數據的 3個 V 問題。因此,在設計 noSQL 時往往考慮以下幾個原則,首先,採用橫向擴展的方式,通過並行處理技術對數據進行劃分並進行並行處理,以獲得高速的讀寫速度;其次,解決數據類型從以結構化數據為主轉向結構化、半結構化、非結構化三者的融合的問題;再次,放鬆對數據的 ACID 一致性約束,允許數據暫時出現不一致的情況,接受最終一致性;最後,對各個分區數據進行備份(一般是 3 份),應對節點失敗的狀況等。
對數據的應用可以分為分析型應用和操作型應用,分析型應用主要是指對大量數據進行分類、聚集、匯總,最後獲得數據量相對小的分析結果;操作型應用主要是指對數據進行增加、刪除、修改和查詢以及簡單的匯總操作,涉及的數據量一般比較少,事務執行時間一般比較短。目前資料庫可分為關系資料庫和 noSQL資料庫,根據數據應用的要求,再結合目前資料庫的種類,所以目前資料庫管理方式主要有以下 4 類。
(1)面向操作型的關系資料庫技術。
首先,傳統資料庫廠商提供的基於行存儲的關系資料庫系統,如 DB2、Oracle、SQL Server 等,以其高度的一致性、精確性、系統可恢復性,在事務處理方面仍然是核心引擎。其次,面向實時計算的內存資料庫系統,如 Hana、Timesten、Altibase 等通過把對數據並發控制、查詢和恢復等操作控制在內存內部進行,所以獲得了非常高的性能,在很多特定領域如電信、證券、網管等得到普遍應用。另外,以 VoltDB、Clustrix 和NuoDB 為代表的 new SQL 宣稱能夠在保持 ACDI 特性的同時提高了事務處理性能 50 倍 ~60 倍。
(2)面向分析型的關系資料庫技術。
首先,TeraData 是數據倉庫領域的領頭羊,Teradata 在整體上是按 Shared Nothing 架構體系進行組織的,定位就是大型數據倉庫系統,支持較高的擴展性。其次,面向分析型應用,列存儲資料庫的研究形成了另一個重要的潮流。列存儲資料庫以其高效的壓縮、更高的 I/O 效率等特點,在分析型應用領域獲得了比行存儲資料庫高得多的性能。如:MonetDB 和 Vertica是一個典型的基於列存儲技術的資料庫系統。
(3)面向操作型的 noSQL 技術。
有些操作型應用不受 ACID 高度一致性約束,但對大數據處理需要處理的數據量非常大,對速度性能要求也非常高,這樣就必須依靠大規模集群的並行處理能力來實現數據處理,弱一致性或最終一致性就可以了。這時,操作型 noSQL資料庫的優點就可以發揮的淋漓盡致了。如,Hbase 一天就可以有超過 200 億個到達硬碟的讀寫操作,實現對大數據的處理。另外,noSQL資料庫是一個數據模型靈活、支持多樣數據類型,如對圖數據建模、存儲和分析,其性能、擴展性是關系資料庫無法比擬的。
(4)面向分析型的 noSQL 技術。
面向分析型應用的 noSQL 技術主要依賴於Hadoop 分布式計算平台,Hadoop 是一個分布式計算平台,以 HDFS 和 Map Rece 為用戶提供系統底層細節透明的分布式基礎架構。《Hadoop 經典實踐染技巧》傳統的資料庫廠商 Microsoft,Oracle,SAS,IBM 等紛紛轉向 Hadoop 的研究,如微軟公司關閉 Dryad 系統,全力投入 Map Rece 的研發,Oracle 在 2011 年下半年發布 Big Plan 戰略計劃,全面進軍大數據處理領域,IBM 則早已捷足先登「,沃森(Watson)」計算機就是基於 Hadoop 技術開發的產物,同時 IBM 發布了 BigInsights 計劃,基於 Hadoop,Netezza 和 SPSS(統計分析、數據挖掘軟體)等技術和產品構建大數據分析處理的技術框架。同時也涌現出一批新公司來研究Hadoop 技術,如 Cloudera、MapRKarmashpere 等。
3數據管理方式的展望
通過以上分析,可以看出關系資料庫的 ACID 強調數據一致性通常指關聯數據之間的邏輯關系是否正確和完整,而對於很多互聯網應用來說,對這一致性和隔離性的要求可以降低,而可用性的要求則更為明顯,此時就可以採用 noSQL 的兩種弱一致性的理論 BASE 和 CAP.關系資料庫和 noSQL資料庫並不是想到對立的矛盾體,而是可以相互補充的,根據不同需求使用不同的技術,甚至二者可以共同存在,互不影響。最近幾年,以 Spanner 為代表新型資料庫的出現,給資料庫領域注入新鮮血液,這就是融合了一致性和可用性的 newSQL,這種新型思維方式或許會是未來大數據處理方式的發展方向。
4 結束語
隨著雲計算、物聯網等的發展,數據呈現爆炸式的增長,人們正被數據洪流所包圍,大數據的時代已經到來。正確利用大數據給人們的生活帶來了極大的便利,但與此同時也給傳統的數據管理方式帶來了極大的挑戰。
❻ 開展微型數據存儲技術創新研發搶占未來大數據存儲技術高地的建議
我國數據存儲核心技術長期落後,大數據中心按照傳統的 科技 房地產的思路將面臨資源約束。為了防止我國存儲技術「卡脖子」,節省未來海量數據存儲佔地空間,系統化整合資源解決當前中國大數據存儲技術產品的容量問題,建議國家立項 開展微型數據存儲技術創新研發 。
我國數據儲存的現狀和面臨的問題
計算機數據存儲技術是信息技術應用的核心。一切計算機應用數據都需要由物理設備來存儲,以便計算機系統進行讀寫等處理,數據應用與數據存儲恰似樹干與樹根的密切關系。伴隨著信息技術應用的持續高速發展,可以預見未來的數據量必將呈現爆炸式增長,隨之而來的海量數據存儲瓶頸問題必然日趨嚴重,加劇著數據存儲領域長期面臨的容量、安全、性能、擴充、維護、災備、監管等諸多挑戰。其中,容量困境,首當其沖。
當前痛點。 為了滿足數據存儲容量日益增長的需求,大數據存儲中心建設必不可少。放眼當下全國各地的大數據存儲中心建設,由於數據存儲基礎核心技術缺位,流行的模式是不可持續的「 科技 房地產」,即單純拓展佔地面積蓋樓建設數據中心,進而耗費寶貴自然資源。目前我國城市監控視頻圖像數據受限於數據中心存儲容量空間,一般只能保留一個月左右,相關的數據應用嚴重受制。
應用基石。 底層數據存儲是信息產業發展的基石,數據存儲技術產品是信息應用系統的架構基礎,也是我國的關鍵行業技術短板。有效的數據存儲技術產品涉及到所有信息技術應用場景:人工智慧,信息安全,智慧城市,大數據,雲計算,區塊鏈,城市大腦,雪亮工程,城市管理視頻監控,醫學影像識別,等等。
嚴峻局面。 追溯信息技術百年來的發展軌跡,中國在數據存儲基礎技術領域的貢獻幾乎為零。國內數據存儲行業主要擅長於市場側的商業應用創新,數據存儲底層管理的核心技術研發嚴重依賴國外的開源開放。缺乏基礎研發梯隊,沒有關鍵理論 探索 ;沿襲陳舊的發展思路,習於外購器件設備;底層技術積累短缺,核心創新能力薄弱;嚴峻的局面至今沒有重大改變。
危情險勢。 中國在核心存儲產品、底層支撐技術、商業應用理念上長期跟跑,遭受外部勢力釜底抽薪式的「存儲底層關鍵核心技術精準打擊」的隱患和風險極大。面對復雜多變的國際環境,一旦遭遇卡脖子,如外購存儲產品斷貨或核心技術交流封鎖,舉國上下所有涉及信息技術應用的行業領域都必然窒息。從而直接降低相關產業迭代發展速度,掣肘 社會 前進步伐,削弱國家治理能力,進而危及影響到國家的政治和 社會 穩定。
時不我待。 我們需要立即行動起來,通過立項開展微型數據存儲技術創新研發,凝聚國內外數據存儲領域資源力量,構建數據存儲專業核心技術團隊;從研發軟體定義的存儲(數據去重)技術產品入手,填補國內技術產品領域空白;啟動研發微型化(原子級)數據存儲設備,搶占未來數據存儲領域的制高點。這項舉措也是解除我國數據存儲技術產品創新研發「卡脖子」危機的最佳途徑。
開展微型數據存儲技術創新研發的思路
我國應抓住當前數據應用驅動信息技術升級換代的大數據發展 歷史 契機,凝聚國內外資源力量,構建中國數據存儲專業核心技術團隊。近期:研發部署模塊化數據去重技術產品,壓縮海量數據存儲空間需求,填補國內底層數據存儲管理技術空白。遠期:啟動研發微型數據存儲設備,搶占未來數據存儲技術領域的制高點。
從開展微型數據存儲技術創新研發入手,聚焦國際存儲技術領域的戰略性前沿技術趨勢;聯手科研院所、高等院校、生產企業、大型用戶的資源,建設國家級核心技術團隊;積極引進/培養數據存儲技術人才,研發自主可控系列產品。
1.近期跟蹤行業動態
對標國際頂級數據存儲技術產品,砥礪學習底層模塊級數據存儲去重技術,壓縮海量數據存儲空間需求,實現自主可控國產數據存儲技術管理軟體產品的商務應用。基本原理是首先識別出重復的數據模塊,然後優化存儲多個重復數據模塊中的單一模塊,以及同其它重復模塊的鏈接關系。進而減少企業級客戶存儲數據所需的物理空間佔有量,降低采購部署數據存儲設備的增量。
2.遠期重點突出推進
探索 下一代數據存儲技術,整合跨學科資源啟動開展研發微型存儲器,力圖將現有基於磁碟/光碟/磁帶的計算機數據存儲器,轉化為未來基於原子/電子運動狀態的微型化數字信息採集與存取機制。其原理是將現在耗費數百萬個原子的材料介質所表徵的一位「0」或「1」二進制計算機數據,試圖由單個原子狀態變化來表徵。於是,可以將現有數據存儲設備體積縮小數十萬乃至百萬倍,最終將佔地約足球場面積的大數據存儲倉庫縮小為攜帶型器件。
3.研發工作開展建議
開展微型數據存儲技術創新研發應該建設成為國內領先、國際一流的數據存儲技術研究機構、產業孵化溫室、以及人才培養基地。
延攬數據存儲技術專家領銜擔綱咨詢顧問。全球招聘在世界頂級數據存儲公司工作多年的業界精英加盟指導。
構建中國數據存儲技術研發團隊。採用引進師資/開設培訓課程等有效方式,積累培育國內數據存儲技術力量。
結盟矽谷存儲技術研究院。依託美國矽谷地區的數據存儲實體公司,共享數據存儲底層技術知識。
注冊成立企業運營機構。開發軟體定義存儲(數據去重)技術產品,服務數據用戶市場,遵循商務運作規律。
融資涵蓋多種基金渠道。申報獲取國家重大專項基礎項目研發資金,吸引專業投資基金加盟。首期投資約需10億元人民幣(參考國際相關工程估值:美國IBM公司同類項目投資約600億美元/10年)。
推動微型數據存儲技術創新研發的建議
我國在開展新型基礎設施建設的同時,應當抓住當前數據計算應用驅動信息技術升級換代的大數據發展 歷史 契機,建立數據存儲技術的自主知識產權體系,填補國內空白,保障數字中國建設長遠規劃實施,推進國產數據存儲產品崛起,為相關產業發展鋪路。
2.建議遠期緊跟世界主流研發創新步伐,聚焦研發原子級微型化數據存儲技術產品(2020-2040年),在2040年前研發出原子級大數據存儲技術,並逐步實現產業化。
3.建議將微型化數據存儲技術創新作為國家戰略。搭建政產學研用共建共治共享的中國數據存儲技術聯合創新平台,建設國家級重點實驗室。依託科研院所/高等院校/相關企業,奠定從微型數據存儲理論、硬體設計、軟體開發、結構設計、系統集成等一整套原子級微型數據存儲技術研發工作的基礎。
4.建議國家相關部委給予配套資金支持。加快推進原子級大數據存儲技術研發和產業化轉化。支持申報重大 科技 項目和專項扶持資金。
5.建議形成能夠長期從事數據存儲技術創新的人才隊伍。借鑒全球數據存儲技術創新研發經驗,引進海內外數據存儲技術領域頂尖科學家和工程師。在高等院校與科研院所開設數據存儲技術專業課程,搭建完善的國內人才培養體系。
6.建議立項過程不宜採用常規項目申報、審批流程,亟需特事特辦予以批准。主要是有鑒於本項目相關的科研生產領域中,國內現有技術力量薄弱分散,評估體系資源匱乏。
7.建議項目推進應當低調快速務實:不重造勢,不揚虛名,不謀近利。主要是基於當前復雜敏感的國際政治經濟形勢,預計本項目勢將關聯國家核心產業戰略布局,影響未來數十年中國數字經濟命脈與發展。
作 者:中央 財經 大學中國互聯網經濟研究院研究員 歐陽日輝
通訊員:李 翀
戰略性新興產業專題報道 辦事,「刷臉」就行
張家口敢闖敢試、先行先試,積極 探索 氫能產業創新發展的有益路徑
「東數西算」正式啟動,樞紐網路如何建設?
「十四五」浪潮下如何構建城市數據中心網路?
「我為群眾辦實事」北京市發展改革委發布第三批政策工具應用指南
大美密雲 助推新興產業發展
東方測控:打造智能製造示範工廠,引領礦山行業新未來