在區塊鏈的TPS後加多少個零才能看齊亞馬遜? - 冷萃財經

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?
文章摘要:無論你對區塊鏈的未來飽含多大的熱情,對區塊鏈的技術抱有多高的希冀,TPS都是一個硬指標,橫亘在那裡,不高不低。TPS不偏不倚的展現著區塊鏈世界相較於互聯網世界的差距。

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

無論你對區塊鏈的未來飽含多大的熱情,對區塊鏈的技術抱有多高的希冀,TPS都是一個硬指標,橫亘在那裡,不高不低。TPS不偏不倚的展現著區塊鏈世界相較於互聯網世界的差距。

幾乎所有現實世界中的商用,包括但不限於支付,電子商務,遠程遙測,業務流程工作流,供應鏈和運輸物流,都需要很大的帶寬來處理其當前的業務數據需求,更不用說未來的科技對處理速度的需求。

那麼,到底目前成熟的商業應用需要多大的TPS?

通過查看Amazon的2019 Prime Day統計數據,筆者發現在Prime Day的48小時內, DynamoDB 的API進行了7.11萬億次調用,峰值為每秒4540萬次請求。也就是說亞馬遜DynamoDB的TPS 達到了4540萬/秒。

每秒4500萬次請求。這個處理能力比特幣或以太坊還多六個零。這僅僅是亞馬遜一家公司的流量,是全球流量的一部分。DynamoDB在高峰期實際執行的TPS甚至比上述數字還要高。

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

理想與目標之間的差距……並不僅限於此。如果您想在現實世界中的電子商務環境中使用區塊鏈,並希望它以多線程的方式支持多家公司,希望它替代舊的資料庫系統——一個稍微靠譜的目標要達到每秒1.4億筆交易。

距離現今的TPS還有七個數量級。

對於如此魔鬼級別的TPS到底是何方神聖呢?我們先來梳理一下亞馬遜DynamoDB的前世今生——

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

事情最初可以追溯到2004年。亞馬遜那時候還在使用著 Oracle 帶有集群與備份的企業級資料庫。開發團隊一直在努力構建在當時佔據領先地位的商業資料庫,但卻無法滿足亞馬遜業務持續增長帶來的可用性、可擴展性以及性能需求。

彼時,基於 Oracle 運行的資料庫已是不堪重負,於是亞馬遜團隊開始評估是否可以開發一款定製的資料庫來滿足長期商業需求。於是他們優先專註於那些能夠支持亞馬遜購物車等大規模、任務關鍵型服務的要求。同時,團隊也大膽提出傳統關係型資料庫可替代的假設,如強一致性的要求。他們的目標是開發有著無限擴展性、一致性能以及高可用性的資料庫,從而促進業務的快速發展。

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

亞馬遜對當時資料庫的使用方式進行了深入研究,發現其對資料庫的關係型能力需求並不頻繁。大約70%的操作都是鍵-值類操作——僅使用一個主鍵,返回一個單行數據。大約20%的操作會返回一組行數據,但是也仍然位於單個表上。

基於這些要求以及對當前現狀的質疑,一個規模並不大的分散式系統領域專家團隊合作設計了一款可以同時支持讀寫擴展的橫向擴展型分散式資料庫,來滿足長期業務需求。這就是亞馬遜 Dynamo 資料庫的起源。

基於 Dynamo 資料庫前期取得的成功,亞馬遜發表了Dynamo白皮書,並在2007年 ACM 操作系統原理會議(SOSP)上發表,希望可以讓業界同行從中獲益。這篇白皮書得到了業界的廣泛認可,並催生了當今眾所周知的 NoSQL 分散式資料庫技術。

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

《Dynamo: Amazon's Highly Available Key-value Store》文章節選

當然,沒有哪項技術變革是在封閉的環境中發生的,與此同時,在 NoSQL 演進的過程中,雲計算技術也在向前發展。隨著 AWS 的發展,亞馬遜開始著手基於原有的 Dynamo 設計架構打造一項全面託管型 AWS 資料庫服務。並於2012年1月正式發布了 Amazon DynamoDB。這項基於雲端的 NoSQL 資料庫服務可在滿足安全性、可用性、高性能以及可管理性的同時,支持運行超大規模的關鍵性作業任務。

在區塊鏈的TPS後加多少個零才能看齊亞馬遜?

今天,DynamoDB 正在驅動那些讓傳統資料庫難以承載的新一代高性能、互聯網規模應用。Lyft、Tinder 和 Redfin 等互聯網巨頭以及 Comcast、Under Armor、寶馬、 Nordstrom 和豐田等大型企業都在依靠 DynamoDB 的可擴展性和高性能來為自身的關鍵作業任務保駕護航。

Lyft 使用 DynamoDB 儲存所有車輛的位置信息;

Tinder 使用它來存儲百萬用戶信息以及完成數十億次的搜索匹配;

Redfin 使用它來存儲百萬用戶信息,並管理數以億計的房產數據;

Comcast 使用它來驅動運行於2000多萬台設備上的 XIFINITY X1 視頻服務;

寶馬使用它來打造了「車感測(CARASSO)」服務,可在24小時內實現兩個數量級的服務規模變化;

Nordstrom 在推薦系統中使用 DynamoDB,使得處理時間從20分鐘降至短短几秒;

Under Armour 使用它支持擁有2億用戶的互聯健身社區;

豐田賽車部門基於 DynamoDB 制定有關進站、輪胎更換、比賽策略的實時決策;

此外還有超過10萬的 AWS 客戶在各種這樣的大規模、高性能應用中使用 DynamoDB。

基於大量的客戶實踐,DynamoDB 已經實現了它的設計初衷。

現在讓我們看一下技術。

在我們考慮下一代區塊鏈架構時,是否可以從成功擴展的分散式系統(例如DynamoDB)中收集設計靈感和經驗呢?

應用程序層分片

與NoSQL資料庫的API相比,在區塊鏈中採取的合約可以更強的以合約為中心,但是讓應用程序確定哪些交易需要全部執行還是部分執行還是不需要執行,這一點至關重要。

路由很重要

單靠網路路由無法將區塊鏈速度提高7個數量級。

基本硬體的重要性

絕大多數區塊鏈節點都在雲中運行,但區塊鏈開發人員幾乎忽略雲的存在,忽視了對雲伺服器的優化。這讓區塊鏈在性能上與互聯網有了很大的差距。在像DynamoDB這樣的系統中,每一行代碼都已經過優化,可以在雲中良好運行。但如果沒有針對雲服務進行專門優化,區塊鏈將在每筆交易中都浪費性能和成本。

通過將區塊鏈與當今商業世界中最高頻使用、最重要意義的分散式演算法進行比較,我們可以學到很多東西。只有願意從相關領域和應用程序中學習和改變想法,區塊鏈和加密貨幣才能成長成為當初被設定的代表人類崇高理想的樣子。

冷萃財經原創,作者:Awing,轉載請註明出處:https://www.lccjd.top/2019/10/14/%e5%9c%a8%e5%8c%ba%e5%9d%97%e9%93%be%e7%9a%84tps%e5%90%8e%e5%8a%a0%e5%a4%9a%e5%b0%91%e4%b8%aa%e9%9b%b6%e6%89%8d%e8%83%bd%e7%9c%8b%e9%bd%90%e4%ba%9a%e9%a9%ac%e9%80%8a%ef%bc%9f/?variant=zh-tw

0

掃一掃,分享到微信

猜你喜歡

文章評論

電子郵件地址不會被公開。 必填項已用*標註

後發表評論

    上一篇

    李向午:走勢震蕩上行,有望再度突破

    下一篇

    「殺不死」的USDT?

    微信公眾號

    微信公眾號