999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于NOSQL的微博圖數據管理存儲平臺設計與實現?

2017-08-01 13:49:58包從開黃永峰廖旺堅余輝
計算機與數字工程 2017年7期
關鍵詞:數據庫用戶信息

包從開 黃永峰 廖旺堅 余輝

(1.清華大學電子工程系信息認知與智能系統研究所北京100084)(2.清華大學信息科學與技術國家實驗室北京100084)(3.中國科學院大學北京100084)

基于NOSQL的微博圖數據管理存儲平臺設計與實現?

包從開1,2黃永峰1,2廖旺堅1,2余輝3

(1.清華大學電子工程系信息認知與智能系統研究所北京100084)(2.清華大學信息科學與技術國家實驗室北京100084)(3.中國科學院大學北京100084)

近年來,以微博為代表的在線社交網絡得到迅速普及和發展。這些規模龐大,內部關聯復雜的圖結構數據給傳統數據庫的存儲管理帶來了挑戰。論文詳細分析微博社交網絡數據結構特點,結合上層應用需求對數據存儲模型進行設計,實現了一套基于NoSQL的微博數據管理存儲平臺。該平臺設計為RAW數據存儲、圖模型映射、NewSQL轉換三層,較好地解決海量微博圖數據存儲的可擴展性和實時、易用性問題。通過實驗對平臺入庫、查詢性能進行了評估,驗證了其在實際中的有效可行性。

NoSQL;微博;大圖數據;存儲管理平臺

Class NumberTP311

1 引言

近年來,以微博為代表的在線社交網絡得到迅速普及和發展。作為當下最流行的社會信息傳播平臺,微博對突發事件的發生發展產生著重要影響,面向微博數據的分析挖掘等顯得十分有意義[1]。

然而,微博社交網絡規模龐大,內部關聯復雜,是典型的大圖關系數據。據報道,2015年6月新浪微博月活躍用戶數為2.12億,單月微博產生總量達30億以上。假設以微博用戶作為頂點,用戶間互相的關注、好友等關系作為邊來構建圖數據結構,則僅用戶間關注邊超過十億,如果進一步考慮用戶與微博間關系以及歷史數據,則微博數據量可達上百TB。目前傳統的關系型數據庫并不能適應這一需求,對其存儲檢索的時間空間開銷都遠遠超出了當前傳統數據庫的承受能力。如何對海量微博社交網絡數據進行穩定、高效的存儲管理成為一件亟需解決并且具有挑戰的任務[2]。

本文重點分析微博社交網絡數據結構特點,對存儲模型進行設計,實現了一套基于NoSQL的微博數據管理存儲平臺,該平臺設計為RAW數據存儲、圖模型映射、NewSQL轉換三層,分層地解決了海量微博圖數據存儲的可擴展性和實時、易用性等問題。為進一步研發熱點人物多維關聯關系分析[3],意見領袖挖掘追蹤[4]等典型應用提供了數據存儲與管理支撐。

2 相關研究

傳統數據庫借助于集合代數等數學概念和方法來處理數據庫中的數據,是建立在關系模型基礎上的數據庫。關系模型[5]由IBM研究員Codd于1970年首先提出,在之后幾十年中以其容易理解的模型、容易掌握的查詢語言、成熟的技術和產品,逐漸成為數據庫架構的主流模型。

然而面對海量微博的復雜關系圖[6],關系數據庫系統并未做好準備[7]。首先,過于嚴格的建模模型不容易組織和管理所有類型多樣的數據,對于新浪微博這些復雜的內部關聯數據,強行使用關系模型進行建模,會引入大量的JOIN操作和額外的空間開銷,效果并不能令人滿意。其次,如何實現大規模數據的高速查詢,是一個巨大的挑戰。現有的關系型數據庫解決方案通常不可伸縮[8],當數據量增大時性能會遇到瓶頸,已經無法從根本上解決這一問題。面對上述需求和挑戰,NoSQL數據庫不斷涌現和發展,為大規模圖關系數據存儲提供了一種可行的解決方案。

目前NoSQL數據管理數據庫按數據模型分目前有代表性的主要有四類[9]。鍵值數據模型是NoSQL中結構最簡單的數據存儲模型,通過哈希表維護Key到具體數據(value)的映射,易于存儲大量數據,如Redis、Berkeley DB等。但是對于處理圖關系數據,經常需要批量的對節點進行數據查詢、更新時效率上較低,難以達到實時要求。列族存儲[10]模型在存儲數據時,圍繞著“列”,而不是傳統關系數據庫的“行”進行,主要有BigTable,Cassandra等。對于同一列操作時,具有查詢速度快、數據縮率高的特點。但此類數據庫只適用于按Rowkey的簡單查詢,不具備二級索引功能且需學習一套其本身私有的API,易用性較差。文檔存儲模型比較適合存儲系統日志等非結構化數據,但并不適合微博這樣以鄰接矩陣或鄰接表組織的圖數據。圖存儲模型[11]的相關研究目前還不完善,neo4j是當前最成熟的開源圖數據庫,但由于是單機系統存儲規模有限,難以擴展。

綜上,現有的各類數據庫系統在可擴展性,實時性,易用性等方面不能完全滿足微博社交網絡數據存儲查詢的具體需求。本文將詳細分析微博大規模社交網絡數據的特點,設計多種存儲模型,基于分層思想實現一個同時滿足可擴展、實時、易用的存儲管理平臺。

3 微博數據關系模型分析

圖1微博圖數據模型

為了給微博數據的存儲管理奠定基礎,對微博社交網絡數據進行具體模型分析,將抽取到的各類節點和關系邊集中在示意圖1中進行表示。如圖所示,圖結構中包括了用戶、微博等三種節點及關注、轉發等五種邊關系。其中用戶節點,包括用戶的ID、注冊時間、姓名、昵稱、性別、省份城市、郵箱地址、博客地址、個性化域名地址和個人描述等屬性信息。微博節點包括微博的ID、發表時間、來源、內容、轉發數、回復數和情感值等信息。評論節點包括時間、內容等信息。對于五種邊關系表示如下:

1)關注、好友關系。關注關系建立在用戶與用戶之間,包括兩種類型:單向的關注關系和雙向的好友關系。如圖所示,用戶B和C之間,C關注了B,而B沒有關注C,這就是一種單向的關注關系;A關注了B,同時B也關注了A,那么AB雙方則是一種雙向的好友關系。其中關注關系邊中包含權重強度等信息。

2)發文關系。發文關系建立在用戶和微博之間,如圖所示,用戶A發表了微博A和B,則在用戶A和微博A、B之間就產生了發文關系。

3)轉發關系。轉發關系建立在用戶和其他用戶發表的微博之間。圖中所示,用戶B和C分別轉發了微博B。對于每一個轉發關系,都存在一個轉發路徑。例如用戶B轉發路徑為用戶B→用戶A→微博B,對于用戶C的轉發路徑則為用戶C→用戶B→用戶A→微博B。

4)艾特關系。艾特關系建立在微博與用戶之間,是某個用戶發文或轉發其他人的微博之后,想提醒其他用戶而建立在微博和其他用戶之間的一種關系。用戶發文后可以艾特其他用戶,如用戶A發表微博B并艾特用戶E;用戶轉發其他人的微博后也可以艾特其他用戶,如用戶C轉發微博B并艾特用戶D。

5)評論關系。回復關系建立在用戶與微博之間,用戶可以對其他用戶發表的微博,或者是轉發的微博進行回復,從而在用戶和他人的微博之間建立回復關系。圖中用戶E和微博A建立了評論關系。

4 微博數據存儲模型設計

將用戶、微博信息數據,各類關系數據(好友關系,轉發關系等)全部成功加載進NOSQL數據庫。由于微博數據規模龐大,在具體實現中采用Hbase數據庫,Hbase是一種Key Value存儲、面向列族的分布式NoSQL數據庫,對于主鍵查詢可以做到毫秒級效率。根據上述微博關系模型分析,結合上層應用要求實現任意節點屬性及關系毫秒級查詢的實時性需求,通過圖分割方法建立多表,基于訪問模式建立主鍵索引,微博圖數據映射存儲表如下:

1)用戶節點表

用戶表存儲用戶結點的基本信息。考慮到基于用戶名的訪問模式較多,將用戶名UserName做為Rowkey。該表分為Userinfo和Count兩個列族,列族userinfo下存放性別、昵稱、郵箱等相應個人信息。由于HBASE的無模式可擴展特性,以后需要添加任何屬性字段時可以直接進行添加。這些信息不經常變動且經常會同時讀取,將其放于同一列族下,可以大大減少讀寫IO延遲。列族Count存儲了用戶的關注數、粉絲數、發文數等數量信息。每當往用戶關系表插入數據時,利用Hbase Increment功能對此數值進行自動遞增。這樣就可以通過主鍵直接查詢,避免了Hbase數據庫在統計查詢時中需要全表scan時延大的缺陷。

表1 用戶節點表

2)微博節點表

微博表存儲微博結點的基本信息。該表同樣分為Weiboinfo和Count兩個列族。列族Weiboinfo下存放作者、創建時間、微博內容等相應不經常變動的信息以減少IO。列族Count存儲了用戶的轉發數、收藏數等數量信息。

表2 微博節點表

3)用戶關系表

用戶間關系表存儲用戶之間的關注、好友等關系信息。存儲時需要容納下上億甚至數十億用戶間的相互聯系,采用用戶ID、關注者ID的字符串拼接來建立復合Rowkey,因為用戶名長度為變長字符串,對兩者進行散列運算,使其生成固定長度的值,且使得數據能夠隨rowkey均勻分布,因此能避免REGION熱點問題。本表只設一個列族,列族內存放用戶關注時間,用戶關系權重等信息。在查詢用戶關注關系時只要對復合Rowkey進行查找,例如存在記錄便存有UserID1對UserID2的關注關系。利用Hbase Filter以及正則表達式,通過前綴匹配可以快速查找UserID1的關注列表,而通過后綴拼配能得到用戶所有的粉絲列表。要獲得用戶的好友關系,則只需對用戶的關注列表及粉絲列表取交集。

表3 用戶關系表

4)用戶微博關系表

用戶微博關系表存儲用戶微博間發文,轉發,艾特,評論等關系信息。采用用戶ID、關系類型、時間戳、微博ID的字符串拼接來建立復合Row?key。其中首字段用戶名長度為變長字符串,對其進行散列運算,使其生成固定長度的值。二字段添加關系類型冗余字段,例如采用二位編碼00表示發文,01表示轉發,10表示艾特,11表示回復。要查詢用戶的微博數據時,只需要給出用戶ID-關系類型,便可以通過前綴查詢快速取出這個用戶的所有微博記錄。三字段添加時間維度信息,通過對時間戳字段進行反轉,在進行查詢時,數據將以時間的降序進行排列,即會優先顯示其最近發表的所有微博。在列族中,設置了評論內容、評論情感傾向,轉發來源等字段,如若微博經過多次轉發,可以通過多次查詢repostFrom字段追溯微博轉發路徑。

表4 用戶微博關系表

5 管理存儲平臺框架設計

微博圖數據管理存儲平臺分為三層,包括RAW存儲層、圖數據映射層以及NewSQL轉換層。通過分層的思想實現平臺的可擴展,實時,易用性目標。每部分的功能如下。

RAW存儲層。RAW層存儲通過網絡爬蟲等技術從新浪、騰訊等主流微博獲取原始數據,包括用戶、微博信息以及用相互的邊關系等。微博數據更新量較大,每天需采用實時數據獲取工具向RAW層每天自動更新前一天的增量數據。由于RAW層使用HDFS分布式文件系統用來存儲,HDFS本身能夠基于普通硬件集群提供高吞吐的數據批量讀寫能力,因此能夠提供高可靠的可擴展能力。

圖2微博圖數據存儲系統

圖模型映射層。在此層中主要實現平臺的實時性要求。在第3節中對Hbase進行圖分割,圖索引等方法對微博數據進行了映射載入。Hbase通過維護-Root-和.Meta.兩張特殊位置信息表,采用類B+樹的結構來獲取數據的Region信息,能夠實現高效的實時查詢。對于基于主鍵的增刪改查操作,該層可以做到TB數據毫秒級的隨機查詢速度。

NewSQL轉換層。NewSQL層是構建在HBase之上的SQL引擎層,在此層我們實現微博HBase圖數據模型到SQL引擎層的映射與轉換工作。具體來講在此層實現了兩種功能:一是增加SQL解析功能實現類標準化的SQL語言來訪問HBase數據庫,用戶可以直接通過客戶端JDBC驅動用以對HBase中的數據進行實時訪問。通過此層對外提供各類包括用戶、微博節點查詢,用戶間轉發回復評論等關系在內的圖查詢接口,實現數據查詢的易用性目標。二是提供基于非主鍵查詢的支持。由于當前HBASE系統并沒有提供二級索引功能,當用戶基于非主鍵査詢數據的時候,只能通過全表掃描獲取滿足條件的數據,不能滿足實時化需求。通過建立倒排索引,以數據的冗余換取時間上的實時。

6 微博數據管理存儲平臺的系統性能測試與評估

本節根據上述框架搭建實際存儲管理平臺,對系統讀寫性能進行測試和驗證。

6.1 實驗環境及軟件配置:

采用5個服務器部署分布式集群,其中一臺服務器作為主節點,其余4臺作為平臺的數據節點,系統軟硬件配置如下。

表5 服務器集群環境及軟件配置表

6.2 寫入性能

圖3導入性能測試

采用的負載為用戶模擬數據,其中單條記錄大小1KB,包含10字段。使用JAVA客戶端,多線程方式進行入庫。由圖可見,入庫速度隨著隨著線程增多、數據規模增大而不斷增長,且隨著節點增加呈線性增長,具有較好的可擴展性。當在4臺節點,數據為100萬條,100線程時,入庫速率達到14.7MB/S,能滿足項目需求。

表6 導入性能測試

6.3 查詢性能

查詢測試采用的是通過爬蟲技術從新浪、騰訊等主流微博獲取的真實圖數據。通過去噪清洗,將采集過程中出現的錯誤和不一致性數據過濾并進行結構化處理后,獲得用戶節點數7489707,用戶關系邊數21105470,微博節點數4067183,用戶微博關系數邊32958308。

表7 項目常用API查詢實時性測試(ms)

圖4數據平臺可擴展性測試(ms)

鑒于微博中存在大量的僵尸用戶,根據需求選取5000個重點人物在平臺上對項目常用的API進行SQL查詢用時測試,由于數據需多次測試,block?cache命中率對讀性能影響十分大。對此,將分開啟和關閉緩存兩組進行測試。

由表7可知,在已有數據下,項目常用API的利用SQL語句平均查詢用時皆在20ms以內,99%分位值也均在100ms以內,能夠很好地滿足平臺的實時性要求。由圖4數據可知,隨著數據規模的增大,存儲平臺的數據查詢用時并不出現線性增長。即使在用戶節點數達到5000萬的規模下,也能保持屬性查詢平均用時在15ms以內。特別是對指定重點人物的多次查詢,在緩存命中的情況下能保持用時在5ms。由于本存儲系統基于HDFS文件系統搭建,其分布式架構本身具有良好擴展與可靠性。故本存儲平臺能夠成功滿足實時,可擴展性和易用性等要求。

7 結語

本文建立了一個面向海量微博數據的管理存儲平臺,著重對微博社交網絡數據的內在關系進行深入分析及NoSQL數據存儲設計,并成功將此平臺應用于項目組重點人物多維關聯關系分析,意見領袖挖掘追蹤等典型應用中,有效地解決了傳統關系型數據庫在存儲微博大圖數據中遇到的各類挑戰。

[1]廉捷,周欣,曹偉,等.新浪微博數據挖掘方案[J].清華大學學報(自然科學版),2011(10):1300-1305. LIAN Jie,ZHOU Xin,CAO Wei,et ak.SINA microblog data retrieval[J].Tsinghua Univ(Sci&Tech),2011(10):1300-1305.

[2]孟小峰,慈祥.大數據管理:概念、技術與挑戰[J].計算機研究與發展,2013(1):146-169. MENG Xiaofen,CI Xiang.Big Data Management:Con?cepts,Techniques and Challenges,2013(1):146-169.

[3]孟聰,黃永峰,應勵志.基于認知度的用戶好友社團關系挖掘方法[J].計算機應用研究,2012(8):2833-2836. MENG Cong,HUANG Yongfeng,YING Lizhi.Community relationship mining method based on users'cognition de?gree[J].Application Research of Computers,2012(8):2833-2836.

[4]樊興華,趙靜,方濱興,等.影響力擴散概率模型及其用于意見領袖發現研究[J].計算機學報,2013(2):360-367. FAN Xinhua,ZHAO Jing,FANG Bingxing,et al.Influ?ence Diffusion Probability Model and Utilizing It to Identi?fy Network Opinnion Leader[J].Chinese Journal of Com?puters,2013(2):360-367.

[5]Codd E F.A relational model of data for large shared data banks[J].Communications of the ACM,1970,13(6):377-387.

[6]丁悅,張陽,李戰懷,等.圖數據挖掘技術的研究與進展[J].計算機應用,2012(1):182-190. DING Yue,ZHANG Yang,LI Zhanhuai,et al.Research advances on graph data mining[J].Journal of Computer Applications,2012(1):182-190.

[7]龔衛華.數據庫集群系統的關鍵技術研究[D].武漢:華中科技大學,2006. GONG Weihua.Study On the Key Issues of Database Clus?ter System[D].Wuhan:Huazhong University of Science and Technology,2006.

[8]覃雄派,王會舉,李芙蓉,等.數據管理技術的新格局[J].軟件學報,2013(2):175-197. QIN Xiongpai,WANG Huiju,LI Furong,et al.New Land?scape of Data Management Technologies[J].Journal of Software,2013(2):175-197.

[9]申德榮,于戈,王習特,等.支持大數據管理的NoSQL系統研究綜述[J].軟件學報,2013(8):1786-1803. SHEN Derong,YU Ge,WANG Xite,et al.Survey on NoSQL for Management of Big Data[J].Journal of Soft?ware,2013(8):1786-1803.

[10]李超,張明博,邢春曉,等.列存儲數據庫關鍵技術綜述[J].計算機科學,2010(12):1-7,17. LI Chao,ZHANG Mingbo,XING Chunxiao,et al.Survey and Review on Key Technologies of Column Oriented Da?tabase Systems[J].Computer Science,2010(12):1-7,17.

[11]Chang F,Dean J,Ghemawat S,Hsieh WC,Wallach DA,Burrows M,Chandra T,Fikes A,Gruber RE.Bigtable:A distributedstorage system for structured data[C]//Ber?shad BN,Mogul JC,eds.Proc.of the OSDI 2006.Seat?tle:USENIX Association,2006:15-22.

Design and Implementation of Microblog Graph data Management and Storage Platform Based on NoSQL

BAO Congkai1,2HUANG Yongfeng1,2LIAO Wangjian1,2YU Hui3
(1.Institute of Information Cognition and Intelligence System,Department of Electronic Engineering,Tsinghua University,Beijing100084)(2.National Laboratory for Information Science and Technology,Tsinghua Univerisity,Beijing100084)(3.University of Chinese Academy of Sciences,Beijing100084)

In recent years,online social networks are rapid popularization and development,especially in the microblog sys?tem.These large-scale,inter-related complex graph data brought enormous challenges to the traditional database storage manage?ment.This paper thorough analyzes the structural features and the relationship between the type of microblog data,designs and Im?plementationsthedata storage platform based on NoSQL.The platform is divided into threelayers of information extraction,distribut?ed storageandNewSQLconverted.Itsuccessfullymeetsthe requirements of scalable,real-time,and ease of use.Experiment show its good performance in practise.

NoSQL,mcriblog,big graph data,storage platform

TP311

10.3969/j.issn.1672-9722.2017.07.025

2017年1月10日,

2017年2月27日

國家自然科學基金項目(編號:U1536201);科技部支撐技術項目(編號:2014BAH41B00);科技部863項目(編號:2015AA020101)資助。

包從開,男,碩士,研究方向:網絡大數據存儲與計算。黃永峰,男,博士,教授,研究方向:網絡WEB信息挖掘及應用及網絡隱蔽通信與監測。廖旺堅,男,碩士,研究方向:網絡大數據并行計算。余輝,男,碩士,研究方向:輿情分析與監測。

猜你喜歡
數據庫用戶信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 中文字幕在线欧美| 欧美a在线看| 中文字幕日韩久久综合影院| 男女男免费视频网站国产| 激情六月丁香婷婷四房播| 欧美自慰一级看片免费| 午夜限制老子影院888| 人妻无码一区二区视频| 女人毛片a级大学毛片免费| 老司机久久精品视频| 国产成人精品日本亚洲| 国产免费羞羞视频| 最新亚洲人成网站在线观看| 99激情网| 亚洲美女操| 亚洲成综合人影院在院播放| 亚洲无码精品在线播放| 高清免费毛片| 成人亚洲视频| 亚洲午夜久久久精品电影院| 最新国产成人剧情在线播放| 中文字幕在线日韩91| 91人人妻人人做人人爽男同| 亚洲男人在线天堂| 丁香六月激情综合| 欧美日韩午夜视频在线观看| 亚洲天堂首页| 久久久受www免费人成| 免费a在线观看播放| 亚洲开心婷婷中文字幕| 五月婷婷亚洲综合| 欧美精品亚洲精品日韩专区va| 91福利国产成人精品导航| 亚洲国产日韩在线成人蜜芽| 专干老肥熟女视频网站| 国产精品成人AⅤ在线一二三四| 亚洲国产系列| www成人国产在线观看网站| 成人在线观看不卡| 一级不卡毛片| 色婷婷电影网| 亚洲无线观看| 日本AⅤ精品一区二区三区日| 老司机精品一区在线视频| 欧美性精品| 国产偷国产偷在线高清| 亚洲欧洲日本在线| 2048国产精品原创综合在线| 在线欧美国产| 热99re99首页精品亚洲五月天| 国产精品久久自在自2021| 国产乱码精品一区二区三区中文 | 日韩国产一区二区三区无码| 高清无码不卡视频| 久久久久人妻一区精品色奶水| 91精品国产一区| 日本午夜精品一本在线观看| 亚洲精品日产精品乱码不卡| 99热这里只有精品免费国产| 国产精品永久在线| 欧美日韩资源| 日本一区二区不卡视频| 18黑白丝水手服自慰喷水网站| 亚洲日韩久久综合中文字幕| 香蕉eeww99国产精选播放| 久久黄色影院| 精品国产成人av免费| 激情综合婷婷丁香五月尤物| 免费不卡视频| 午夜毛片免费看| 欧美区在线播放| 国外欧美一区另类中文字幕| 日本在线欧美在线| 四虎综合网| 动漫精品中文字幕无码| 无码福利视频| 五月天久久婷婷| 99re热精品视频中文字幕不卡| 精品视频在线观看你懂的一区| 三级国产在线观看| 在线观看国产精品第一区免费| 国产成人亚洲精品无码电影|