惠寶鋒+管慶春
摘 要:對(duì)于物聯(lián)網(wǎng)核心技術(shù)之一的數(shù)據(jù)庫(kù)而言,選擇分布式數(shù)據(jù)庫(kù)是對(duì)該物聯(lián)網(wǎng)最好的方式。而數(shù)據(jù)庫(kù)優(yōu)化才能更好地滿足業(yè)務(wù)數(shù)據(jù)的實(shí)時(shí)存儲(chǔ)與海量數(shù)據(jù)的分析,以及數(shù)據(jù)庫(kù)處理相應(yīng)速度的提升。分布式系統(tǒng)優(yōu)化是結(jié)合監(jiān)測(cè)對(duì)象和監(jiān)測(cè)數(shù)據(jù)相對(duì)應(yīng)數(shù)據(jù)庫(kù)的內(nèi)部因素優(yōu)化,以及數(shù)據(jù)庫(kù)外部因素優(yōu)化,最終達(dá)到數(shù)據(jù)庫(kù)優(yōu)化目的。
關(guān)鍵詞:物聯(lián)網(wǎng);分布式數(shù)據(jù)庫(kù)優(yōu)化;SQL;傳感器;終端
數(shù)據(jù)庫(kù)負(fù)責(zé)存儲(chǔ)由感知層收集的感知數(shù)據(jù),所用到的數(shù)據(jù)庫(kù)管理系統(tǒng)可選擇大型分布式數(shù)據(jù)庫(kù)管理系統(tǒng)(SQL Server)。
只有對(duì)現(xiàn)有數(shù)據(jù)庫(kù)進(jìn)行必要的優(yōu)化和改進(jìn),才能實(shí)現(xiàn)無縫連接狀態(tài)。它的添加、查詢、更新、刪除等操作簡(jiǎn)單,極大地降低了開發(fā)時(shí)間和成本,具有較高的性價(jià)比。數(shù)據(jù)庫(kù)就可以直接進(jìn)行對(duì)象存儲(chǔ),可以自定義數(shù)據(jù)加密算法,非常適合用于嵌入式應(yīng)用。
首先,根據(jù)不同數(shù)據(jù)庫(kù)的不同特點(diǎn),針對(duì)不同情況使用的數(shù)據(jù)庫(kù)類型也不同。其次,設(shè)計(jì)過程要有前瞻性,不僅著眼于試點(diǎn)項(xiàng)目,更要針對(duì)性地適合與于實(shí)際項(xiàng)目。也就是說實(shí)際的項(xiàng)目可能面對(duì)更加多樣化、復(fù)雜的傳輸網(wǎng)絡(luò)和數(shù)據(jù),設(shè)計(jì)時(shí)要考慮到更廣泛的適應(yīng)性。
1 物聯(lián)網(wǎng)與分布式數(shù)據(jù)庫(kù)的關(guān)系
物聯(lián)網(wǎng)與分布式數(shù)據(jù)庫(kù)有著密不可分的關(guān)系。一方面,物聯(lián)網(wǎng)的發(fā)展離不開數(shù)據(jù)庫(kù)的支撐。物聯(lián)網(wǎng)將使用大量傳感器,采集到的數(shù)據(jù)量也十分巨大。這些收集的信息需要通過無線傳感網(wǎng)、移動(dòng)互聯(lián)網(wǎng)向特定存儲(chǔ)和處理設(shè)施發(fā)送,而使用分布式數(shù)據(jù)庫(kù)緩存等系列技術(shù)來承載這些任務(wù)具有非常顯著的性價(jià)比優(yōu)勢(shì)。另一方面,分布式數(shù)據(jù)庫(kù)技術(shù)對(duì)這些數(shù)據(jù)進(jìn)行處理、加工、分析、轉(zhuǎn)換,可更加迅速、準(zhǔn)確、智能地對(duì)事物信息進(jìn)行管理、查詢和控制,可以更加及時(shí)、準(zhǔn)確地管理事物,從而大幅提高資源利用率和生產(chǎn)力水平。分布式數(shù)據(jù)庫(kù)憑借其強(qiáng)大的運(yùn)算能力、儲(chǔ)存能力和很高的性能,自然就成為物聯(lián)網(wǎng)的后臺(tái)數(shù)據(jù)庫(kù)。另外,隨著物聯(lián)網(wǎng)針對(duì)社會(huì)不同等領(lǐng)域解決方案的落地,物聯(lián)網(wǎng)必將成為分布式數(shù)據(jù)庫(kù)最大的用戶,為數(shù)據(jù)庫(kù)技術(shù)取得更廣泛的應(yīng)用帶來空間。
2 分布式數(shù)據(jù)庫(kù)的優(yōu)化
對(duì)查詢進(jìn)行優(yōu)化,盡量避免全表查詢,首先應(yīng)在where及order by涉及的列上建立相應(yīng)索引。應(yīng)盡量避免在where子句中使用模糊類型的操作符。應(yīng)避免在where子句中對(duì)字段進(jìn)行空值判斷,否則將導(dǎo)致引擎放棄使用索引而進(jìn)行全表查詢。例如:在大氣環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)傳感器數(shù)據(jù)庫(kù)中,查詢t_rtdata表中的id值是否為Null,SQL語(yǔ)句為:select id from t_rtdata where num is null,可以在num上設(shè)置默認(rèn)值0,確保表中num列沒有null值,然后這樣查詢:select id from t_rtdata where num=0。
應(yīng)盡量避免在where子句中對(duì)字段進(jìn)行函數(shù)操作,這將導(dǎo)致引擎放棄使用索引而進(jìn)行全表掃描。如在大氣環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)大氣數(shù)據(jù)庫(kù)中的object表和userinfor表中,最終代碼為select id from object where name like NO%
select id from userinfor where dt>=2015-10-30 and dt<2015-11-30
3 數(shù)據(jù)庫(kù)外部?jī)?yōu)化
3.1 計(jì)算機(jī)系統(tǒng)硬件優(yōu)化
由于數(shù)據(jù)庫(kù)是構(gòu)架在計(jì)算機(jī)系統(tǒng)之上的,所以計(jì)算機(jī)系統(tǒng)硬件也關(guān)乎數(shù)據(jù)庫(kù)的效率。計(jì)算機(jī)系統(tǒng)硬件的優(yōu)化相對(duì)于數(shù)據(jù)庫(kù)也尤為重要,主要包括:CPU、Cache、內(nèi)存、存儲(chǔ)器、輸入輸出設(shè)備。
3.1.1 CPU優(yōu)化
計(jì)算機(jī)的性能在很大程度上由CPU的性能決定,數(shù)據(jù)庫(kù)的效率也就直接由CPU影響。而影響CPU運(yùn)行速度的性能指標(biāo)包括CPU的工作頻率、Cache容量、指令系統(tǒng)和邏輯結(jié)構(gòu)等參數(shù)。這就要求在選擇CPU時(shí)注重其參數(shù)的選擇。
3.1.2 Cache優(yōu)化
高速緩沖存儲(chǔ)器(Cache)是一種特殊的存儲(chǔ)器子系統(tǒng),其中復(fù)制了頻繁使用的數(shù)據(jù)以利于快速訪問。常使用高速緩沖存儲(chǔ)器,通過合理設(shè)置cache的大小,盡量將DMA用到的緩沖開在片內(nèi)RAM上。
3.1.3 內(nèi)存優(yōu)化
程序在運(yùn)行時(shí),Windows會(huì)將其直接調(diào)入到物理內(nèi)存中,但物理內(nèi)存畢竟有限,因此,可以在主機(jī)中的硬盤中設(shè)置合適的物理內(nèi)存,加大分頁(yè)文件的空間,提升主機(jī)運(yùn)行數(shù)據(jù)庫(kù)的效率,通過內(nèi)存優(yōu)化的好處是:首先將物理內(nèi)存部分程序引入到虛擬內(nèi)存后,再啟動(dòng)程序、從而使系統(tǒng)運(yùn)行的速度變得更快,達(dá)到提升主機(jī)運(yùn)行系統(tǒng)的工作效率。
3.1.4 存儲(chǔ)器優(yōu)化
存儲(chǔ)器(Memory)是用于保存信息的記憶設(shè)備。充分利用光盤存儲(chǔ)、網(wǎng)絡(luò)存儲(chǔ)和云存儲(chǔ)等方式對(duì)主機(jī)的存儲(chǔ)方式和速度進(jìn)行提升和優(yōu)化,從而使主機(jī)對(duì)數(shù)據(jù)庫(kù)的提取數(shù)據(jù),分析數(shù)據(jù)和利用數(shù)據(jù)進(jìn)行優(yōu)化。
3.2 網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化
由于該大氣環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)分布式數(shù)據(jù)庫(kù)是基于網(wǎng)絡(luò)傳輸數(shù)據(jù)的,所以網(wǎng)絡(luò)結(jié)構(gòu)也將影響數(shù)據(jù)庫(kù)的效率。網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化的方法有:網(wǎng)絡(luò)優(yōu)化和基站優(yōu)化2種。
3.2.1 網(wǎng)絡(luò)優(yōu)化
對(duì)網(wǎng)絡(luò)中的雙頻指900M和1800M頻率資源,可大致將1800M網(wǎng)絡(luò)的優(yōu)化分為3個(gè)階段:初期,局部連片引入1800M網(wǎng)絡(luò);中期,加大1800M網(wǎng)絡(luò)建設(shè)力度,在市區(qū)全覆蓋,分流提升網(wǎng)絡(luò)質(zhì)量;后期,加大1800M網(wǎng)絡(luò)的不間斷覆蓋,更多分流900M網(wǎng)絡(luò),進(jìn)一步增強(qiáng)話務(wù)吸收能力。
3.2.2 基站優(yōu)化
傳統(tǒng)網(wǎng)絡(luò)立體4層結(jié)構(gòu)包括4個(gè)部分的內(nèi)容:高層站、中層站、低層站和室分站。通過對(duì)網(wǎng)絡(luò)建設(shè)優(yōu)化的目標(biāo)容量的擴(kuò)容,通過容量的多方位吸收來降低干擾,從而改善網(wǎng)絡(luò)質(zhì)量。達(dá)到基站優(yōu)化
3.3 網(wǎng)絡(luò)通信方式優(yōu)化
分布式數(shù)據(jù)庫(kù)對(duì)時(shí)間延誤率和網(wǎng)絡(luò)效率要求較高,多以采用全雙工的通信方式。endprint
首先,在此采用雙絞線和全雙工的集線器,通過這種組合使網(wǎng)絡(luò)的全雙工方式可以最大限度地充分利用,從而發(fā)揮全雙工傳輸?shù)耐Α?/p>
其次,數(shù)據(jù)庫(kù)之間進(jìn)行數(shù)據(jù)通信可采用并行通信和串行通信方式,由于串行方式適合于遠(yuǎn)距離傳輸,雖然傳輸率低,但串行通信從發(fā)送端到接收端只需要一根傳輸線,一次只傳送一位二進(jìn)制的數(shù)據(jù),從而可以采用網(wǎng)絡(luò)中普遍的串行通信方式來達(dá)到網(wǎng)絡(luò)通信方式的優(yōu)化
3.4 I/O設(shè)備優(yōu)化
該大氣環(huán)境監(jiān)測(cè)物聯(lián)網(wǎng)分布式數(shù)據(jù)庫(kù)中的I/O設(shè)備主要是傳感器、基站和數(shù)據(jù)庫(kù)終端計(jì)算機(jī)的顯示屏和鍵盤,以及服務(wù)器I/O。
傳感器和基站的優(yōu)化受制于當(dāng)?shù)氐沫h(huán)境氣候以及其本身質(zhì)量,傳感器放置點(diǎn)需要經(jīng)過細(xì)致的審查與判定,與勘測(cè)數(shù)據(jù)的精細(xì)相結(jié)合。采用高品質(zhì)、高質(zhì)量的傳感器有助于數(shù)據(jù)的采集,對(duì)傳感器和基站的維護(hù)工作也是其優(yōu)化的關(guān)鍵。
在物聯(lián)網(wǎng)分布式數(shù)據(jù)庫(kù)中可以建立虛擬機(jī),并且根據(jù)虛擬機(jī)的靈活性,在此基礎(chǔ)上增加外掛,通過增加物理網(wǎng)絡(luò)連接的量,通過數(shù)據(jù)中心配置確保特定的功能,實(shí)現(xiàn)服務(wù)器和數(shù)據(jù)庫(kù)的充分利用。
將I/O虛擬化后,通過與存儲(chǔ)和網(wǎng)絡(luò)適配器相似的設(shè)備來連接和分配哪些軟件端口而非物理端口,可以提升主機(jī)的效率,實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)的優(yōu)化。
4 結(jié)語(yǔ)
通過對(duì)物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)的內(nèi)部?jī)?yōu)化和外部?jī)?yōu)化,可以在較大范圍提升物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)的使用效率和速度,尤其在對(duì)大氣環(huán)境監(jiān)測(cè)物理網(wǎng)分布式數(shù)據(jù)庫(kù)優(yōu)化需要全面綜合各方面進(jìn)行優(yōu)化才能提高數(shù)據(jù)庫(kù)的效率,實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)庫(kù)的優(yōu)化。
[參考文獻(xiàn)]
[1]International Telecommunication Union UIT.ITU Internet Reports2005:The Internet of Things[R].2005.
[2]劉硯黃,張進(jìn)春,逄利華.面向物聯(lián)網(wǎng)架構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)概述[J].辦公自動(dòng)化雜志,2014(2):39-42.
[3]徐賢.完美物聯(lián)網(wǎng)系統(tǒng)離不開匹配的數(shù)據(jù)庫(kù)支撐[EB/OL].[2010-12-16].http://www.ce.cn/cysc/communications/yjdt/201012/16/ t20101216_20609903.shtml.
[4]蔣科,俞建峰.物聯(lián)網(wǎng)在十大重點(diǎn)領(lǐng)域中的應(yīng)用前景[J].物聯(lián)網(wǎng)技術(shù),2012(10):81-83.
[5]張錦春,逄宏業(yè).實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)關(guān)鍵技術(shù)及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2005(3):45-47.
Study on Internet of Things Distributed Database System Optimization
Hui Baofeng, Guan Qingchun
(Qinghai University for Nationalities, Xining 810007, China)
Abstract:For databases IOT one of the core technology, the choice of distributed database is the best way of things. The database optimization in order to better meet the real-time analysis of business data and mass data storage, and database processing corresponding speed increase. Distributed system optimization is a combination of monitoring and surveillance data objects corresponding to the database to optimize internal factors, external factors, and database optimization.
Key words: Internet of things; distributed database optimization; SQL; sensor; terminalendprint