2月10日消息,十年前,亞馬遜云科技正式推出Amazon DynamoDB,一種快速、靈活的 NoSQL 數(shù)據(jù)庫(kù)服務(wù),可在任意規(guī)模環(huán)境中提供一致的個(gè)位數(shù)毫秒響應(yīng)時(shí)間。
亞馬遜首席技術(shù)官Werner Vogels曾表示:“我們非常高興推出Amazon DynamoDB,一種快速、可靠且具有成本效益的 NoSQL 數(shù)據(jù)庫(kù)服務(wù),專(zhuān)為互聯(lián)網(wǎng)規(guī)模的應(yīng)用程序而設(shè)計(jì)。” Amazon DynamoDB代表了亞馬遜在大型非關(guān)系型數(shù)據(jù)庫(kù)和云服務(wù)技術(shù)領(lǐng)域15年持續(xù)投入的成果。
亞馬遜云科技數(shù)據(jù)庫(kù)、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)副總裁Swami Sivasubramanian是Amazon DynamoDB開(kāi)發(fā)的主要貢獻(xiàn)者。
Amazon DynamoDB發(fā)布十年之際,Swami分享了Amazon DynamoDB的起源、前身以及未來(lái)。
以下為Swami分享內(nèi)容:
關(guān)于Dynamo的起源
Swami:我們?cè)?007年發(fā)表了Dynamo論文,探討這個(gè)話(huà)題之前,我們需要先追溯到2004、2005 年。那時(shí)我正在攻讀博士學(xué)位,(并隨后于2006年從阿姆斯特丹自由大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位),也在考慮我將在哪里工作??吹絹嗰R遜正在快速成長(zhǎng),并不斷突破常規(guī),打破界限,我選擇了以亞馬遜研究工程師實(shí)習(xí)生的身份加入亞馬遜。
那時(shí)亞馬遜云科技還不存在,加入亞馬遜后,我很快意識(shí)到作為一家電子商務(wù)公司,亞馬遜實(shí)際上也是一家科技公司。為了支持自身電子商務(wù)業(yè)務(wù)相關(guān)的各類(lèi)運(yùn)營(yíng)場(chǎng)景和工作負(fù)載,亞馬遜涌現(xiàn)出了大量創(chuàng)新技術(shù)、專(zhuān)利和發(fā)明,這種情形在全球任何一家公司都難得一見(jiàn)。
在亞馬遜擔(dān)任工程師時(shí),我和團(tuán)隊(duì)曾在假期流量高峰期間經(jīng)歷過(guò)一次嚴(yán)重的擴(kuò)展失敗。這是由數(shù)據(jù)庫(kù)事務(wù)死鎖而導(dǎo)致的,其背后正是亞馬遜當(dāng)時(shí)使用的商業(yè)關(guān)系型數(shù)據(jù)庫(kù)。故障發(fā)生后,我們一群工程師們一起編寫(xiě)了一份錯(cuò)誤更正文檔,對(duì)發(fā)生了什么、學(xué)到了什么、如何解決問(wèn)題以及如何避免問(wèn)題再次發(fā)生等進(jìn)行了詳細(xì)說(shuō)明。
我當(dāng)時(shí)問(wèn)了一個(gè)問(wèn)題:“為什么我們要為這些工作負(fù)載使用關(guān)系型數(shù)據(jù)庫(kù)?本質(zhì)上,它們并不需要 SQL 級(jí)別的復(fù)雜性和事務(wù)保證。”
這導(dǎo)致我們開(kāi)始重新思考如何設(shè)計(jì)底層數(shù)據(jù)存儲(chǔ)。當(dāng)時(shí),還沒(méi)有可伸縮的非關(guān)系型數(shù)據(jù)庫(kù),這是我們開(kāi)始著手搭建Amazon Dynamo原型并撰寫(xiě)論文的原因。事實(shí)上,Amazon Dynamo并不是工程師們當(dāng)時(shí)唯一思考和研究的架構(gòu)。我們意識(shí)到我們還需要一個(gè)可擴(kuò)展的存儲(chǔ)系統(tǒng),Amazon S3就誕生于此。同時(shí),還需要一個(gè)更易于管理的關(guān)系型數(shù)據(jù)庫(kù),能夠自動(dòng)進(jìn)行復(fù)制、故障切換和備份/恢復(fù),這也是Amazon RDS的由來(lái)。
最初撰寫(xiě)Dynamo論文時(shí),我們就定了一條規(guī)則,即“在開(kāi)發(fā)原始設(shè)計(jì)時(shí)不對(duì)外發(fā)布”,而是先將Dynamo運(yùn)行于支持多個(gè)Amazon.com服務(wù)的實(shí)際生產(chǎn)環(huán)境中。這樣,Dynamo論文就會(huì)是一種端到端的可用方案,并有實(shí)際應(yīng)用經(jīng)驗(yàn)。Werner和我對(duì)此感受非常強(qiáng)烈,因?yàn)槲覀儾幌M麅H僅撰寫(xiě)一篇學(xué)術(shù)論文而已。10年后,我們非常榮幸的是Dynamo論文還獲得了ACM的時(shí)間考驗(yàn)獎(jiǎng),這是由ACM主辦的The SIGOPS Hall of Fame Award,從2016年開(kāi)始評(píng)選過(guò)去十年科技圈最具影響力的論文名人堂。
構(gòu)建Amazon DynamoDB的初衷及其過(guò)去十年的演進(jìn)
Swami:Amazon DynamoDB背后的想法來(lái)自于與SmugMug、Flickr等客戶(hù)首席執(zhí)行官的對(duì)話(huà)和討論。他們是最早帶有互聯(lián)網(wǎng)屬性的公司,而在當(dāng)時(shí)類(lèi)似這樣的互聯(lián)網(wǎng)公司正在快速走向市場(chǎng)。他們的典型特征包括在線(xiàn)用戶(hù)數(shù)量呈爆炸式增長(zhǎng)、數(shù)據(jù)模式不固定,追求快速交付和輕運(yùn)維等。傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)將所有數(shù)據(jù)存儲(chǔ)在一個(gè)盒子中,無(wú)法高效地?cái)U(kuò)展,這迫使用戶(hù)需要對(duì)其數(shù)據(jù)庫(kù)重新分片,然后還需要管理所有的分區(qū)和重新分區(qū)等,這讓用戶(hù)面臨巨大的運(yùn)維挑戰(zhàn)和壓力。
這對(duì)我們來(lái)說(shuō)并不新鮮,構(gòu)建原始Amazon Dynamo的初衷正是應(yīng)對(duì)這些挑戰(zhàn)。當(dāng)時(shí),Amazon Dynamo還不是一項(xiàng)服務(wù),而是一個(gè)由亞馬遜工程師構(gòu)建的軟件系統(tǒng)。在一次客戶(hù)咨詢(xún)會(huì)議上,時(shí)任Flickr 首席執(zhí)行官Don MacAskill表示:“你們已經(jīng)啟用了 Amazon Dynamo,驗(yàn)證了可擴(kuò)展非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)的可行性,為什么不能把它作為外部服務(wù)提供給我們使用?”
當(dāng)時(shí),所有亞馬遜云科技的相關(guān)管理人員都在場(chǎng),實(shí)際上,這也是我們問(wèn)自己的一個(gè)問(wèn)題。Flickr并不是唯一需要它的客戶(hù),越來(lái)越多的客戶(hù)想要可擴(kuò)展的數(shù)據(jù)庫(kù),無(wú)需處理分區(qū)和重新分區(qū)等復(fù)雜的運(yùn)維工作,同時(shí)他們還需要極高的可用性。于是,我們開(kāi)始認(rèn)真思考構(gòu)建一個(gè)不受SQL API限制的、可擴(kuò)展的云數(shù)據(jù)庫(kù)。
Amazon DynamoDB與原始Amazon Dynamo不盡相同,它實(shí)際上是通過(guò)幾個(gè)原始Amazon Dynamo組件搭建的一項(xiàng)易于使用的云服務(wù)??蛻?hù)不再需要配置集群,只需創(chuàng)建一個(gè)表存儲(chǔ)數(shù)據(jù),即可輕松實(shí)現(xiàn)無(wú)縫縮放。管理員不必執(zhí)行任何操作,甚至無(wú)需安裝單個(gè)庫(kù)來(lái)操作數(shù)據(jù)庫(kù)。
Amazon Dynamo到Amazon DynamoDB的演變非常重要,亞馬遜真正以前所未有的方式擁抱云,獲得它的彈性和可擴(kuò)展性。
我們?cè)?012年1月18日正式發(fā)布Amazon DynamoDB,該服務(wù)一經(jīng)推出就大受歡迎,F(xiàn)lickr等公司率先使用該服務(wù)。Amazon DynamoDB強(qiáng)大的彈性、個(gè)位數(shù)毫秒的延遲性能等深受客戶(hù)青睞。我們進(jìn)行了大量創(chuàng)新,從協(xié)議層一直到SSD存儲(chǔ)的底層存儲(chǔ)層等各項(xiàng)功能。
這里不得不提的一個(gè)有趣的用例,也是最早將DynamoDB投入生產(chǎn)的客戶(hù)之一,他們做的是超級(jí)碗(Super Bowl:全國(guó)橄欖球聯(lián)盟決賽——全美直播的體育界春晚)廣告投放。因?yàn)锳mazon DynamoDB具備強(qiáng)大的彈性,可以無(wú)縫地?cái)U(kuò)展到每秒100,000次寫(xiě)入,并在超級(jí)碗活動(dòng)結(jié)束后縮減,這樣客戶(hù)就不會(huì)擔(dān)心產(chǎn)生額外的成本。當(dāng)年,這在技術(shù)領(lǐng)域是個(gè)大事?,F(xiàn)在大家習(xí)以為常的橫向擴(kuò)展與彈性,對(duì)當(dāng)時(shí)的數(shù)據(jù)庫(kù)而言,那是無(wú)法想象的。
那是一個(gè)大膽的設(shè)想。Amazon DynamoDB專(zhuān)為云而構(gòu)建的架構(gòu)讓所有橫向擴(kuò)展用例成為可能。現(xiàn)在,Amazon DynamoDB正為多個(gè)高流量Amazon站點(diǎn)和系統(tǒng)提供支持,包括 Alexa、亞馬遜全球電商網(wǎng)站和所有亞馬遜運(yùn)營(yíng)中心。2021年,在亞馬遜長(zhǎng)達(dá)66小時(shí)的Prime會(huì)員日大促期間,上述站點(diǎn)和系統(tǒng)進(jìn)行了數(shù)萬(wàn)億次API調(diào)用,Amazon DynamoDB以低至個(gè)位數(shù)毫秒延遲的高性能表現(xiàn),無(wú)感支持峰值達(dá)每秒8,920萬(wàn)個(gè)請(qǐng)求,同時(shí)確保系統(tǒng)的高可用性。
Amazon DynamoDB自2012年問(wèn)世以來(lái),我們?yōu)槠湓黾恿舜罅縿?chuàng)新功能,不僅涉及底層可用性、持久性、安全性和規(guī)模等特性,還包括易用性等。
Amazon DynamoDB不止步于鍵值存儲(chǔ),還支持基于哈希的分區(qū)和基于范圍的分區(qū),并且增加了對(duì)二級(jí)索引的支持,支持更復(fù)雜的查詢(xún)功能,同時(shí)不影響規(guī)模或可用性。
現(xiàn)在,Amazon Kinesis Data Streams也適用于Amazon DynamoDB,捕獲可擴(kuò)展的流式數(shù)據(jù)。我認(rèn)為任何數(shù)據(jù)庫(kù)都不應(yīng)該是孤島,更不能是死胡同。它應(yīng)該支持生成變化的數(shù)據(jù)流,然后將這些數(shù)據(jù)流連接到分析應(yīng)用程序或其他數(shù)據(jù)存儲(chǔ)。
同時(shí),我們也針對(duì)備份和恢復(fù)等功能全面創(chuàng)新。對(duì)于像Amazon DynamoDB 這樣具有數(shù)百萬(wàn)個(gè)分區(qū)的大型數(shù)據(jù)庫(kù)系統(tǒng)而言,備份和恢復(fù)并非易事,我們致力于通過(guò)創(chuàng)新讓客戶(hù)獲得更好的體驗(yàn)。
我們還為Amazon DynamoDB添加了創(chuàng)建全局表的功能,以便客戶(hù)可在輕松實(shí)現(xiàn)數(shù)據(jù)庫(kù)負(fù)載全球覆蓋的同時(shí),獲得近乎本地運(yùn)行的讀寫(xiě)性能。此外,Amazon DynamoDB還擴(kuò)展了事務(wù)處理能力。所有這些創(chuàng)新都致力于不斷提升Amazon DynamoDB的可用性和可擴(kuò)展性。
我們同時(shí)致力于為客戶(hù)提供更高的成本效益??蛻?hù)通常需要長(zhǎng)期存儲(chǔ)數(shù)據(jù),雖然這些舊數(shù)據(jù)可能很少被訪問(wèn),但它必須保持高度可用,以便不時(shí)之需。例如,社交媒體用戶(hù)很少訪問(wèn)舊的內(nèi)容和圖片,但一旦有這類(lèi)訪問(wèn)請(qǐng)求,需要確??梢粤⒓礊橛脩?hù)提供這些內(nèi)容。這種不經(jīng)常訪問(wèn)的數(shù)據(jù)可能會(huì)給客戶(hù)帶來(lái)高昂的存儲(chǔ)費(fèi)用,而且這類(lèi)數(shù)據(jù)的數(shù)量還在不斷增長(zhǎng)。過(guò)去,為了優(yōu)化成本,客戶(hù)會(huì)通過(guò)編寫(xiě)代碼的方式,將舊的、訪問(wèn)頻率較低的數(shù)據(jù)從Amazon DynamoDB 移動(dòng)到存儲(chǔ)成本較低的如Amazon S3中。
在2021 re:Invent全球大會(huì)上,我們推出了Amazon DynamoDB Standard-Infrequent Access表類(lèi),一種新的經(jīng)濟(jì)高效的表類(lèi),用于存儲(chǔ)不經(jīng)常訪問(wèn)的數(shù)據(jù),同時(shí)保持Amazon DynamoDB的高可用性和性能。
不忘初心,我們始終將DynamoDB的最初愿景作為指引,持續(xù)創(chuàng)新,為客戶(hù)提供更易于查詢(xún)的用例,支持進(jìn)行復(fù)雜全局事務(wù)復(fù)制等,不斷擴(kuò)展能力范圍,同時(shí)持續(xù)優(yōu)化管理成本。
展望Amazon DynamoDB的未來(lái)十年
Swami:十年前,當(dāng)我們推出Amazon DynamoDB 時(shí),客戶(hù)才剛剛開(kāi)始對(duì)云本身有了更好的理解,它的好處是什么,可以做什么。
如今,就客戶(hù)構(gòu)建IT應(yīng)用程序而言,云已經(jīng)成為的新常態(tài),規(guī)模也是新常態(tài),每個(gè)應(yīng)用程序都需要基于不確定性構(gòu)建。我們將繼續(xù)代表客戶(hù)進(jìn)行創(chuàng)新,Amazon DynamoDB本身也在這個(gè)持續(xù)變革的旅程中。我們將繼續(xù)朝著端到端的現(xiàn)代化數(shù)據(jù)戰(zhàn)略邁進(jìn)。正如之前提到的,數(shù)據(jù)庫(kù)不應(yīng)該是孤島。
客戶(hù)將不再只想在數(shù)據(jù)庫(kù)中存儲(chǔ)和查詢(xún)數(shù)據(jù),他們需要分析這些數(shù)據(jù)來(lái)創(chuàng)造價(jià)值,無(wú)論是通過(guò)創(chuàng)建更好的個(gè)性化推薦引擎,還是使用機(jī)器學(xué)習(xí)運(yùn)行預(yù)測(cè)分析的預(yù)測(cè)系統(tǒng)。將數(shù)據(jù)流點(diǎn)對(duì)點(diǎn)無(wú)縫連接,并繼續(xù)讓Amazon DynamoDB更安全、高可用,性能更強(qiáng)且易于使用,這些都將是我們永無(wú)止境的追求。
- 蜜度索驥:以跨模態(tài)檢索技術(shù)助力“企宣”向上生長(zhǎng)
- 百川智能發(fā)布全鏈路領(lǐng)域增強(qiáng)金融大模型Baichuan4-Finance,整體準(zhǔn)確率領(lǐng)先GPT-4o近20%
- 央視曝光未成年人可輕松繞開(kāi)“防沉迷”系統(tǒng):租號(hào)玩游戲最低僅需4元
- 知乎發(fā)布2024“年度十問(wèn)”:《黑神話(huà):悟空》、諾貝爾物理學(xué)獎(jiǎng)等問(wèn)題在列
- 李斌回應(yīng)螢火蟲(chóng)三重奏大燈設(shè)計(jì):沒(méi)有參考iPhone
- 一周熱點(diǎn)匯總:特斯拉下月量產(chǎn)改款Model Y,阿里“甩賣(mài)”銀泰
- 蔚來(lái)第三品牌firefly螢火蟲(chóng)首款車(chē)型正式亮相 預(yù)售價(jià)14.88萬(wàn)元
- 首發(fā)線(xiàn)控轉(zhuǎn)向等多項(xiàng)技術(shù) 蔚來(lái)旗艦車(chē)型ET9正式上市:78.8萬(wàn)元起
- 網(wǎng)信辦:從嚴(yán)打擊網(wǎng)上侵害未成年人合法權(quán)益行為
- 豆包大模型全面升級(jí),相關(guān)概念股瘋漲,字節(jié)發(fā)布緊急警示
- “小紅書(shū)封號(hào)”沖上熱搜,小米YU7無(wú)偽裝實(shí)車(chē)首次曝光
免責(zé)聲明:本網(wǎng)站內(nèi)容主要來(lái)自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書(shū)面權(quán)利通知或不實(shí)情況說(shuō)明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開(kāi)相關(guān)鏈接。