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

基于MongoDB存儲(chǔ)和分析輔助決策系統(tǒng)中的海量日志

2019-12-12 10:00:59宋瑜輝
科技創(chuàng)新與應(yīng)用 2019年33期

宋瑜輝

摘? 要:在輔助決策系統(tǒng)中,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)已經(jīng)難以滿足對(duì)海量日志數(shù)據(jù)的管理,非關(guān)系型數(shù)據(jù)庫(kù)的出現(xiàn),為大規(guī)模數(shù)據(jù)存儲(chǔ)挖掘問(wèn)題提供了卓有成效的解決方案。文章著重分析非關(guān)系數(shù)據(jù)庫(kù)MongoDB的特點(diǎn)和優(yōu)勢(shì),通過(guò)存儲(chǔ)和檢索算法設(shè)計(jì)和實(shí)際的海量日志數(shù)據(jù)查詢性能仿真,提出將MongoDB數(shù)據(jù)庫(kù)應(yīng)用于輔助決策系統(tǒng)中,有效提高了大規(guī)模日志數(shù)據(jù)存儲(chǔ)和分析效率。

關(guān)鍵詞:MongoDB;輔助決策;日志

中圖分類(lèi)號(hào):TP311.13? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? ?文章編號(hào):2095-2945(2019)33-0005-04

Abstract: In the auxiliary decision-making system, the traditional relational database has been difficult to meet the management of massive log data, the emergence of non-relational database, which provides a fruitful solution for the problem of large-scale data storage mining. This paper focuses on the characteristics and advantages of non-relational database MongoDB. Through the design of storage and retrieval algorithm and the simulation of massive log data query performance, this paper proposes to apply MongoDB database to auxiliary decision-making system. It effectively improves the efficiency of large-scale log data storage and analysis.?Keywords: MongoDB; aided decision-making; log

引言

國(guó)家電網(wǎng)的經(jīng)營(yíng)輔助分析決策支持系統(tǒng)是展現(xiàn)財(cái)務(wù)管理信息,全面實(shí)施財(cái)務(wù)分析,科學(xué)支持財(cái)務(wù)相關(guān)決策,輔助生成管理報(bào)告的專業(yè)化、一體化、集成化管理平臺(tái)。隨著多年信息化建設(shè)和企業(yè)信息化的不斷發(fā)展,輔助決策系統(tǒng)中積累了大量的日志信息,包括系統(tǒng)的運(yùn)行情況日志、業(yè)務(wù)訪問(wèn)日志、賬戶管理日志、登錄認(rèn)證日志等等。

這些日志信息真實(shí)的記錄了每個(gè)用戶的訪問(wèn)行為,分析這些數(shù)據(jù)具有重要的意義:首先,通過(guò)收集和分析用戶行為數(shù)據(jù),可以及時(shí)掌握用戶的需求變化,按照用戶需求來(lái)優(yōu)化和升級(jí)應(yīng)用和服務(wù),不斷提高服務(wù)質(zhì)量和滿足用戶不斷變化需求的能力,持續(xù)改善用戶體驗(yàn),達(dá)到增加用戶粘性,減少用戶流失的目的。其次,通過(guò)對(duì)收集到的各種日志數(shù)據(jù)進(jìn)行挖掘,能發(fā)現(xiàn)系統(tǒng)的潛在問(wèn)題,通過(guò)日志分析,可以發(fā)現(xiàn)系統(tǒng)中軟件、硬件和系統(tǒng)的問(wèn)題,監(jiān)控系統(tǒng)中發(fā)生的時(shí)間,檢查錯(cuò)誤發(fā)生的原因,幫助追蹤軟件發(fā)生的問(wèn)題;因此,這些日志數(shù)據(jù)的存儲(chǔ)和分析具有重要的意義。

傳統(tǒng)解決日志存儲(chǔ)和分析的方法主要是將日志數(shù)據(jù)存放到關(guān)系型數(shù)據(jù)庫(kù)中,如Oracle數(shù)據(jù)庫(kù)或MySQL數(shù)據(jù)庫(kù),關(guān)系型數(shù)據(jù)庫(kù)對(duì)結(jié)構(gòu)化數(shù)據(jù)的支持較好,能采用SQL標(biāo)準(zhǔn)語(yǔ)法進(jìn)行數(shù)據(jù)的檢索查詢和分析;但是隨著企業(yè)信息化的發(fā)展和業(yè)務(wù)的廣泛應(yīng)用,其產(chǎn)生的數(shù)據(jù)量呈指數(shù)增長(zhǎng),對(duì)于這些海量數(shù)據(jù)的存儲(chǔ)和檢索統(tǒng)計(jì)的任務(wù)也日益增多,如何快速存儲(chǔ)、檢索、統(tǒng)計(jì)這些海量日志數(shù)據(jù),從中獲取知識(shí)并產(chǎn)生商業(yè)價(jià)值,成為企業(yè)急需解決的問(wèn)題。傳統(tǒng)存儲(chǔ)到關(guān)系型數(shù)據(jù)庫(kù)的技術(shù)對(duì)于海量數(shù)據(jù)的處理已不能夠滿足要求,不但開(kāi)發(fā)成本高、效率低、擴(kuò)展性能差,最大的問(wèn)題是難以滿足業(yè)務(wù)發(fā)展需求,數(shù)據(jù)量一旦增大,這部分問(wèn)題將成為瓶頸。然而,隨著非關(guān)系型數(shù)據(jù)庫(kù)的出現(xiàn),基于分布式思想的MongoDB文檔數(shù)據(jù)庫(kù)能夠很好的解決這個(gè)難題,且其具有以下優(yōu)勢(shì):成本低、擴(kuò)展性能好、數(shù)據(jù)安全可靠、支持非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)和檢索等。

因此,本文提出一種基于MongoDB數(shù)據(jù)存儲(chǔ)和檢索海量日志數(shù)據(jù)的技術(shù),通過(guò)存儲(chǔ)和檢索算法設(shè)計(jì)和實(shí)際的海量日志數(shù)據(jù)查詢性能仿真,展示了本文設(shè)計(jì)的海量日志數(shù)據(jù)庫(kù)查詢方法的高效性和準(zhǔn)確性。

1 海量日志數(shù)據(jù)存儲(chǔ)需求分析

國(guó)家電網(wǎng)的經(jīng)營(yíng)輔助分析決策支持系統(tǒng)中的日志主要包括以下內(nèi)容:用戶賬戶ID、事件類(lèi)型、事件產(chǎn)生的時(shí)間、事件的內(nèi)容、操作是否成功、請(qǐng)求的來(lái)源(如請(qǐng)求的IP地址),其他附屬的實(shí)踐屬性信息等;由于在實(shí)際生產(chǎn)中客戶的需求經(jīng)常不同,因此不同類(lèi)型日志常常要求增加一些額外的附屬信息以便于日后分析,因此不同類(lèi)型日志格式并不完全相同;因此傳統(tǒng)的結(jié)構(gòu)化日志存儲(chǔ)并不適用這種非結(jié)構(gòu)化日志數(shù)據(jù)的存儲(chǔ)。

目前,經(jīng)營(yíng)輔助分析決策支持系統(tǒng)中的日志的主要需求如下:(1)不同類(lèi)型的日志格式不完全相同;(2)能夠存儲(chǔ)海量上億級(jí)的日志數(shù)據(jù);數(shù)據(jù)能保存1至3年;(3)存儲(chǔ)海量日志數(shù)據(jù)的寫(xiě)入性能要求高效;(4)能夠通過(guò)多種條件組合檢索日志信息;(5)具有日志分類(lèi)匯總統(tǒng)計(jì)功能;

(6)當(dāng)主機(jī)資源達(dá)到瓶頸時(shí),能通過(guò)動(dòng)態(tài)擴(kuò)展主機(jī)方式增加系統(tǒng)的性能。

2 設(shè)計(jì)與實(shí)現(xiàn)

經(jīng)營(yíng)輔助分析決策支持系統(tǒng)中海量日志數(shù)據(jù)的管理和應(yīng)用方向集中在兩個(gè)領(lǐng)域。第一,在線處理數(shù)據(jù)操作,日志的并發(fā)寫(xiě)入操作,海量數(shù)據(jù)檢索查詢操作。第二,海量數(shù)據(jù)分析相關(guān),針對(duì)海量日志數(shù)據(jù)的挖掘、復(fù)雜的分析計(jì)算; 分布式數(shù)據(jù)庫(kù)則是針對(duì)海量大數(shù)據(jù)管理誕生的,強(qiáng)調(diào)滿足大數(shù)據(jù)在實(shí)時(shí)高并發(fā)請(qǐng)求壓力下的交互業(yè)務(wù)場(chǎng)景。由于分布式數(shù)據(jù)庫(kù)的落地更簡(jiǎn)單,開(kāi)發(fā)運(yùn)維上更接近于傳統(tǒng)數(shù)據(jù)管理系統(tǒng)。

2.1 MongoDB介紹

MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由C++語(yǔ)言編寫(xiě)。為應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。MongoDB是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。它可以存儲(chǔ)比較復(fù)雜的數(shù)據(jù)類(lèi)型。最大的特點(diǎn)是它支持的查詢語(yǔ)言非常強(qiáng)大,還支持對(duì)數(shù)據(jù)建立索引。

MongoDB集群包括以下幾個(gè)組件:

(1)分片節(jié)點(diǎn):用來(lái)存儲(chǔ)數(shù)據(jù),為了提供系統(tǒng)可用性和數(shù)據(jù)一致性,一個(gè)生產(chǎn)環(huán)境的分片集群,通常每個(gè)分片是一個(gè)副本集。

(2)查詢路由:指客戶端應(yīng)用訪問(wèn)每個(gè)分片的路徑。

(3)配置服務(wù)器:存儲(chǔ)集群的元數(shù)據(jù),這些數(shù)據(jù)包含了集群數(shù)據(jù)集到各分片的映射關(guān)系。查詢路由就是通過(guò)這些元數(shù)據(jù)到特定的分片上執(zhí)行指定的數(shù)據(jù)操作。

MongoDB總體架構(gòu)如圖1所示。

MongoDB功能如下:(1)面向集合的存儲(chǔ):適合存儲(chǔ)對(duì)象及 JSON 形式的數(shù)據(jù)。(2)動(dòng)態(tài)查詢:MongoDB 支持豐富的查詢表達(dá)式。查詢指令使用 JSON 形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對(duì)象及數(shù)組。(3)完整的索引支持:包括文檔內(nèi)嵌對(duì)象及數(shù)組。MongoDB 的查詢優(yōu)化器會(huì)分析查詢表達(dá)式,并生成一個(gè)高效的查詢計(jì)劃。(4)查詢監(jiān)視:MongoDB 包含一系列監(jiān)視工具用于分析數(shù)據(jù)庫(kù)操作的性能。(5)復(fù)制及自動(dòng)故障轉(zhuǎn)移:MongoDB 數(shù)據(jù)庫(kù)支持服務(wù)器之間的數(shù)據(jù)復(fù)制,支持主-從模式及服務(wù)器之間的相互復(fù)制。復(fù)制的主要目標(biāo)是提供冗余及自動(dòng)故障轉(zhuǎn)移。(6)高效的傳統(tǒng)存儲(chǔ)方式:支持二進(jìn)制數(shù)據(jù)及大型對(duì)象(如照片或圖片)。(7)自動(dòng)分片以支持云級(jí)別的伸縮性:自動(dòng)分片功能支持水平的數(shù)據(jù)庫(kù)集群,可動(dòng)態(tài)添加額外的機(jī)器。

MongoDB特點(diǎn)如下:(1)面向集合(Collenction-Orented)。(2)數(shù)據(jù)被分組存儲(chǔ)在數(shù)據(jù)集中,被稱為一個(gè)集合(Collenction)。每個(gè)集合在數(shù)據(jù)庫(kù)中都有一個(gè)唯一的標(biāo)識(shí)名,并且可以包含無(wú)限數(shù)目的文檔。集合的概念類(lèi)似關(guān)系型數(shù)據(jù)庫(kù)(RDBMS)里的表(table),不同的是它不需要定義任何模式(schema)。(3)模式自由(schema-free)。(4)意味著對(duì)于存儲(chǔ)在 MongoDB 數(shù)據(jù)庫(kù)中的文件,不需提前定義它的任何結(jié)構(gòu)定義。(5)文檔型。(6)存儲(chǔ)的數(shù)據(jù)是鍵-值對(duì)的集合,鍵是字符串,值可以是數(shù)據(jù)類(lèi)型集合里的任意類(lèi)型,包括數(shù)組和文檔。這個(gè)數(shù)據(jù)格式稱作“BSON”即“Binary Serialized dOcument Notation.”

2.2 日志表設(shè)計(jì)

2.2.1 表模型設(shè)計(jì)

表名t_log,由于不同類(lèi)型的日志格式不同,以下是公共部分的定義:

2.2.2 表分片設(shè)計(jì)

由于海量日志需要存儲(chǔ)較長(zhǎng)時(shí)間,因此需要支持?jǐn)?shù)據(jù)分片功能,未來(lái)當(dāng)集群主機(jī)性能到達(dá)瓶頸時(shí)可以輕松的增加主機(jī)節(jié)點(diǎn)方式擴(kuò)展,因此需要對(duì)日志表進(jìn)行數(shù)據(jù)分片。

一般來(lái)說(shuō),完美的分片鍵將會(huì)有下列的特征:(1)所有的插入、更新以及刪除將會(huì)均勻分發(fā)到集群中的所有分片中。(2)所有的查詢將會(huì)在集群中的所有分片中平均地分發(fā)。(3)所有的操作將會(huì)只面向相關(guān)的分片:更新或者刪除操作將不會(huì)發(fā)送到一個(gè)沒(méi)有存儲(chǔ)被修改數(shù)據(jù)的分片上。(4)一個(gè)查詢將不會(huì)被送到?jīng)]有存儲(chǔ)被查詢數(shù)據(jù)的分片上。

好的分片鍵的五個(gè)準(zhǔn)則如下:(1)分片鍵基數(shù)。(2)寫(xiě)分布。(3)讀分布。(4)定向讀。(5)讀本地性。分片鍵的選擇原則如下:(1)不要選時(shí)間日期,選盡可能使數(shù)據(jù)分散的字段。(2)分析下最常見(jiàn)的查詢,防止使用單一自增的字段,避免新增數(shù)據(jù)始終路由到一個(gè)分片,造成寫(xiě)熱點(diǎn)。(3)如果有范圍查詢的,最好包含一個(gè)對(duì)應(yīng)的業(yè)務(wù)字段,避免查詢的時(shí)候數(shù)據(jù)太分散。

綜上所述,分片的語(yǔ)句定義如下:對(duì)數(shù)據(jù)庫(kù)啟用分片:sh.enableSharding(“fzjcdb”);日志表分片鍵建立主鍵:db.t_log.createIndex({workid: 1, _id:1})日志表建立分片sh.shardCollection(“fzjcdb.t_log”, {workid: 1, _id:1} )

2.3 日志表分析

由于業(yè)務(wù)要求對(duì)日志表有統(tǒng)計(jì)分析的需求,因此需要MongoDB中的日志表也能支持按小時(shí),按天,按月的統(tǒng)計(jì)分析。

針對(duì)統(tǒng)計(jì)分析,MongoDB中聚合(aggregate)主要用于處理數(shù)據(jù)(諸如統(tǒng)計(jì)平均值,求和等),并返回計(jì)算后的數(shù)據(jù)結(jié)果。類(lèi)似關(guān)系型數(shù)據(jù)庫(kù)中的分組求和函數(shù)。

常見(jiàn)的MongoDB的聚合操作和MySQL的查詢對(duì)比如表2。

3 系統(tǒng)測(cè)試結(jié)果分析

測(cè)試實(shí)驗(yàn)分10線程,100線程,200線程并發(fā)測(cè)試,分別監(jiān)控各主機(jī)CPU,IO,網(wǎng)絡(luò)變化。

4 結(jié)束語(yǔ)

本文主要提出了一種基于MongoDB存儲(chǔ)和分析輔助決策系統(tǒng)中的海量日志的高效計(jì)算和分析方法。通過(guò)對(duì)海量日志數(shù)據(jù)進(jìn)行數(shù)據(jù)分片設(shè)計(jì),使得海量日志的存儲(chǔ)具有高擴(kuò)展性,高性能等優(yōu)點(diǎn)的同時(shí)也具有一定的統(tǒng)計(jì)分析查詢支持的功能,通過(guò)壓力測(cè)試驗(yàn)證,這種存儲(chǔ)海量日志的方式較好,滿足高性能寫(xiě)入和查詢的需求。

參考文獻(xiàn):

[1]李紀(jì)偉,段中帥,王順曄.非結(jié)構(gòu)化數(shù)據(jù)庫(kù)MongoDB的數(shù)據(jù)存儲(chǔ)[J].電腦知識(shí)與技術(shù),2018,14(27):7-9.

[2]張路路.基于MongoDB的大數(shù)據(jù)存儲(chǔ)方法研究與應(yīng)用[D].成都理工大學(xué),2015.

[3]馮國(guó)瑞,王亮.基于大數(shù)據(jù)和云計(jì)算的電網(wǎng)財(cái)務(wù)系統(tǒng)決策研究[J].通信電源技術(shù),2017,34(01):113-115.

[4]王昌照.基于大數(shù)據(jù)的“三統(tǒng)一”配電網(wǎng)規(guī)劃輔助決策系統(tǒng)[J].供用電,2017,34(01):32-37+23.

[5]毋毅,趙康.基于大數(shù)據(jù)平臺(tái)的電網(wǎng)全業(yè)務(wù)數(shù)據(jù)分析域研究[J].電腦知識(shí)與技術(shù),2016,12(34):15-17.

主站蜘蛛池模板: 久久精品波多野结衣| 久久精品一卡日本电影| 国产美女一级毛片| 日韩国产综合精选| 国产成人一区在线播放| 成人国产免费| 成人午夜久久| 欧美成人手机在线视频| 青青久视频| 国产精品三级专区| 美女免费精品高清毛片在线视| 91啪在线| 欧美色香蕉| 日本国产精品| www亚洲精品| 免费在线成人网| 高清久久精品亚洲日韩Av| 国产麻豆永久视频| 国产成人a毛片在线| 亚洲国产日韩视频观看| 欧美一区二区三区国产精品| 在线观看国产精品第一区免费| 91亚瑟视频| 香蕉久人久人青草青草| 一级毛片在线免费视频| 中文字幕2区| 99久久精彩视频| 一区二区午夜| 亚洲午夜福利在线| 欧美成人二区| 欧美一区二区人人喊爽| 日韩精品免费一线在线观看| av在线5g无码天天| 国产精品第5页| 国产精品成人啪精品视频| 波多野结衣一二三| 日韩毛片免费视频| 亚洲国产精品VA在线看黑人| 日韩毛片视频| 亚洲人成色77777在线观看| 国产人成乱码视频免费观看| 日本人妻丰满熟妇区| 国产日韩欧美成人| 欧美va亚洲va香蕉在线| 国产福利小视频在线播放观看| 色婷婷在线影院| 国产91蝌蚪窝| 欧美激情视频一区| 91精品网站| 凹凸精品免费精品视频| 尤物特级无码毛片免费| 精品少妇人妻无码久久| 黄色网在线免费观看| 亚洲欧洲综合| 亚洲欧美日韩中文字幕在线一区| 99在线观看免费视频| 亚洲大学生视频在线播放| 在线免费不卡视频| 日韩欧美色综合| 国产99在线| 亚洲中字无码AV电影在线观看| 制服无码网站| 国产一区亚洲一区| www.国产福利| 91小视频在线| 污污网站在线观看| 日韩亚洲综合在线| 国产麻豆精品在线观看| 国产成人免费观看在线视频| 国产精品一区二区无码免费看片| 日韩不卡免费视频| 亚洲AⅤ综合在线欧美一区| 国产精品第5页| 操美女免费网站| 天天躁狠狠躁| 91精品福利自产拍在线观看| 亚洲区欧美区| 久久国语对白| 国产毛片久久国产| 亚洲天堂首页| 亚洲日韩高清无码| 国产香蕉在线视频|