国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

實(shí)現(xiàn)數(shù)據(jù)庫轉(zhuǎn)型的8項(xiàng)技術(shù)

2017-11-08 19:00:00PeterWayner
計(jì)算機(jī)世界 2017年42期
關(guān)鍵詞:數(shù)據(jù)庫節(jié)點(diǎn)

Peter+Wayner

編譯 楊勇

數(shù)據(jù)庫多年來一直是由行和列組成的表格,現(xiàn)在看來還會這樣下去。

什么是數(shù)據(jù)庫?很久以前,這很簡單。數(shù)據(jù)庫是一個現(xiàn)代的Bob Cratchit(狄更斯筆下的人物),把數(shù)據(jù)放在由非常直的列組成的表格中,每一列的每一行都有一個輸入。漫長而無盡的矩形顯示的信息會一直延伸下去。

關(guān)系型數(shù)據(jù)庫已經(jīng)成為現(xiàn)代計(jì)算的基礎(chǔ)。絕大多數(shù)網(wǎng)站都只是涂抹在SQL之上的一堆CSS。能讓我們感到有所不同的不過是在一張大表中又增加了一行。

隨著開發(fā)人員逐漸意識到并不是所有的東西都適合放到一張簡單的表中,人們對大矩陣式表格的熱情正在慢慢消退。而且開發(fā)人員非常聰明,熱衷于為每一需求尋找解決方案,他們開始創(chuàng)建更好、更新的方式來存儲信息。過去的幾年里,我們存儲數(shù)據(jù)的其他機(jī)制出現(xiàn)了爆炸式的增長。

這些非常棒的新選擇還是數(shù)據(jù)庫嗎?還是要把數(shù)據(jù)放到一些大的矩陣中才能成為數(shù)據(jù)庫嗎?有些人喜歡用“數(shù)據(jù)存儲”這個詞來區(qū)分現(xiàn)代機(jī)制,因?yàn)椤皵?shù)據(jù)庫”這個詞在我們的頭腦中已經(jīng)根深蒂固,認(rèn)為它就是一種舊的表結(jié)構(gòu)。讓我們把這些留給哲學(xué)家們吧。我們只是輸入數(shù)據(jù),然后得到答案。

這里介紹了以新形式和新表格重塑數(shù)據(jù)庫的8種方法。

GPU計(jì)算

很久以前,開發(fā)了視頻卡來為孩子們的游戲描繪出精美的場景,而現(xiàn)在所謂的圖形處理單元能夠進(jìn)行大量的非圖形處理任務(wù)。數(shù)據(jù)搜索只是這些處理單元能夠勝任的非圖形操作任務(wù)之一。挖掘大量的數(shù)據(jù)來尋找匹配,其本質(zhì)上就是并行操作,包括了很多重復(fù)數(shù)百萬次的基本的工作(測試等式)。因此,把工作交給GPU的數(shù)千個處理器,完成起來就會非常簡單。

最成功之處不是在于回答每一查詢(顯然要快很多倍),而是在準(zhǔn)備工作中,因?yàn)閹缀醪恍枰A(yù)處理。很多數(shù)據(jù)庫通過維護(hù)索引來節(jié)省時間,這實(shí)際上是針對每個可能搜索的預(yù)先計(jì)算結(jié)果。如果這個索引損壞了或者被破壞了,重建它可能需要幾個小時、幾天,甚至幾個月的時間。不過,如果數(shù)據(jù)可以放在GPU的內(nèi)存中,通常不需要索引就能夠得到數(shù)據(jù)。如果數(shù)據(jù)變化很快,大部分索引從未使用過,那么跳過預(yù)處理就能夠提高效率。

非易失性存儲器(NVRAM)

程序員50年前小試牛刀的時候就很容易做到這一點(diǎn)。他們不必采用精心設(shè)計(jì)的協(xié)議來處理RAM和硬盤之間的數(shù)據(jù),以確保一致性。這是因?yàn)楫?dāng)時的記憶體是鐵芯,當(dāng)電源關(guān)閉時數(shù)據(jù)并沒有被清除。這些好時光可能很快又會回來,因?yàn)樾酒圃焐陶谟懻撚肗VRAM,即非易失性存儲器來取代RAM。

對于數(shù)據(jù)庫程序員來說,這極大的改變了游戲規(guī)則,因?yàn)樗麄冏畲蟮奶魬?zhàn)(甚至是他們能繼續(xù)工作下去的最大原因)正在消失。有些人建議,數(shù)據(jù)庫可以更快一些,因?yàn)闀捳Z義能更簡單些。而有些人的想法則是在數(shù)據(jù)寫入介質(zhì)之后構(gòu)建恢復(fù)日志,而不是在寫入之前。

沒有人知道什么時候能塵埃落定。如果人們不再需要永久記錄,他們還會使用數(shù)據(jù)庫嗎?還是因?yàn)樾枰阉骱退饕俅问褂脭?shù)據(jù)庫?需要重新思考所有的算法和所有的架構(gòu)。今后未來十年左右,我們會知道使用NVRAM的最好方式。

擴(kuò)展SQL

當(dāng)NoSQL開始大規(guī)模應(yīng)用的時候,一個很大的特點(diǎn)是能夠把您的數(shù)據(jù)存儲擴(kuò)展到多個節(jié)點(diǎn)上。像Cassandra和MongoDB這樣的NoSQL數(shù)據(jù)庫,看起來具有所有大規(guī)模存儲的優(yōu)點(diǎn),意味著人們可能會放棄以前習(xí)慣了的SQL環(huán)境。

在現(xiàn)實(shí)中,這也不需要付出什么代價。雖然前期很容易在大型數(shù)據(jù)庫中進(jìn)行一些試驗(yàn)——因?yàn)樯釛壛薙QL的所有負(fù)擔(dān),但卻不能解釋SQL為什么不能在大規(guī)模運(yùn)行的多臺機(jī)器上正常工作。事實(shí)上,Oracle這樣的企業(yè)已經(jīng)做了很多年。

最新的大型數(shù)據(jù)庫允許您運(yùn)用所有SQL知識,方便地使用分布在大集群上的一組數(shù)據(jù)。例如,CockroachDB提供了一個標(biāo)準(zhǔn)的SQL查詢引擎,可以訪問多個節(jié)點(diǎn)上復(fù)制的數(shù)據(jù),并能夠保證ACID。是的,您需要為實(shí)現(xiàn)數(shù)據(jù)一致性的基本支持而付一些費(fèi)用,但比您預(yù)期的少很多。

地理空間數(shù)據(jù)庫

傳統(tǒng)的數(shù)據(jù)庫是建立在一維數(shù)據(jù)集上的,不支持含有地理信息的二維坐標(biāo)。您可以進(jìn)行模擬,使用標(biāo)準(zhǔn)數(shù)據(jù)庫,參照地理坐標(biāo)來完成基本任務(wù)。如果您一定要把經(jīng)度和緯度放在不同的列中,那么并不難搜索由一系列經(jīng)度和緯度定義的框架中的所有行。但是,一旦您想超越這個基本框架,標(biāo)準(zhǔn)SQL查詢就無能為力了。

地理空間數(shù)據(jù)庫增加了一些額外的功能,簡化了在二維空間中的搜索、排序和交叉。例如,空間索引一般通過在坐標(biāo)空間上添加一個網(wǎng)格來進(jìn)行工作,以便更快地搜索二維和三維環(huán)境中相鄰的行。

這些索引支持使用“包含”、“重疊”、甚至“觸摸”等操作以及由多邊形定義的集合來編寫查詢。所有這一切都使得對現(xiàn)實(shí)世界的推理更有效。

圖形數(shù)據(jù)庫

表是很多數(shù)據(jù)結(jié)構(gòu)很好的存儲庫,但卻不適合對一個巨大的、新興的數(shù)據(jù)結(jié)構(gòu)進(jìn)行建模,這一數(shù)據(jù)結(jié)構(gòu)推動了互聯(lián)網(wǎng)網(wǎng)絡(luò)過去10年的發(fā)展。當(dāng)所謂的“社交圖”爆發(fā)時,我們的計(jì)算機(jī)中有越來越多的節(jié)點(diǎn),并在它們之間建立了鏈接。節(jié)點(diǎn)之間的鏈接通常比其中的數(shù)據(jù)更重要。當(dāng)然,很容易在經(jīng)典關(guān)系型數(shù)據(jù)庫中存儲和檢索一對節(jié)點(diǎn)之間的鏈接,但卻難以進(jìn)行更復(fù)雜的查詢。在一個友誼網(wǎng)絡(luò)中,Bob經(jīng)過兩跳或者三跳就能到達(dá)Chris嗎?Mary在和她的一個朋友約會嗎?

圖形數(shù)據(jù)庫更容易進(jìn)行這樣的查詢。由于查詢知道怎樣查找鏈接指定的鄰域,因此,不會沒完沒了的去查找表。Neo4J、OrientDB和DataStax等工具便是眾多選擇中的一些實(shí)例。它們也有自己的查詢語言。

云數(shù)據(jù)庫

最大的變化之一在于我們怎樣購買數(shù)據(jù)庫軟件。過去,我們購買自己的機(jī)器,簽署許可協(xié)議,在我們自己的機(jī)器上運(yùn)行軟件。而現(xiàn)在,云公司提供服務(wù),把數(shù)據(jù)存儲在我們看不見也摸不著的地方。他們只是說,當(dāng)我們想要的時候,就會有數(shù)據(jù)。endprint

優(yōu)點(diǎn)是顯而易見的,不需要維護(hù)服務(wù)器,也不需要放置服務(wù)器的機(jī)房。沒有必要擔(dān)心許可、配置或者安裝補(bǔ)丁,讓別人去處理這些頭痛的問題。而且解決方案也很便宜——特別是如果您沒有存儲大量數(shù)據(jù)的話,服務(wù)通常按字節(jié)收費(fèi)。

但也有風(fēng)險。其他人能訪問數(shù)據(jù)嗎?服務(wù)器是否受到保護(hù),不受電源浪涌、閃電風(fēng)暴或者洪水的影響?數(shù)據(jù)是否備份到一個可信的異地位置?您不得不信任云供應(yīng)商所做的一切。

谷歌、微軟和亞馬遜等主要的云服務(wù)提供商提供了一長串的數(shù)據(jù)庫服務(wù)。現(xiàn)在,Oracle、MongoDB和DataStax也支持在云中提供數(shù)據(jù)庫。

人工智能(AI)

有人說,人工智能只是最新一代的研究成果,剛剛從實(shí)驗(yàn)室里出來投入生產(chǎn)。如果是這樣的話,有一些新產(chǎn)品和解決方案都有著“機(jī)器學(xué)習(xí)”、“神經(jīng)網(wǎng)絡(luò)”和“深度學(xué)習(xí)”等這樣的流行詞。這些看起來不像數(shù)據(jù)庫,但您的確向其填入數(shù)據(jù),問它們問題。為什么不是呢?人工智能解決方案的好消息是,您不需要知道您正在尋找什么。您可以揮動您的手,問一些模糊的問題,比如“最有趣的”或者“最親密的”。沒有必要使用正確的關(guān)鍵字,也就是客服人員總是要求您寫下的那些煩人的參考數(shù)字。

壞消息是您不知道是否得到了正確的答案,因?yàn)槟鷽]有精確地設(shè)定問題。這篇博客真的是最有趣的嗎?谷歌之所以成功,最大的秘訣就是沒有絕對正確的答案。如果您要求個大概,那么沒有人會抱怨。

有太多太多的機(jī)器學(xué)習(xí)工具包。您可以問問您最喜歡的搜索引擎,“最有趣”的人工智能是什么。

區(qū)塊鏈(Blockchain)

區(qū)塊鏈這個詞涉及到比特幣復(fù)雜的經(jīng)濟(jì)和政治問題,但在所有關(guān)于貨幣的討論中,其基礎(chǔ)都是極其穩(wěn)定和實(shí)用的分布式數(shù)據(jù)存儲。每個人都有機(jī)會更新長表中的數(shù)據(jù),每個人都可以分享答案。最令人興奮的是,每個人都可以分享相同的答案。這可能適合那些狂熱于比特幣的企業(yè)。

一些開發(fā)人員更進(jìn)一步,討論了“智能合同”,這是另一種說法,即數(shù)據(jù)庫中的信息是可信的,足以讓人們將其作為所有權(quán)之類的法律問題的基礎(chǔ)。您不能用一個普通的數(shù)據(jù)庫來做這件事,因?yàn)槿魏斡泄芾頇?quán)限的人都可以修改它。

但也有缺點(diǎn)。每個用戶必須有一個加密密鑰,所有的會話都必須經(jīng)過數(shù)字簽名。如果丟失或者忘記了密鑰,那些行中的數(shù)據(jù)會被永遠(yuǎn)凍結(jié)。如果密鑰被盜,那一切都完了。換句話說,區(qū)塊鏈?zhǔn)遣煌昝赖?,但它比?biāo)準(zhǔn)模型可靠。

R3、Ripple和IBM只是探索這一領(lǐng)域的眾多競爭者中的三家企業(yè)。很多大銀行都有自己的內(nèi)部項(xiàng)目。它們自己還有比特幣和山寨幣公司,這也是生態(tài)支持系統(tǒng)的主要組成。

Peter Wayner是InfoWorld的特約編輯,他撰寫了16本各種主題的書籍,包括開源軟件、自動汽車、增強(qiáng)隱私計(jì)算、數(shù)字交易和信息加密等。

原文網(wǎng)址:

http://www.infoworld.com/article/3226045/database/8-technologies-transforming-the-database.htmlendprint

猜你喜歡
數(shù)據(jù)庫節(jié)點(diǎn)
CM節(jié)點(diǎn)控制在船舶上的應(yīng)用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的門窗節(jié)點(diǎn)圖快速構(gòu)建
概念格的一種并行構(gòu)造算法
結(jié)合概率路由的機(jī)會網(wǎng)絡(luò)自私節(jié)點(diǎn)檢測算法
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
西峡县| 抚远县| 扶风县| 凌源市| 永昌县| 德格县| 奉贤区| 百色市| 广饶县| 阜康市| 新干县| 孟连| 绥中县| 庆元县| 辉县市| 东兰县| 韶山市| 双峰县| 炎陵县| 濮阳市| 宿州市| 泽州县| 东丽区| 洪洞县| 灵台县| 万源市| 长汀县| 哈巴河县| 舟山市| 新宾| 池州市| 秦皇岛市| 陕西省| 德清县| 名山县| 手机| 德州市| 广汉市| 泸水县| 汉中市| 纳雍县|