亚洲成人一区二区久久-97精品久久人妻人人搡人人玩-亚洲黄色mv在线观看-欧美三级不卡在线视频

當(dāng)前位置:首頁 > 最新資訊 > 客戶問答

利用關(guān)系數(shù)據(jù)庫來實(shí)現(xiàn)大規(guī)模物聯(lián)網(wǎng)

傳統(tǒng)觀點(diǎn)認(rèn)為,關(guān)系型數(shù)據(jù)庫的可伸縮性和健壯性都不足以支撐需要大量連接且吞吐量巨大的物聯(lián)網(wǎng),以及物聯(lián)網(wǎng)應(yīng)用程序所需的各種特性。但我知道這不是真的,因?yàn)镺racle的客戶多年來就一直在這么做。他們是怎么做到的呢?

首先,讓我們確保在物聯(lián)網(wǎng)的含義上達(dá)成一致。官方的定義是通過互聯(lián)網(wǎng)實(shí)現(xiàn)萬物互聯(lián),并使它們能夠發(fā)送和接收數(shù)據(jù)。物聯(lián)網(wǎng)涉及到各種各樣的設(shè)備,從手表、電視、電話到烤箱、冰箱,以及專為連接和共享數(shù)據(jù)而制成的“智能”煤氣表。并且在某些時(shí)候,需要收集這些數(shù)據(jù)用于信息挖掘。

從數(shù)據(jù)庫的角度來看,組織需要捕獲從物聯(lián)網(wǎng)設(shè)備發(fā)送的大量數(shù)據(jù),消化這些數(shù)據(jù),然后根據(jù)業(yè)務(wù)需要進(jìn)行數(shù)據(jù)挖掘。對(duì)于企業(yè)來說,提取和快速分析這些數(shù)據(jù)對(duì)于保持其在當(dāng)今需要全天候、100%正常運(yùn)行的商業(yè)世界中保持其競爭優(yōu)勢至關(guān)重要。要實(shí)現(xiàn)這個(gè)目標(biāo)可以采用許多不同的形式,而其中的大多數(shù)都可以很好地與經(jīng)過優(yōu)化的關(guān)系數(shù)據(jù)庫和硬件一起工作。

到底是使用SQL還是NoSQL?

一個(gè)常見的誤解是要想支撐起物聯(lián)網(wǎng)的工作負(fù)載就必須使用NoSQL數(shù)據(jù)庫,因?yàn)槠渌璧臄?shù)據(jù)攝取率超過了傳統(tǒng)關(guān)系數(shù)據(jù)庫的能力。但事實(shí)并非如此,Oracle的許多客戶都證明了這一點(diǎn)。我們發(fā)現(xiàn),一個(gè)經(jīng)過優(yōu)化的關(guān)系數(shù)據(jù)庫在Oracle RAC集群的單個(gè)節(jié)點(diǎn)中攝取的數(shù)據(jù)比在某些整個(gè)NoSQL環(huán)境中攝取的數(shù)據(jù)還要多。注意,我說的是一個(gè)優(yōu)化了的關(guān)系數(shù)據(jù)庫。

總體而言,物聯(lián)網(wǎng)工作負(fù)載的特征是需要進(jìn)行大量小型、輕量級(jí)的數(shù)據(jù)轉(zhuǎn)換,通常包括復(fù)雜的數(shù)據(jù)類型,如地理空間數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)(視頻或音頻記錄)。因此,例如,從腕帶收集健身數(shù)據(jù)的公司將會(huì)使用地理空間數(shù)據(jù)(記錄步行路線)以及步數(shù)、心率等。

盡管最近被大肆宣傳,但高攝取量的工作負(fù)載并不是一個(gè)新概念。例如,我們的一個(gè)電信客戶每秒處理著數(shù)百萬個(gè)呼叫記錄,每天增加多達(dá)18TB的數(shù)據(jù)。

在關(guān)系數(shù)據(jù)庫上運(yùn)行的股票交易所每秒將記錄180,000條消息,每天增加多達(dá)15TB的數(shù)據(jù)。

那么他們又是怎么做到的呢?關(guān)鍵是保證數(shù)據(jù)庫的可伸縮性、靈活性以及提供實(shí)時(shí)分析的速度。在篩選非結(jié)構(gòu)化數(shù)據(jù)時(shí)使用經(jīng)過優(yōu)化的硬件也是獲得成功的重要因素。

搭建大規(guī)模物聯(lián)網(wǎng)的關(guān)鍵1:數(shù)據(jù)庫的可伸縮性

可伸縮性是指系統(tǒng)提供的與可用硬件資源成比例的吞吐量的能力,并且僅受可用硬件資源的限制。擴(kuò)展Oracle數(shù)據(jù)庫系統(tǒng)有兩種不同的方法:實(shí)時(shí)應(yīng)用集群(Real Application Clusters)和數(shù)據(jù)庫分片(sharding)。

實(shí)時(shí)應(yīng)用集群(RAC)可以使任何打包或定制的應(yīng)用程序都能夠不加修改的在連接到共享存儲(chǔ)的服務(wù)器池中運(yùn)行。如果池中的服務(wù)器出現(xiàn)故障,數(shù)據(jù)庫將繼續(xù)在其余服務(wù)器上運(yùn)行。當(dāng)需要更多的處理能力時(shí),您只需將另一臺(tái)服務(wù)器添加到池中,而不會(huì)導(dǎo)致任何停機(jī)。

Sharding則允許將大型數(shù)據(jù)庫分為較小的數(shù)據(jù)庫或分片,每個(gè)數(shù)據(jù)庫或分片都可以存儲(chǔ)在不同的硬件上。想象一下,一家全球零售公司擁有一個(gè)龐大的關(guān)系數(shù)據(jù)庫,其中包含所有可用商品的分片數(shù)據(jù);數(shù)據(jù)庫的每個(gè)分片都將包含目錄的一部分。

當(dāng)查詢請(qǐng)求特定窗口的小部件時(shí),數(shù)據(jù)庫服務(wù)器知道這些小部件類型存儲(chǔ)在哪個(gè)分片上并將直接從那里檢索數(shù)據(jù)。這種模式在全球經(jīng)濟(jì)下的另一個(gè)好處是,可以為每個(gè)國家創(chuàng)建一個(gè)分片,并將當(dāng)?shù)胤ㄒ?guī)應(yīng)用于該特定分片。例如,德國要求將所有德國數(shù)據(jù)物理存儲(chǔ)在本國境內(nèi)。使用分片技術(shù)就很容易做到這一點(diǎn)。

目前,大多數(shù)大規(guī)模操作的數(shù)據(jù)庫都提供分片技術(shù),包括MongoDB、Microsoft SQL Server和PostgreSQL。但僅僅將數(shù)據(jù)進(jìn)行分片是不夠的。同樣重要的是能夠有效地運(yùn)行跨分片查詢,因?yàn)檫@將大大減少獲得完整業(yè)務(wù)視圖所需的時(shí)間。

物聯(lián)網(wǎng)的一個(gè)關(guān)鍵要求是能夠快速獲取大量數(shù)據(jù)。因此,無論數(shù)據(jù)在何處暫存,該存儲(chǔ)的帶寬需要比數(shù)據(jù)庫本身更能控制負(fù)載的速度。畢竟,數(shù)據(jù)的加載速度永遠(yuǎn)不會(huì)超過讀取速度。如果網(wǎng)絡(luò)讀取速度不能超過每秒200兆字節(jié),那么數(shù)據(jù)的加載速度也就不能超過每秒200兆字節(jié)。

可伸縮性的其他重要組成部分是數(shù)組插入的使用(與單行插入不同)、并行執(zhí)行和外部表的使用。

搭建大規(guī)模物聯(lián)網(wǎng)的關(guān)鍵2:數(shù)據(jù)庫的靈活性

靈活性是指能夠快速、輕松地適應(yīng)變化的能力。當(dāng)下的物聯(lián)網(wǎng)仍處于起步階段,每臺(tái)設(shè)備都可能有新的使用案例。能夠輕松地適應(yīng)數(shù)據(jù)格式的變化是至關(guān)重要的。當(dāng)遇到這種需求時(shí),開發(fā)人員通常會(huì)轉(zhuǎn)向JSON。JSON極大地簡化了應(yīng)用程序開發(fā),因?yàn)樗试S在應(yīng)用程序和數(shù)據(jù)庫中使用相同的無模式表示。

分區(qū)也是實(shí)現(xiàn)靈活性的關(guān)鍵。分區(qū)使大量數(shù)據(jù)更易于管理,提高整體性能,并且對(duì)應(yīng)用程序完全透明。分區(qū)的另一個(gè)好處是可以將歷史數(shù)據(jù)存儲(chǔ)在單獨(dú)的分區(qū)中,從而可以將數(shù)據(jù)壓縮并移動(dòng)到較低的存儲(chǔ)層。這樣,即使將數(shù)據(jù)用于數(shù)據(jù)挖掘,也不會(huì)減慢實(shí)時(shí)查詢的速度。

搭建大規(guī)模物聯(lián)網(wǎng)的關(guān)鍵3:實(shí)時(shí)分析

如果無法及時(shí)分析數(shù)據(jù)以達(dá)到影響業(yè)務(wù)成果的目的,所有這些加快數(shù)據(jù)接收和數(shù)據(jù)存儲(chǔ)的技巧都將毫無用處。在一天結(jié)束時(shí),企業(yè)必須使用數(shù)據(jù),這意味著需要將數(shù)據(jù)取出。

對(duì)于一個(gè)全球性的零售組織來說,其中的一個(gè)目標(biāo)可能是需要及時(shí)匯總所有分片上銷售的產(chǎn)品,以確定當(dāng)下全球***的10種產(chǎn)品。

而對(duì)于一家國際電信公司來說,同樣的數(shù)據(jù)庫體系結(jié)構(gòu)可能在幾個(gè)不同的方面都有所幫助。它們的大多數(shù)查詢來自客戶,因此它們可以使用分片和分區(qū)技術(shù)來從查詢的執(zhí)行中消除大部分的數(shù)據(jù)存儲(chǔ),從而滿足客戶所期望的速度。

在內(nèi)部,業(yè)務(wù)經(jīng)理則希望能夠減少客戶流失并提高盈利能力,因此他們挖掘分片和分區(qū)中的數(shù)據(jù),尋找特定模式來確定哪些客戶可能會(huì)取消他們的服務(wù),或者他們可以主動(dòng)向客戶提供哪些額外的產(chǎn)品(如國際化的數(shù)據(jù)計(jì)劃)。

例如,他們可能會(huì)提取被取消賬單并分析客戶的歷史賬單。分析在客戶離開之前發(fā)生了什么?有什么共同的模式嗎?在他們轉(zhuǎn)到另一家供應(yīng)商之前,是否有很大一部分人透支了他們的數(shù)據(jù)并連續(xù)收到了三筆大額賬單?

一旦確定了這些模式,就可以采取積極主動(dòng)的步驟來保持他們的業(yè)務(wù)。例如,在客戶經(jīng)歷了兩次數(shù)據(jù)超支后,客戶代表就可以聯(lián)系他們,提供一個(gè)包含更多數(shù)據(jù)的不同計(jì)劃,以避免客戶流失。

要進(jìn)一步了解關(guān)于簡化數(shù)據(jù)庫設(shè)計(jì)和針對(duì)物聯(lián)網(wǎng)工作負(fù)載進(jìn)行優(yōu)化的硬件,可以查看Oracle提供的有關(guān)于此的白皮書。

來源:51CTO

猜你喜歡