簡介
11月13日,ElonMusk為Twitter進行了1000多次RPC來呈現用戶的主頁時間線而道歉。乍一看,如此大量的RPC似乎很荒謬。如今,Twitter每月為2.6億活躍用戶提供服務,并且可以近乎實時地提供服務。為了解決亞秒級延遲的大規模采用問題,Twitter率先推出了許多解決方案,包括ApacheStorm、Heron、DistributedLog和Aurora。他是Scala的主要貢獻者,包括finagleRPC框架,以及lambda架構、SnowflakeID和Segcache等創新。那么,為什么像Twitter這樣的創新型全球化公司需要如此多的調用來獲取用戶的時間線數據?
Twitter所面臨的問題讓我們想起了當前Web3中不斷增長的煩惱:開發者常常被迫一個接一個地連續調用許多API來獲取組裝業務邏輯的數據。這會導致性能不可靠且不可預測,即使對于最簡單的用例也是如此,例如獲取用戶的交易歷史記錄。就增長而言,前十大公鏈的交易量在兩年內翻了100倍。在圖1中,我們展示了每秒推文數量和每秒Web3交易數量之間的比較。如果Web3繼續沿著圖中描繪的軌跡發展,那么當今大多數Web3數據基礎設施解決方案將無法應對增長。
圖1:推文與Web3排名前10的鏈早期寫流量QPS對比。
比特幣礦企HIVE Blockchain3月共產出282枚比特幣:4月17日消息,HIVE Blockchain3月共產出282枚比特幣,截至3月31日共持有2310枚比特幣。截至3月31日,HIVE Blockchain運行的總算力為3.36EH/s。[2023/4/17 14:08:45]
在這篇博文中,我們將重點介紹Web3可以從Twitter的擴展解決方案中學到什么。具體來說,我們討論以下內容:
?我們概述了Twitter的時間線基礎設施之旅,認為他們當前的架構確實對特定用例有意義,并得出結論,一些批評可能是錯誤的,例如ElonMusk最近的推文為渲染主頁時間線的大量RPC道歉。
?我們深入研究Twitter和Web3之間的技術相似性,并探索前者的解決方案如何使后者的解決方案受益。
?我們分析了當前的Web3增長趨勢,以及缺乏現有的高性能數據基礎設施解決方案,并得出結論,如果我們想要支持實時Web3數據訪問,則需要進行重大升級,以及ZettaBlock解決方案如何幫助開發人員減少70%的開發時間,并將性能提高10倍,演示可以在這里找到
Twitter的數據基礎架構之旅
一開始,Twitter使用VanillaMySQL。這很快成為了一個問題,因為在最初的幾年里,推文的數量每年增長10倍。從2007年到2012年,Twitter的月活躍用戶從幾千人增長到超過1.38億。已知的水平和垂直切分的知識無法為Twitter處理高流量的性能,尤其是在渲染主頁時間線方面。
幣安將向土耳其地震地區的用戶空投價值100美元的BNB:2月7日消息,為了應對近期土耳其地震造成的破壞,幣安宣布將向所有被確定居住在受災最嚴重地區的幣安用戶空投價值 100 美元(1883 土耳其里拉)的 BNB。用戶身份的確定將基于 2 月 6 日之前在地震產生重大影響的 10 個城市完成的地址證明 (POA),包括:Kahramanmara?、Kilis、Diyarbak?r、Adana、Osmaniye、Gaziantep、?anl?urfa、Ad?yaman、Malatya 和 Hatay。估計捐款總額將約為 500 萬美元(或 94,000,000 土耳其里拉)。[2023/2/8 11:53:17]
時間線是Twitter的主要平臺功能之一。一般來說,Twitter的時間線主要有兩個操作,具體如下:
1.寫入路徑:該路徑用于用戶發布推文。2012年,Twitter平均每秒處理4.6萬個寫入請求,在高峰時段處理1.2萬個RPS。
2.讀取路徑:此路徑用于用戶請求他們的時間線。2012年,Twitter每秒處理大約30萬次讀取請求。
為了更好地理解Twitter如何呈現時間線,讓我們更深入地研究呈現流程,如圖2所示。當Twitter用戶今天發布一條推文時,Twitter首先將其寫入Manhattan,一個分布式鍵值數據庫,用于存儲用戶推文、直接消息、帳戶詳細信息等。該推文在時間線緩存中向該用戶的所有關注者展開。雖然這將寫入放大從每秒4.6k請求增加到每秒345k請求,但它也大大降低了用戶的讀取延遲。因此,時間線渲染不是在關注者和推文之間做一個連接表,而是從緩存中的單個表中獲取推文。這些操作通常在不到5秒的時間內完成。通過分布正在寫入的數據,系統可以通過刪除表連接來避免過度增長。因此,讀取延遲被改進到幾百毫秒。
以太坊開發者:擴容解決方案EIP-4844的Devnet 3將于11月30日發布:11月25日消息,以太坊開發者、Arbitrum研發團隊的terence.eth發推稱:“今天,我們正在密切合作,在Capella 硬分叉之上重新構建EIP-4844,添加所有新的網絡更改,并集成新的KZG庫。我們很高興為EIP-4844啟動Devnet 3,計劃于11月30日發布。Arbitrum完全支持EIP-4844并且相信以Rollup為中心的路線圖。由于它將通過降低數據gas費用從4844中獲益,因此會有很大的協同作用。”
據悉,EIP-4844由Coinbase、Prysm以及Worldcoin的開發人員聯手測試、實施和發布,該提案建議用proto-danksharding代替擴容解決方案Danksharding。該提案致力于在尚未實際實施任何分片的情況下,部署構成完整Danksharding規范的大部分邏輯和交易格式及驗證規則。Arbitrum開發商Offchain Labs于今年10月份收購了Prysm核心工程團隊Priysmatic Labs。
此前今日早些時候消息,EIP-4844等8項EIP納入時間未定的以太坊上海升級考慮范圍,讓EIP“考慮納入”(CFI) 意味著開發人員將致力于制定這些提案,并將通過開發者網絡(Devnet) 的測試運行它們。然而,不能保證所有這些提議最終都會被納入上海升級。[2022/11/25 12:34:03]
Do Kwon、Terraform Labs等遭到集體訴訟,指控其出售未經注冊的證券:6月19日消息,根據一份文件,周五,Do Kwon、Terraform Labs(TFL)等被提起集體訴訟,指控其出售未經注冊的證券,并就UST穩定幣和相關代幣LUNA的穩定性做出虛假陳述,以誘導投資者購買它們。
案件中提到的其他被告包括Jump Crypto、Jump Trading、Republic Capital、Republic Maximal、Tribe Capital、DeFinance Capital(這似乎是一個拼寫錯誤,因為TFL沒有這個相關聯的公司)、DeFinance Technologies(可能是另一個拼寫錯誤)、GSR Markets、Three Arrows Capital和Nicholas Platias。
訴訟稱,盡管Terra代幣具有投資合同的所有特征,因此是“符合Howey測試的證券”,“但沒有向SEC提交注冊聲明。”
該訴訟還稱,LFG的成員代表TFL促進了UST的穩定,并誤導投資者相信可用的儲備池將足以抵御“眾所周知的UST/ LUNA投資者對銀行的擠兌”。然而,在5月6日至5月9日之間,Terra生態系統特有的結構性缺陷“暴露了UST/LUNA交易對真相”。(The Block)[2022/6/19 4:37:54]
圖2:Twitter的時間線渲染流程。請注意,時間線中的每條推文都需要至少一個RPC。
前面提到的渲染流程對于絕大多數用戶來說可能已經足夠了,但是“超級中心用戶”呢?超級中心用戶是指擁有眾多粉絲的用戶。所描述的扇出模式,在超級中心用戶的情況下,可以放大1.2億倍!這就是為什么在Twitter的早期,有專門為賈斯汀·比伯(JustinBieber)提供的專用服務器機架。為了容納超級中心用戶,使用了一種稱為Earlybird的特殊服務。在Earlybird中,超級中心用戶和普通用戶分別獲取不同的推文。這個過程如下面的圖3所示。
法國議員呼吁承認DAO和NFT的法律地位:金色財經報道,即將離任的法國國民議會議員Pierre Person在其發布的一份報告中表示,法國應該在其法律體系中承認去中心化自治組織 (DAO) 和NFT的法律地位,并抨擊歐洲加密貨幣監管,他說歐洲加密貨幣監管的做法在很大程度上是防御性的。
此外,Person還表示,如果銀行拒絕為加密貨幣客戶提供服務,則應處以罰款,并提議禁止基于化石燃料的加密貨幣開采。(coindesk)[2022/6/8 4:11:05]
圖3:左側描繪了Twitter用戶混合時間線的抽象說明,右側描繪了相應的讀取SQL。
既然我們已經描述了提供實時推文時間線背后的復雜性,那么為什么單個時間線渲染需要許多RPC就很清楚了。例如,對于只有100條推文的時間線,RPC調用很容易超過1000次,因為僅僅獲取一條推文就需要多次RPC調用。該解決方案乍一看可能并不直觀,但它是一種經過深思熟慮的權衡,旨在為最終用戶提供優化且可預測的讀取性能。
Twitter實現的最終結果非常積極:99%的延遲只有幾百毫秒左右。在過去的10年里,這種基礎架構已經被證明是可靠的,可以在沒有重大變化的情況下處理Twitter流量的高速增長。
請注意,我們忽略了Twitter時間線的其他方面,包括評分、排名等。有關這方面的更多詳細信息,請參閱本文末尾列出的參考資料。
Web3和Twitter數據的相似之處
圖4:Twitter和Web3數據的相似之處
Twitter和Web3生態系統有很多相似之處:
1.Web3是一個社交圖譜,推文類似于交易,回復類似于日志。圖4描述了這一點,其中比較了順序時間線渲染和順序區塊鏈的塊。
2.Web3協議和Twitter存在超級中心效應。最受歡迎的NFT平臺的交易量是第10個平臺的1000倍。
3.Web3和twitter都是開放平臺,對所有用戶可見,并允許某些API訪問。
如果我們放大一點,Twitter和Web3之間的數據訪問模式有更多相似之處:
1.讀取量大,但每條記錄很小。在EVM鏈上,日志和交易的平均大小只有幾KB。
2.最新數據將被更頻繁地查看,其中大部分查看來自發布后的前幾個小時。
3.數據在短時間是不可變的。鏈上數據可以通過reorg恢復最新的區塊。同樣,現在用戶可以在發布后的一段時間內編輯推文。
Web3可以從Twitter的架構中學到什么
與2020年初相比,前10大鏈的交易量已經增長了近100倍。Web3數據基礎設施的現狀類似于2008年前后的Twitter早期,當時大部分流量依賴于來自不同提供商的水平分片數據庫。因此,隨著Web3的持續增長,現有的Web3數據基礎設施將很難提供對數據的高性能訪問。
來自Twitter的扇出服務是將相關數據同時放在同一位置。這樣,當一個請求到來時,系統可以很容易地在一個地方找到相關數據,這導致數據已經被預處理并可以使用。這使得系統具有可擴展性,和可預測的性能。
遵循當前現狀的Web3應用程序缺少一個重要的組件來有效地聚合相關數據。具體來說,開發者必須一個一個地調用API來獲取數據。即使對于最簡單的用例,例如獲取用戶的交易歷史記錄,這也會導致性能不可靠且不可預測。
圖5:當前的Web3應用程序需要如何連續調用許多不同的API,即使是簡單的事務聚合。
由于所有Web3數據都是公開可用的,ZettaBlock構建了最先進的數據基礎設施來處理所有Web3開發人員的扇出部分。應用程序開發人員只需通過一個API指定他們想要查詢哪些相關數據,然后讓ZettaBlock聚合所有相關數據。如圖6所示。通過使用ZettaBlock,開發時間和API延遲分別減少了70%和90%。在https://demo.zettablock.dev/查看我們的演示。更多的技術細節將在未來分享。
圖6:與圖5相比,ZettaBlock將多個Web3數據集抽象為一個簡單、用戶友好且高效的API。
結論
在這篇博文中,我們剖析了Twitter的架構,并將其數據模型與Web3進行了比較,發現了許多相似之處。如果我們能得到一個信息,那就是許多現有的Web3數據基礎設施解決方案,就像早期的Twitter一樣,將無法跟上即將到來的數據需求。
這就是我們構建ZettaBlock的原因。ZettaBlock是一個全棧式Web3數據基礎設施平臺,可提供實時、可靠的API和分析,在幾分鐘內為您的應用程序提供支持。前面提到的扇出過程,這只是ZettaBlock上開發人員和企業可用的眾多功能之一。我們受到領先的web3公司的信任,如Polygon,Crypto.com,Circle等。我們的愿景是成為web3數據基礎設施的首選平臺。
請查看我們的演示/視頻了解詳細信息。
鳴謝
我想借此機會向所有在這篇文章中幫助過我的人表示衷心的感謝。特別感謝KevinRos、ChiZhang、MariaAdamjee、RaphaelSerrano、ZhenzhongXu、PaulTluczek、TianzhouChen、HemanthSoni、NitishSharma、RyanKim、AlexXu、VivekGopalan、NazihKalo、NirmalKrishnan、TimothyChen、MinHao、BoYang
參考
1.TimelinesatScale:
https://www.infoq.com/presentations/Twitter-Timeline-Scalability/
2.HowTwitterusesredistoscale105TBRAM:
http://highscalability.com/blog/2014/9/8/how-twitter-uses-redis-to-scale-105tb-ram-39mm-qps-10000-ins.html
3.WhatDatabasedoesTwitteruse?
https://scaleyourapp.com/what-database-does-twitter-use-a-deep-dive/
4.TwitterDataStorageandProcessing:
https://ankush-chavan.medium.com/twitter-data-storage-and-processing-dd13fd0fdb30#:~:text=That%20equals%20to%20the%2084,time%20the%20request%20is%20made
?責任編輯:Kate
2022年10月10日,歐洲議會委員會通過了《加密資產市場監管法案》,歐洲議會還對《資金轉移條例》進行了投票。接下來MiCA法案一旦通過并實施,將對歐盟的加密監管具有里程碑式的意義.
1900/1/1 0:00:00由AI作畫應用Midjourney生成的繪畫作品《太空歌劇院》在今年9月美國科羅納州博覽會上獲得藝術比賽一等獎,吸引了不少人的眼球.
1900/1/1 0:00:00這是白話區塊鏈的第1797期原創?作者|老牛出品|白話區塊鏈對于存儲區塊鏈資產的錢包,還有不少人沒搞懂,尤其是地址、公鑰、密碼、私鑰、助記詞、Keystore等專有名詞,讓人一頭霧水.
1900/1/1 0:00:00像世界各地的數百萬人一樣,我在全球大流行病期間進入了Web3。雖然我是一個書呆子,但我從來不是一個技術愛好者,而隔離是一個向自己證明我也可以學習技術的絕佳機會.
1900/1/1 0:00:00縱觀整個2022年,加密投融資領域完成了從狂熱到寒冬的180度大轉彎。2022年Q1,Crypto投融資市場以超100億美元的融資總額,問鼎了自比特幣誕生以來的單季投融資記錄,同時也創出了連續7.
1900/1/1 0:00:00注:本文來自@NintendoDoomed推特,整理如下:美債暴跌會導致USDC/USDT爆雷么?由于最近市場悲觀情緒蔓延,加上聯儲加息導致美債價格下跌,已經有不少朋友開始詢問這個問題了.
1900/1/1 0:00:00