- 產品
- 產品解決方案
- 行業解決方案
- 案例
- 數據資產入表
- 賦能中心
- 伙伴
- 關于
時間:2023-08-29來源:高傲太俗瀏覽數:806次
數據技術體系可以歸納總結為數據分析應用技術、數據管理技術、基礎技術、數據安全流通技術四大方向,每個方向大數據技術的產生都有其獨特的背景。
大數據時代數據量大,數據源異構、數據時效性高等特征催生了高效完成海量異構數據存儲與計算的技術需求。面對迅速而龐大的數據量,傳統集中式計算架構出現難以逾越的瓶頸,傳統關系型數據庫單機的存儲及計算性能有限,出現了規模并行化處理(MPP)的分布式計算架構,如分析型數據庫GreenGreenplum。
面對分布式架構帶來的海量分布式系統間信息協同的問題,出現了以Zoomkeeper為代表的分布式協調系統;為了將分布式集群中的硬件資源以一定的策略分配給不同的計算引擎和計算任務,出現了Yarn等集群管理及調度引擎;面對海量計算任務帶來的管理復雜度大幅提升問題,出現了面向數據任務的靈活調度工作流平臺。
面向海量網頁內容及日志等非結構化數據,出現了基于Apache Hadoop和Spark生態體系的分布式批處理計算框架;面向對于時效性數據進行實時計算反饋的需求,出現了Apache Storm、Flink等分布式流處理計算框架。
面對大型社交網絡、知識圖譜的應用要求出現了以對象+關系存儲和處理為核心的分布式圖計算引擎和圖數據庫,如GraphX、neo4j等;面對海量網頁、視頻等非結構化的文件存儲需求,出現了mongoDB等分布式文檔數據庫;面向海量設備、系統和數據運行產生的海量日志進行高效分析的需求,出現了influxdb等時序數據庫;面對海量的大數據高效開放查詢的要求,出現了以Redis為代表的K-V數據庫。
面向大規模數據集的高效、可靠及低成本的存取問題,出現了HDFS、OpenIO等分布式文件存儲和對象存儲解決方案。
技術總是隨著需求的變化而不斷發展提升,在較為基本和急迫的數據存儲、計算需求已經在一定程度滿足后,如何將數據轉化為價值成為了下一個主要需求。
最初,企業與組織內部的大量數據因缺乏有效的管理,普遍存在著數據質量低、獲取難、整合不易、標準混亂等問題,使得數據后續的使用存在眾多障礙,在此情況下,用于數據整合的數據集成技術,如DataX、用于數據架構管理的數據建模技術,如ERWIN,用于數據資產管理的元數據技術,如Apache atlas,紛紛出現。
在擁有充足的產出計算能力以及高質量可用數據的情況下,如何將數據中蘊涵的價值充分挖掘并同相關的具體業務結合以實現數據的增值成為了關鍵。
各種用以發掘數據價值的數據分析技術紛紛出現,包括ECHARTS、BI工具為代表的簡單統計分析與可視化展現技術,以傳統機器學習、基于深度神經網絡的深度學習、圖分析引擎為基礎的挖掘分析建模技術等等。
在數據價值釋放初現曙光的同時,數據安全問題也愈加凸顯,數據泄露、數據丟失、數據濫用等安全事件層出不窮,對國家、企業和個人用戶造成了惡劣影響,如何應對大數據時代下嚴峻的數據安全威脅,在安全合規的前提下共享及使用數據成為了備受矚目的問題、訪問控制、身份識別、數據加密、數據脫敏等傳統數據保護手段正積極向更加適應大數據場景的方向不斷發展,同時,側重于實現安全數據流通的隱私計算技術也成為了熱點發展方向。
下面筆者將針對這些技術的基本概念和相關產品做個概述,方便你建立起較為完整的大數據全景技術框架。
1、流計算
流計算秉承一個基本理念,即數據的價值隨著時間的流逝而降低,如用戶點擊流。因此,當事件出現時就應該立即進行處理,而不是緩存起來進行批量處理。為了及時處理流數據,就需要一個低延遲、可擴展、高可靠的處理引擎,實時獲取來自不同數據源的海量數據,經過實時分析處理,獲得有價值的信息,主要的產品為STORM、Spark Streaming及Flink等等。
產品舉例:
STORM:一個開源的分布式實時計算框架,可以以簡單、可靠的方式進行大數據流的處理
Spark Streaming:接收實時輸入的數據流,并將數據拆分為一系列批次,然后進行微批處理,Spark Streaming 能夠將數據流進行極小粒度的拆分,使得其能夠得到接近于流處理的效果,但其本質上還是批處理
Flink:一種針對流數據+批數據的計算框架,其把批數據看作流數據的一種特例,延遲性較低(毫秒級),且能夠保證消息傳輸不丟失不重復
2、批量計算
批量計算是指對靜態數據的批量處理,即當開始計算之前數據已經準備到位,主要用于數據挖掘和驗證業務模型,包括MapReduce、spark、hive等等。
產品舉例:
Hadoop MapReduce:一種編程模型,用于大規模數據集(大于1TB)的并行運算,概念"Map(映射)"和"Reduce(歸約)"是它們的主要思想,極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統上
spark:擁有Hadoop MapReduce所具有的優點,但不同于MapReduce的是Job中間輸出結果可以保存在內存中,從而不再需要讀寫HDFS,因此Spark能更好地適用于數據挖掘與機器學習等需要迭代的場景
hive:基于Hadoop的一個數據倉庫工具,用來進行數據提取、轉化、加載,這是一種可以存儲、查詢和分析存儲在Hadoop中的大規模數據的機制
3、圖計算
以圖作為數據模型來表達問題并予以解決的過程,包括GraphLab、GraphX、Giraph及Gelly等等。
產品舉例:
GraphLab:由CMU(卡內基梅隆大學)的Select 實驗室在2010 年提出的一個基于圖像處理模型的開源圖計算框架,框架使用C++語言開發實現。該框架是面向機器學習(ML)的流處理并行計算框架,可以運行在多處理機的單機系統、集群或是亞馬遜的EC2 等多種環境下。框架的設計目標是像MapReduce一樣高度抽象,可以高效執行與機器學習相關的、具有稀疏的計算依賴特性的迭代性算法,并且保證計算過程中數據的高度一致性和高效的并行計算性能
GraphX:一個分布式圖處理框架,它是基于Spark平臺提供對圖計算和圖挖掘簡潔易用的而豐富的接口,極大的方便了對分布式圖處理的需求
Giraph:Facebook搞的圖計算引擎,基于hadoop,編程模型接近于Pregel,主要賣點是支持大圖
4、分布式協調系統
分布式協調技術主要用來解決分布式環境當中多個進程之間的同步控制,讓他們有序的去訪問某種臨界資源,防止造成"臟數據"的后果,主要包括Zoomkeeper、eureka、consul等等。
產品舉例:
Zoomkeeper:一個分布式的,開放源碼的分布式應用程序協調服務,是Google的Chubby一個開源的實現,是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等
eureka:Eureka是Netflix開發的服務發現框架,本身是一個基于REST的服務,主要用于定位運行在AWS域中的中間層服務,以達到負載均衡和中間層服務故障轉移的目的
consul:google開源的一個使用go語言開發的服務發現、配置管理中心服務。內置了服務注冊與發現框架、分布一致性協議實現、健康檢查、Key/Value存儲、多數據中心方案,不再需要依賴其他工具
5、集群管理及調度
主要負責將集群中的硬件資源以一定的策略分配給不同的計算任務,主要包括Ambori、MESOS、YARN等等。
產品舉例:
Ambori:一種基于Web的工具,支持Apache Hadoop集群的供應、管理和監控。Ambari已支持大多數Hadoop組件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等等
MESOS:可以將整個數據中心的資源(包括CPU、內存、存儲、網絡等)進行抽象和調度,讓應用共享集群資源,并無需關心資源的分布情況
YARN:一種新的 Hadoop 資源管理器,它是一個通用資源管理系統,可為上層應用提供統一的資源管理和調度,它的引入為集群在利用率、資源統一管理和數據共享等方面帶來了巨大好處
6、工作流管理
工作流含義很廣,這里指能對各種數據任務進行靈活編排和調度的工具,包括Airflow、nifi、Oozie等等,很多企業大數據工作流管理都跟自身的數據開發管理平臺緊耦合。
產品舉例:
Airflow:Airbnb 開源的一個用 Python 編寫的工作流管理平臺,用于編排復雜計算工作流和數據處理流水線。如果您發現自己運行的是執行時間超長的 cron 腳本任務,或者是大數據的批處理任務,Airflow 可能是能幫助您解決目前困境的神器
nifi:Apache支持下基于可視化流程設計的數據分發平臺,是大數據的搬運、提取、推送、轉換、聚合、分發的開源軟件工具,能夠與Hadoop生態系統的大數據存儲和各種文件、REST服務、SOAP服務、消息服務等聯合使用,構成一體化的數據流服務
Oozie:起源于雅虎,主要用于管理與組織Hadoop工作流。Oozie的工作流必須是一個有向無環圖,實際上Oozie就相當于Hadoop的一個客戶端,當用戶需要執行多個關聯的MR任務時,只需要將MR執行順序寫入workflow.xml,然后使用Oozie提交本次任務,Oozie會托管此任務流
7、圖數據庫
NoSQL數據庫的一種類型,它應用圖形理論存儲實體之間的關系信息。最常見例子就是社會網絡中人與人之間的關系。關系型數據庫用于存儲“關系型”數據的效果并不好,其查詢復雜、緩慢、超出預期,而圖形數據庫的獨特設計恰恰彌補了這個缺陷,主要包括ArangoDB、neo4j、OrientDB等等。
產品舉例:
ArangoDB:一個原生多模型數據庫,兼有key/value鍵/值對、graph圖和document文檔數據模型,提供了涵蓋三種數據模型的統一的數據庫查詢語言,并允許在單個查詢中混合使用三種模型
neo4j:一個高性能的NOSQL圖形數據庫,它將結構化數據存儲在網絡上而不是表中。它是一個嵌入式的、基于磁盤的、具備完全的事務特性的Java持久化引擎,但是它將結構化數據存儲在網絡(從數學角度叫做圖)上而不是表中,Neo4j也可以被看作是一個高性能的圖引擎,該引擎具有成熟數據庫的所有特性
OrientDB:一個開源的多模型 NoSQL 數據庫,支持原生圖形、文檔全文、響應性、地理空間和面向對象等概念。它使用 Java 編寫,速度非常快:在普通硬件上,每秒可存儲 220,000 條記錄。對于文檔數據庫,它還支持 ACID 事務處理
8、文檔數據庫
文檔數據庫被用來管理文檔,在傳統的數據庫中,信息被分割成離散的數據段,而在文檔數據庫中,文檔是處理信息的基本單位,包括mongoDB、CouchDB、MarkLogic等等。
產品舉例:
mongoDB:一個基于分布式文件存儲的數據庫。由 C++ 語言編寫。旨在為 WEB 應用提供可擴展的高性能數據存儲解決方案,它支持的數據結構非常松散,是類似json的bson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是它支持的查詢語言非常強大
CouchDB:一個開源的面向文檔的數據庫管理系統,可以通過 RESTful JavaScript Object Notation (JSON) API 訪問。術語 “Couch” 是 “Cluster Of Unreliable Commodity Hardware” 的首字母縮寫,它反映了 CouchDB 的目標具有高度可伸縮性,提供了高可用性和高可靠性,即使運行在容易出現故障的硬件上也是如此
MarkLogic:一種NoSQL數據庫,能同時儲存結構化和非結構化數據解決方案,包括JSON、XML、RDF、坐標、二進制數據(PDF、圖片、視頻)等等,而不僅僅是結構化的數據存儲
9、時序數據庫
主要用于指處理帶時間標簽(按照時間的順序變化,即時間序列化)的數據,帶時間標簽的數據也稱為時間序列數據,主要包括influxdb、TIMESCALE等等。
產品舉例:
influxdb:一個由InfluxData開發的開源時序型數據庫。它由Go寫成,著力于高性能地查詢與存儲時序型數據
TIMESCALE:唯一支持完整SQL的開放源代碼時間序列數據庫。為快速攝取和復雜查詢優化,TimescaleDB易于使用,如傳統的關系數據庫,但按以前為NoSQL數據庫保留的方式進行縮放
10、分析型數據庫
面向分析應用的數據庫,與傳統的數據庫不同,它可以對數據進行在線統計、數據在線分析、隨即查詢等操作,是數據庫產品一個重要的分支,主要包括Greenplum、VERTICA、GBASE等等。
產品舉例:
Greenplum:Greenplum DW/BI軟件可以在虛擬化x86服務器上運行無分享(shared-nothing)的大規模并行處理MPP架構
VERTICA:一款基于列存儲的MPP?(massively parallel processing)架構的數據庫
Clickhouse:一款MPP架構的列式存儲數據庫,其從OLAP場景需求出發,定制開發了一套全新的高效列式存儲引擎,并且實現了數據有序存儲、主鍵索引、稀疏索引、數據Sharding、數據Partitioning、TTL、主備復制等豐富功能。以上功能共同為ClickHouse極速的分析性能奠定了基礎
11、KV數據庫
是一種以鍵值對存儲數據的一種數據庫,類似java中的map。可以將整個數據庫理解為一個大的map,每個鍵都會對應一個唯一的值。key-value分布式存儲系統查詢速度快、存放數據量大、支持高并發,非常適合通過主鍵進行查詢,但不能進行復雜的條件查詢,主要包括redis、TAIR及memcached等等。
產品舉例:
redis:一個開源的使用 ANSI C 語言編寫、遵守 BSD 協議、支持網絡、可基于內存、分布式、可選持久性的鍵值對(Key-Value)存儲數據庫,并提供多種語言的 API
TAIR:是阿里云數據庫Redis企業版,是基于阿里集團內部使用的Tair產品研發的云上托管鍵值對緩存服務。Tair作為一個高可用、高性能的分布式NoSQL數據庫,專注于多數據結構的緩存與高速存儲場景,完全兼容Redis協議
memcached:是一個自由開源的、高性能、分布式內存對象緩存系統。
12、文件存儲
文件存儲的數據是以一個個文件的形式來管理,操作對象是文件和文件夾,存儲協議是NFS、SAMBA(SMB)、POSIX等,它跟傳統的文件系統如Ext4是一個類型的,但區別在于分布式文件存儲提供了并行化的能力,主要包括HDFS、ceph、GlusterFS等等。
產品舉例:
HDFS:指被設計成適合運行在通用硬件(commodity hardware)上的分布式文件系統(Distributed File System),是一個高度容錯性的系統,適合部署在廉價的機器上,能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用
ceph:是一個統一的分布式存儲系統,設計初衷是提供較好的性能、可靠性和可擴展性
GlusterFS:一個可擴展的網絡文件系統,相比其他分布式文件系統,GlusterFS具有高擴展性、高可用性、高性能、可橫向擴展等特點,并且其沒有元數據服務器的設計,讓整個服務沒有單點故障的隱患
13、對象存儲
也稱為基于對象的存儲,是一種數據存儲,其中每個數據單元存儲為稱為對象的離散單元。對象可以是離散單元,類似于pdf,音頻,圖像或視頻文件。這些對象實際上可以是任何類型的數據和任何大小的數據。對象存儲中的所有對象都存儲在單個平面地址空間中,而沒有文件夾層次結構。一個對象通常包含三個部分:對象的數據、對象的元數據以及一個全局唯一的標識符(即對象的ID),采用分布式架構,容量和處理能力彈性擴展,存儲協議是S3、Swift等,主要包括OpenIO、MINIO及Cloudreve等等。
產品舉例:
OpenIO:一個開源的對象存儲解決方案,用于大規模面向性能要求的低延遲的存儲架構,特別為體積小量大的存儲對象,發布容易,添加存儲設備無需對數據進行重新分配
MINIO:GlusterFS創始人之一Anand Babu Periasamy發布新的開源項目。Minio兼容Amason的S3分布式對象存儲項目,采用Golang實現,客戶端支Java,Python,Javacript, Golang語言。Minio可以做為云存儲的解決方案用來保存海量的圖片,視頻,文檔。由于采用Golang實現,服務端可以工作在Windows,Linux, OS X和FreeBSD上
Cloudreve:一款國人開發的開源免費的網盤系統,借助Cloudreve你能夠快速搭建起公私兼備的網盤。Cloudreve支持使用七牛云存儲、阿里云OSS、又拍云、Amazon S3等對象存儲作為存儲后端,也支持本地服務器、遠程服務器和OneDrive等作為存儲后端,另外也支持aria2離線下載
1、元數據管理
元數據管理統一管控業務元數據、技術元數據、管理元數據等等,并面向開發人員、最終用戶提供元數據服務,對業務系統和數據分析平臺的開發、維護過程提供支持,元數據管理軟件包括Apache atlas等等,各個行業大多有自己獨特的元數據管理軟件。
產品舉例:
Apache atlas:為組織提供開放式元數據管理和治理功能,用以構建其數據資產目錄,對這些資產進行分類和管理,并為數據分析師和數據治理團隊提供圍繞這些數據資產的協作功能
MetaCube:普元發布的全面支撐自服務的大數據治理平臺
2、數據集成
數據集成是把不同來源、格式、特點性質的數據在邏輯上或物理上有機地集中,從而為企業提供全面的數據共享。
產品舉例:
DataX:DataX 是阿里開源的一個異構數據源離線同步工具,致力于實現包括關系型數據庫(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各種異構數據源之間穩定高效的數據同步功能
Kettle:一款國外開源的 ETL 工具,純 Java 編寫,綠色無需安裝,數據抽取高效穩定(數據遷移工具)
3、數據建模
數據建模指的是對現實世界各類數據的抽象,包括建立數據庫實體以及各實體之間的關系等等,主要包括的產品為erwin、PowerDesigner等等。
產品舉例:
erwin:業界領先的數據建模解決方案,提供一個簡單的,可視化界面來管理復雜的數據環境
PowerDesigner:Sybase的企業建模和設計解決方案,采用模型驅動方法,將業務與IT結合起來,可幫助部署有效的企業體系架構,并為研發生命周期管理提供強大的分析與設計技術
1、BI工具
BI即商業智能,無需編程的數據可視化工具,是一套完整的解決方案,用來將企業中現有的數據進行有效的整合,快速準確的提供報表并提出決策依據,幫助企業做出明智的業務經營決策,包括tableau、FineBI、Power BI、spagobi、Quick BI、QlikView、?iCharts、Grow、Visme、Datawrapper等等。
產品舉例:
tableau:人人可用的數據可視化分析工具
Power BI:微軟用于分析數據和共享見解的一套可視化業務分析工具
spagobi:開源商業智能套件
Quick BI:阿里輕量級自助BI工具服務平臺
2、數據可視化開發工具
更為靈活的可視化編程開發工具,包括ECHARTS、D3.js、Plotly、Chart.js、?Google Charts、?Ember Charts、?Chartist.js、Antv等等。
產品舉例:
ECHARTS:最初由百度團隊開源,基于JavaScript的數據可視化圖表庫,提供直觀,生動,可交互,可個性化定制的數據可視化圖表
D3.js:用于數據可視化的開源的JavaScript函數庫,被認為是很好的JavaScript可視化框架之一
Plotly:一個知名的、功能強大的數據可視化框架,可以構建交互式圖形和創建豐富多樣的圖表和地圖
Antv:螞蟻金服全新一代數據可視化解決方案,致力于提供一套簡單方便、專業可靠、無限可能的數據可視化最佳實踐
3、數據挖掘平臺
提供機器學習訓練和發布的平臺,數據挖掘可視化成為一種趨勢,包括Angel、KNIME、Rapid Miner、IBM SPSS Modeler、Oracle Data Mining、SAS Data Mining、Apache Mahout、Spark MLlib、Python/R、PAI等等。
產品舉例:
Angel:騰訊、香港科技大學等聯合研發的使用Java和Scala語言開發,面向機器學習的高性能分布式計算框架
KNIME:一個用戶友好、可理解、全面的開源數據集成、處理、分析和探索平臺,它有一個圖形用戶界面,幫助用戶方便地連接節點進行數據處理
Rapid Miner:一款不需要編程就可以進行數據分析和數據挖掘的軟件,簡單易學,人機界面也十分友好
IBM SPSS Modeler:以圖形化的界面、簡單的拖拽方式來快速構建數據挖掘分析模型著稱,,它允許您在不編程的情況下生成各種數據挖掘算法
Oracle Data Mining:是 Oracle SQL Developer 的一個擴展,數據分析師通過它能夠查看數據、構建和評估多個機器學習/數據挖掘模型以及加速模型部署
SAS Data Mining:提供了一個易于使用的GUI,其描述性和預測性建模提供了更好的理解數據的見解,還包括可升級處理、自動化、強化算法、建模、數據可視化和勘探等先進工具
Apache Mahout:Apache Software Foundation(ASF) 旗下的一個開源項目,提供一些可擴展的機器學習領域經典算法的實現,旨在幫助開發人員更加方便快捷地創建智能應用程序
Spark MLlib:是Spark對常用的機器學習算法的實現庫,同時包括相關的測試和數據生成器
Python/R:大家都懂的
4、深度學習引擎
提供深度學習訓練和發布的平臺,包括TensorFlow、PP飛漿、caffe2、Theano、keras、MXNet等等。
產品舉例:
TensorFlow:一個使用數據流圖(data flow graphs)進行數值計算的開源軟件庫,可以看成是一個嵌入Python的編程語言,你寫的TensorFlow代碼會被Python編譯成一張圖,然后由TensorFlow執行引擎運行
Theano:Theano 是一個比較低層的庫,它支持自動的函數梯度計算,帶有 Python 接口并集成了 Numpy,這使得它從一開始就成為了通用深度學習領域最常使用的庫之一,由于它不支持多 GPU 和水平擴展,已然開始被遺忘
PyTorch:一個開源的Python機器學習庫,本質上是Numpy的替代者,而且支持GPU、帶有高級功能,可以用來搭建和訓練深度神經網絡
caffe2:PyTorch有優秀的前端,Caffe2有優秀的后端,整合起來以后可以進一步最大化開發者的效率
keras:一個由Python編寫的開源人工神經網絡庫,是一個非常高層的庫,可以作為Tensorflow、Microsoft-CNTK和Theano的高階應用程序接口,進行深度學習模型的設計、調試、評估、應用和可視化,Keras 強調極簡主義——你只需幾行代碼就能構建一個神經網絡
Deeplearning4j:為Java和Java虛擬機編寫的開源深度學習庫,是廣泛支持各種深度學習算法的運算框架
PP飛漿:百度一個集深度學習核心框架、工具組件和服務平臺為一體的技術先進、功能完備的開源深度學習平臺
MXNet:亞馬遜的一款設計為效率和靈活性的深度學習框架。它允許你混合符號編程和命令式編程,從而最大限度提高效率和生產力
cntk:微軟出品的一個開源的深度學習工具包,可以運行在CPU上,也可以運行在GPU上。CNTK的所有API均基于C++設計,因此在速度和可用性上很好
5、圖分析
圖分析使用基于圖的方法來分析連接的數據,可以查詢圖數據,使用基本統計信息,可視化地探索圖、展示圖,或者將圖信息預處理后合并到機器學習任務中,圖分析引擎包括Gephi、NodeXL等等。
產品舉例:
Gephi:是開源免費跨平臺基于JVM的復雜網絡分析軟件, 其主要用于各種網絡和復雜系統,因它簡單、易學、出圖美觀而備受青睞
NodeXL:是一個功能強大且易于使用的交互式網絡可視化和分析工具,它以MS Excel(Excel 2007或者Excel 2010)模板的形式,利用MS Excel作為數據展示和分析平臺
Palantir:是一種人和機器的高效結合的平臺,它是一個數據分析平臺,通過圖(graphs)、地圖(maps)、統計(statistics)、集合(set theory)論分析結構或非結構化數據
1、隱私計算
指在保證數據提供方不泄露敏感數據的前提下,對數據進行分析計算并能驗證計算結果的信息技術。廣義上是指面向隱私保護的計算系統與技術,涵蓋數據的產生、存儲、計算、應用、銷毀等信息流程全過程,想要達成的效果是使數據在各個環節中“可用不可見”,包括Private Join &Compute、crypten、FedAI及FEDLEARNER等等。
產品舉例:
Private Join Compute:谷歌開源的多方計算 (MPC) 工具 ,以幫助組織機構更好地處理機密數據集,Private Join and Compute 是一種密碼協議,可供雙方聯合用于研究工作,在相互共享數據之前對數據進行加密。該系統確保每一方都不會暴露自己的原始數據,而且所有的標識符以及相關數據仍然是完全加密的而且無法在共享進程中讀取。解密和共享的唯一內容以匯總統計信息的形式呈現,然后組織機構可以使用它來發現共性和并收集情報
crypten:Facebook開源的多方安全計算(MPC)的框架,其底層依賴于深度學習框架PyTorch
FedAI:聯邦學習生態是一個促進 AI 多方建模的技術社區,使用聯邦學習技術能夠滿足用戶隱私保護、數據安全、數據保密和政府法規的要求
FEDLEARNER:字節跳動開源的聯邦機器學習平臺
2、數據脫敏
指對某些敏感信息通過脫敏規則進行數據的變形,實現敏感隱私數據的可靠保護。在涉及客戶安全數據或者一些商業性敏感數據的情況下,在不違反系統規則條件下,對真實數據進行改造并提供測試使用,如身份證號、手機號、卡號、客戶號等個人信息都需要進行數據脫敏在,主要包括DATPROF、IRI、ShardingSphere等等。
產品舉例:
DATPROF PRIVACY:提供了一種掩蓋和生成用于測試數據庫的數據的智能方法,它以一種非常簡單且經過驗證的方式為子集數據庫提供了獲得專利的算法
IRI:IRI是一家成立于1978年的美國ISV,以CoSort快速數據轉換,FieldShield數據屏蔽和RowGen測試數據產品而聞名。IRI還將這些捆綁在一起,并將數據發現,集成,遷移,治理和分析整合到一個稱為Voracity的大數據管理平臺中
ShardingSphere:Apache ShardingSphere是一套開源的分布式數據庫中間件解決方案組成的生態圈,數據脫敏模塊屬于ShardingSphere分布式治理這一核心功能下的子功能模塊。它通過對用戶輸入的SQL進行解析,并依據用戶提供的脫敏配置對SQL進行改寫,從而實現對原文數據進行加密,并將原文數據(可選)及密文數據同時存儲到底層數據庫。在用戶查詢數據時,它又從數據庫中取出密文數據,并對其解密,最終將解密后的原始數據返回給用戶
3、身份認證
指通過一定的手段,完成對用戶身份的確認,身份驗證的方法有很多,基本上可分為:基于共享密鑰的身份驗證、基于生物學特征的身份驗證和基于公開密鑰加密算法的身份驗證,主要包括CAS、KEYCLOAK、Kerberos等等。
產品舉例:
CAS:統一身份認證CAS(Central Authentication Service)是SSO(單點登錄SSO(Single Sign ON),指在多個應用系統中,只需登錄一次,即可在多個應用系統之間共享登錄)的開源實現,利用CAS實現SSO可以很大程度的降低開發和維護的成本
KEYCLOAK:一個為瀏覽器和 RESTful Web 服務提供 SSO 的集成
Kerberos:一種計算機網絡授權協議,用來在非安全網絡中,對個人通信以安全的手段進行身份認證
通過《白皮書》的指引,我們對于整個大數據技術體系會有一個基本了解,當然還會有缺失,比如數據分析應用技術大類中缺少了OLAP、基礎技術中缺少了HTAP這種混合數據庫等等,但已經比較全面了。
雖然我們沒法也沒必要去理解和掌握每一項大數據技術,但知道有這個技術的存在,大致知道其價值,從而在需要的時候想到它,無論是對于數據管理者或者是技術架構師,都是很重要的。