大約十年前,SQL是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)中編程、存儲(chǔ)和管理數(shù)據(jù)的一個(gè)無(wú)可爭(zhēng)議的標(biāo)準(zhǔn)。RDBMS本質(zhì)上是以行和列的結(jié)構(gòu)化格式將數(shù)據(jù)存儲(chǔ)在表中。它們存儲(chǔ)的值甚至表本身都可以相互關(guān)聯(lián)。各種實(shí)現(xiàn),如MySQL、microsoftsqlserver和PostgreSQL都得到了廣泛的應(yīng)用。
然而,隨著新的數(shù)據(jù)用例的出現(xiàn),SQL發(fā)現(xiàn)自己在過(guò)去幾年中受到了挑戰(zhàn)。云計(jì)算和物聯(lián)網(wǎng)(IoT)的發(fā)展使得從智能設(shè)備和傳感器收集大量不同數(shù)量的非結(jié)構(gòu)化數(shù)據(jù)成為可能。這種海量數(shù)據(jù)使得在SQL數(shù)據(jù)庫(kù)中存儲(chǔ)信息變得非常困難,這就導(dǎo)致了NoSQL數(shù)據(jù)庫(kù)的使用。由于NoSQL數(shù)據(jù)庫(kù)沒(méi)有建立的關(guān)系模式,用戶不必?fù)?dān)心將非結(jié)構(gòu)化數(shù)據(jù)強(qiáng)制放入預(yù)定義的表中。由于這種靈活性,NoSQL獲得了很多宣傳。
因此,開(kāi)發(fā)人員現(xiàn)在面臨著為其物聯(lián)網(wǎng)相關(guān)項(xiàng)目在SQL和NoSQL之間進(jìn)行選擇的困境。然而,對(duì)于某些人來(lái)說(shuō),這可能不是一個(gè)直接的選擇。許多企業(yè)系統(tǒng)和應(yīng)用程序都對(duì)SQL數(shù)據(jù)庫(kù)進(jìn)行了大量投資。他們的大多數(shù)開(kāi)發(fā)人員也更熟悉SQL。SQL備忘單中還有大量免費(fèi)資源,因此即使是非開(kāi)發(fā)人員也能夠執(zhí)行查詢,理解每個(gè)SQL符號(hào)背后的含義,并從數(shù)據(jù)庫(kù)中提取信息,而不需要深入的編程知識(shí)。由于SQL有多么根深蒂固,許多組織也希望將其物聯(lián)網(wǎng)的采用與現(xiàn)有的基于SQL的系統(tǒng)和基礎(chǔ)設(shè)施相結(jié)合。
比較大的問(wèn)題是這是否有可能,如果有,付出的努力值得嗎?
物聯(lián)網(wǎng)的興起
隨著越來(lái)越多的設(shè)備在各種業(yè)務(wù)流程中得到應(yīng)用,企業(yè)對(duì)物聯(lián)網(wǎng)的采用率正在上升。到2020年,Gartner和企業(yè)級(jí)物聯(lián)網(wǎng)終端將達(dá)到80億個(gè)。
制造設(shè)施和工廠現(xiàn)在正在集成更多的互聯(lián)網(wǎng)連接機(jī)器人和傳感器,允許遠(yuǎn)程訪問(wèn)工業(yè)控制系統(tǒng)。倉(cāng)庫(kù)正在使用跟蹤器來(lái)監(jiān)控產(chǎn)品的移動(dòng)。辦公室還采用物聯(lián)網(wǎng)設(shè)備,如智能恒溫器、安全攝像頭和設(shè)備,以幫助降低成本并實(shí)現(xiàn)日常流程自動(dòng)化。為了最大限度地采用物聯(lián)網(wǎng),他們應(yīng)該能夠?qū)⑽锫?lián)網(wǎng)設(shè)備不僅集成到基礎(chǔ)設(shè)施中,而且也集成到企業(yè)應(yīng)用程序中。
這也意味著要確保數(shù)據(jù)可以安全、無(wú)縫地傳遞。物聯(lián)網(wǎng)設(shè)備可以生成大量的數(shù)據(jù),這些數(shù)據(jù)可以推動(dòng)他們的大數(shù)據(jù)和分析工作。從分析中得出的見(jiàn)解最終會(huì)成為一種競(jìng)爭(zhēng)優(yōu)勢(shì)。大型企業(yè)已經(jīng)證明了這是可能的。例如,UPS使用車隊(duì)的跟蹤數(shù)據(jù)來(lái)創(chuàng)建最佳路線,使其交付更加高效和有效。
為什么NoSQL得到了提升
有趣的是,NoSQL已經(jīng)存在很長(zhǎng)一段時(shí)間了,但直到最近才在開(kāi)發(fā)人員中找到了強(qiáng)大的支持。將NoSQL與物聯(lián)網(wǎng)數(shù)據(jù)結(jié)合使用的一個(gè)有力論據(jù)是用戶可以從設(shè)備存儲(chǔ)數(shù)據(jù)的速度和容易程度。NoSQL使用鍵/值存儲(chǔ),或者用于一些更高級(jí)的NoSQL數(shù)據(jù)庫(kù)、對(duì)象。使用NoSQL,只需附加新信息。這使得NoSQL數(shù)據(jù)庫(kù)能夠接受各種新信息。對(duì)于那些只想收集IoT數(shù)據(jù)流并將其記錄到數(shù)據(jù)庫(kù)中的工作,NoSQL似乎非常適合。
這與SQL的結(jié)構(gòu)化格式相反。通常,那些使用SQL數(shù)據(jù)庫(kù)的人會(huì)發(fā)現(xiàn)確定在何處分配某些值非常困難,尤其是如果這些值不適合現(xiàn)有模式。隨著收集新信息的新設(shè)備集成到基礎(chǔ)設(shè)施中,這些問(wèn)題必然會(huì)變得常見(jiàn)。
SQL的情況
由于這些考慮,許多新的努力只是掩蓋了SQL作為其物聯(lián)網(wǎng)工作的選擇。有時(shí),這種選擇甚至?xí)?dǎo)致組織內(nèi)部的摩擦。雖然開(kāi)發(fā)人員可能希望利用NoSQL的靈活性,但使用它可能需要新的投資。收購(gòu)新的基礎(chǔ)設(shè)施組件,即使它們只是云實(shí)例,如果該公司對(duì)SQL基礎(chǔ)設(shè)施做出了現(xiàn)有的重大承諾,就很難證明這一點(diǎn)。
因此,技術(shù)官員面臨的挑戰(zhàn)是創(chuàng)建一個(gè)生態(tài)系統(tǒng),使公司能夠享受物聯(lián)網(wǎng)的好處,同時(shí)很大限度地利用SQL資源和能力。在IoT中使用SQL是可行的。可以使用從端點(diǎn)接收信息的數(shù)據(jù)聚合器或節(jié)點(diǎn),這些端點(diǎn)可以在將數(shù)據(jù)傳遞到SQL數(shù)據(jù)庫(kù)服務(wù)器之前對(duì)其進(jìn)行預(yù)處理。另一種方法是在端點(diǎn)軟件中嵌入SQL,以便在傳輸?shù)絊QL服務(wù)器之前準(zhǔn)備和處理數(shù)據(jù)。原始數(shù)據(jù)仍然可以存儲(chǔ)在這些節(jié)點(diǎn)或備份上,但SQL準(zhǔn)備的數(shù)據(jù)將用于應(yīng)用程序。
當(dāng)涉及到商業(yè)智能和分析時(shí),使用結(jié)構(gòu)化SQL數(shù)據(jù)并使之有意義仍然更容易。開(kāi)發(fā)人員(甚至非開(kāi)發(fā)人員)現(xiàn)有的專業(yè)知識(shí)和對(duì)SQL的熟悉程度也意味著他們可以很容易地從他們的物聯(lián)網(wǎng)設(shè)備生成的數(shù)據(jù)中獲益。
結(jié)論
歸根結(jié)底,一切都?xì)w結(jié)為環(huán)境問(wèn)題。從零開(kāi)始的較小的工作和項(xiàng)目可能會(huì)發(fā)現(xiàn),從NoSQL開(kāi)始可以給他們比較大的靈活性和靈活性。已經(jīng)在SQL中建立了使用和投資的組織可以找到繼續(xù)使用該技術(shù)進(jìn)行IoT工作的方法。但很明顯的是,在這個(gè)勇敢的新物聯(lián)網(wǎng)驅(qū)動(dòng)的世界中,SQL仍然是相關(guān)的,并且可能具有巨大的價(jià)值。
責(zé)編AJX
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7085瀏覽量
89220 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2910文章
44778瀏覽量
374745 -
SQL
+關(guān)注
關(guān)注
1文章
768瀏覽量
44177
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論