精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

從Postgres到ScyllaDB NoSQL,速度提升349倍

譯文
數據庫
看看Coralogix如何將查詢處理時間從30秒縮短到86毫秒,以及如何借助WebAssembly和Rust進行下一步優化。

譯者 | 布加迪

審校 | 重樓

速度對于Coralogix而言很重要,這是一個開發團隊信任的可觀測性平臺,可以及時發現問題Coralogix使用實時流分析管道,提供監控、可視化和警報功能,無需索引。

Coralogix主要的差異化優勢之一是分布式查詢引擎,可以快速查詢遠程存儲客戶歸檔中的映射數據。該引擎使用特殊的Parquet格式查詢存儲在對象存儲Google Cloud StorageS3中的半結構化數據。它最初底層對象存儲上的無狀態查詢引擎,但是在查詢執行期間讀取Parquet元數據帶來不可接受的延遲影響。為了克服這個問題,團隊開發了一個元數據存儲簡稱為Metastore”),以便更快地檢索和處理執行大型查詢所需的Parquet元數據。

最初的Metastore實現建立在PostgreSQL之上,速度不夠快,無法滿足公司的需求。因此,團隊嘗試了一種新的實現這次使用ScyllaDB,嘗試取得了成功。團隊取得了顯著的性能提升——查詢處理時間從30縮短86毫秒。不妨深入了解一下他們是如何做到這一點的,并了解一下他們計劃如何使用WebAssembly用戶定義函數(UDF)和Rust進一步優化它。

Metastore動機和需求

在討論Metastore實現細節之前,不妨介紹一下當初構建Metastore理由

Coralogix的首席軟件工程師Dan Harris解釋道:“我們最初將這個平臺設計為底層對象存儲之上的無狀態查詢引擎,但我們很快意識到,查詢執行期間讀取Parquet元數據的成本占查詢時間的很大一部分。他們意識到可以通過將Parquet元數據放在一個可以快速查詢的快速存儲系統中而不是直接從底層對象存儲讀取和處理Parquet元數據加快速度。

他們設想解決方案具有以下功能:

  • 以分解格式存儲Parquet元數據,從而獲得高擴展性和吞吐量
  • 使用布隆過濾器有效地識別每個查詢要掃描的文件
  • 使用事務提交日志以事務性方式添加、更新和替換底層對象存儲中的現有數據

關鍵需求包括低延遲、讀/寫容量方面的可擴展以及底層存儲的可擴展性。為了理解所需的極端可擴展性,請考慮這種情況:單單一個客戶每小時生成2000個Parquet文件每天50000個,總計每天15TB,因此單單一天僅Parquet元數據就有20GB。

最初的PostgreSQL實現

Harris承認:“我們在Postgres上開始了最初的實現,當時我們明白從長遠來看,非分布式引擎是不夠的。最初的實現存儲諸如塊(block)之類的關鍵信息,表示一行組和一個Parquet文件。這包括元數據,比如文件的URL、行組索引和關于文件的少量細節。比如說:



為了優化讀取操作,他們使用了布隆過濾器進行高效的數據修剪。Harris解釋道:“最終,我們希望支持全文搜索之類的操作大致來說,當我們將這些文件攝取到系統中時,可以為我們在文件中找到的所有不同的令牌構建一個布隆過濾器。然后,根據特定的查詢,我們可以使用這些布隆過濾器來修剪我們需要掃描的數據。

們將布隆過濾器存儲在塊分割的環境中,將它們分成32字節大小的塊,以便高效檢索。它們獨立存儲,因此系統不必在查詢時讀取整個布隆過濾器。

此外,它們為每個Parquet文件存儲列元數據。比如說:

Harris解釋:“我們寫的文件內容相當寬,有時多達2萬列。因此,如果只讀取我們需要的元數據,可以真正減少任何特定查詢所需的IO數量。

ScyllaDB實現

接下來,不妨看看由Harris的同事、Coralogix的高級軟件工程師Sebastian Vercruysse概述的ScyllaDB實現。

數據建模

了新的實現,必須重新考慮塊建模。這里有一個塊URL的例子:s3://cgx-production-c4c-archive-data/cx/parquet/v1/team_id=555585/…

…dt = 2022-12-02 / hr = 10/0246f9e9-f0da-4723-9b64 a12346095d25.parquet

粗體部分是客戶的頂層存儲存儲桶內,各項按小時劃分。在這種情況下,應該使用什么作為主鍵

  • 表url)?但有些客戶比其他客戶擁有更多的Parquet文件,他們希望保持平衡。
  • ((塊url,行組))?這標識了特定的獨特身份,但是很難列出某一天的所有塊,因為時間戳不在中。
  • ((表url,小時))?這很管用,因為如果你有24小時的查詢時間,很容易查詢。
  • ((表url,小時),塊url行組)?這是他們選擇的。通過將塊URL和行組添加為聚簇鍵,他們可以在一小時內輕松檢索某個特定塊,這也簡化了更新或刪除塊和行組的過程。

布隆過濾器分塊和數據建模

下一個挑戰是考慮到ScyllaDB沒有提供相應的開箱即用功能,如何驗證某些位是否已設置。團隊決定讀取布隆過濾器并在應用程序中處理它們。不過記住,他們每天為每個客戶處理多達50000個塊,每個塊含布隆過濾器部分262KB。總共是12GB——對于一個查詢來說太大了,無法拉回到應用程序中。但他們不需要每次都讀取整個布隆過濾器只需要其中的一部分,這取決于查詢執行期間涉及的令牌。因此,他們最終將布隆過濾器分成幾行,這將讀取的數據減少到易于管理的1.6 MB。

對于數據建模,一種選擇是使用((block_url, row_group,塊索引作為主鍵。這將為每個布隆過濾器生成8192個32字節的塊,從而生成每個分區約262 KB的均勻分布。對于同一分區中的每個布隆過濾器,使用單個批處理查詢就可以輕松插入和刪除數據。但是有一個問題會影響讀取效率在讀取布隆過濾器之前,您需要知道塊的ID。此外,該方法需要訪問大量分區5萬個塊意味著5萬個分區。正如Vercruysse特別指出:“就算使ScyllaDB這樣快的技術,仍然很難5萬個分實現亞秒處理。

一個選項(這也是他們最終決定的):((表url,小時,塊索引,塊url,行組。請注意,這是與塊相同的分區鍵,只是在分區鍵上添加了一個索引,該索引表示查詢引擎所需的第n個令牌。使用這種方法,掃描24小時時間窗口的5個令牌可生成120個分區——與之前的數據建模選項相比,這個改進很出色。

外,這種方法在讀取布隆過濾器之前不再需要塊ID,從而允許更快的讀取。當然,總存在不足之處。在這里,由于阻塞布隆過濾器方法,他們不得不將單個布隆過濾器拆分為8192個獨特分區。與之前允許一次攝取所有布隆過濾器塊的分方法相比,這最終限制了攝取速度。然而,能夠在一小時內快速讀取某個塊比快速寫入來得更重要,因此他們認為這種取舍是值得的。

數據建模問題

毫不奇怪,從SQL遷移到NoSQL需要大量的數據建模返工,包括一些試錯。比如說,Vercruysse表示:“有一天,我認識到我們弄亂了最小和最大時間戳——我想知道我該如何修復它。我想也許可以重命名這些列,然后讓它重新運行。但是,如果列是聚簇鍵的一部分,你就無法重命名列。我想也許可以添加新列并運行UPDATE查詢來更新所有行。遺憾的是,這在NoSQL中也行不通

最終,他們決定截斷表并重新開始,而不是編寫遷移代碼。在這方面,他們給出的最好建議是第一次就把事情做好。

性能提升

盡管需要進行數據建模工作,但遷移收到了很好的成效。對于Metastore塊列表

  • 每個節點當前處理4到5 TB的數據。
  • 他們目前每秒處理大約1個寫操作,P99延遲始終低于1毫秒。
  • 列表在一小時內生成了大約2000Parquet文件;就布隆過濾器而言他們的處理時間不到20毫秒。對于5萬個文件,處理時不到500毫秒。

他們還執行了位校驗。但是對于5萬個Parquet文件而言,500毫秒可以滿足需求。

在列元數據處理中,P50相當不錯,但尾部延遲較高。Vercruysse解釋:“問題在于,如果我們有5萬個Parquet文件,我們的執行器會并行獲取所有這些文件。這意味著我們有很多并發查詢,我們沒有使用最好的磁盤。我們認為這是問題的根源。

ScyllaDB設置

值得注意的是,Coralogix從最初發現ScyllaDB到部署到擁有TB級數據生產環境僅用了兩個月(這是需要數據建模工作的SQLNoSQL遷移,而不是簡單得多的Cassandra或DynamoDB遷移

實現是在ScyllaDB Rust驅動程序上用Rust編寫的,他們發現ScyllaDB Operator for Kubernetes、ScyllaDB Monitoring和ScyllaDB Manager都對快速遷移大有幫助。由于為他們自己的客戶提供低成本的可觀測性替代方案對Coralogix很重要,因此團隊對他們的ScyllaDB基礎設施的性價比感到滿意一個三節點聚簇有以下配置:

  • 8個vCPU
  • 32 GB內存
  • Arm/Graviton
  • 帶寬為500mbps、IOPS為12k的EBS卷gp3

使用ARM可以降低成本,而決定使用彈性塊存儲EBS)(gp3卷最終歸結為可用性、靈活性和性價比。他們承認:“這是一個有爭議的決定,但我們正在努力讓切實可行,我們會看看我們能堅持多久。

汲取的經驗

他們在這里學到的主要經驗是

  • 注意分區大小使用ScyllaDB與使用Postgres的最大區別是,您必須非常仔細地考慮分區和分區大小。有效的分區和聚簇鍵選擇對性能有很大的影響。
  • 考慮讀/寫模式您還必須仔細考慮讀/寫模式。您的工作負載是不是讀取密集型?它是否涉及搭配均衡的讀寫操作?或者,入操作為主?Coralogix的工作負載有大量的寫入操作因為他們不斷地攝取數據,但需要優先考慮讀取操作,因為讀取延遲對業務來說最關鍵。
  • 避免EBS團隊承認他們被警告不要使用EBS:“我們沒有聽從,但我們可能應該聽。如果您在考慮使用ScyllaDB,那么查看具有本地SSD的實例而不是嘗試使用EBS卷可能是好主意。

未來計劃:結合使用WebAssembly UDF和Rust

將來,他們希望在寫入足夠大的塊和讀取不必要的數據之間找到折衷。他們將數據塊分成大約8000行,認為可以進一步分成1000行,這有望加快插入速度。

們的最終目標是通過充分利用WebAssembly的用戶定義函數(UDF),將更多的工作給ScyllaDB處理。使用現有的Rust代碼,集成UDF不需要把數據發回應用程序,為分塊調整和潛在的改進提供靈活性。

Vercruysse表示:“我們已經用Rust編寫了所有內容。如果我們可以開始使用UDF,這樣我們不必向應用程序發任何其他內容。這給了我們更余地來處理分塊。

原文標題:From Postgres to ScyllaDB NoSQL, with a 349x Speed Boost,作者:Cynthia Dunlop


責任編輯:華軒 來源: 51CTO
相關推薦

2024-11-13 09:29:41

SpringCRaCCRIU

2023-09-12 12:14:05

Python程序矢量化

2009-03-29 09:47:24

蘋果Iphone移動OS

2017-05-11 11:30:43

MySQL查詢速度

2009-12-24 09:30:38

Opera性能測試

2017-05-10 16:09:12

MySQL數據庫查詢

2025-09-09 05:00:00

2024-09-10 13:30:00

2024-01-19 13:41:00

AI模型

2024-03-19 14:43:17

自動駕駛激光

2020-09-20 21:46:00

量子芯片網絡

2023-03-22 13:53:26

芯片英偉達

2021-12-27 06:57:40

Maven工具性能

2025-01-13 12:30:00

C++開發編譯

2011-04-01 09:29:52

MySQLMongoDB

2024-03-18 09:02:53

AI模型

2014-11-11 15:57:07

2021-04-14 15:03:16

數據性能存儲

2022-04-06 11:10:00

模型訓練項目
點贊
收藏

51CTO技術棧公眾號

精品国一区二区三区| 亚洲综合999| 91视频88av| 日韩三级视频在线| 欧洲激情综合| 日韩午夜在线观看视频| 男女午夜激情视频| 免费在线观看黄色网| 成人毛片视频在线观看| 日本久久久久久| 日韩黄色免费观看| 久久不见久久见中文字幕免费| 在线综合亚洲欧美在线视频| 国产97在线 | 亚洲| 看黄网站在线| 国产日韩影视精品| 国产精品免费在线播放| 亚洲一卡二卡在线观看| 一本久道久久综合婷婷鲸鱼| xx视频.9999.com| 亚洲自拍偷拍一区二区 | 日韩精品欧美| 亚洲精品国产免费| 古装做爰无遮挡三级聊斋艳谭| 自拍偷拍欧美视频| 亚洲午夜久久久久久久久久久| 视频一区二区精品| 五月天婷婷视频| 国产成人自拍在线| 成人福利网站在线观看| 日本黄色一级视频| 亚洲人www| 久久综合久久美利坚合众国| 熟女俱乐部一区二区视频在线| 中文在线综合| 正在播放一区二区| 亚洲欧美日韩精品一区| 写真福利精品福利在线观看| 午夜精品福利一区二区三区蜜桃| 国产经典久久久| av在线电影播放| 久久久久久综合| 久久99精品国产99久久| 欧美熟妇交换久久久久久分类| 国产综合色在线| 国产精品人成电影| 18国产免费视频| 久久久久久穴| 欧美在线视频在线播放完整版免费观看 | 欧美日韩国产二区| www日韩在线| 成人在线免费观看91| 亚洲欧美中文日韩在线v日本| 国产精品一区二区人妻喷水| 国产在线播放精品| 精品粉嫩aⅴ一区二区三区四区| 日韩精品xxx| 999国产精品一区| 欧美不卡一区二区| 日本人添下边视频免费| 国产精品中文字幕制服诱惑| 亚洲国产精品久久| 久久久久久久久免费看无码| 国产欧美三级电影| 日韩成人久久久| 久久久无码人妻精品一区| 中文字幕亚洲影视| 中文字幕av日韩| 欧美肥妇bbwbbw| 亚洲精品一区二区妖精| 久久国产精品亚洲| 久久精品久久精品久久| 亚洲深夜av| 国产91色在线| 国产又粗又猛又爽又黄91| 国产精品一区二区黑丝| 国产伦精品一区二区三区视频免费 | 亚洲高清视频一区| 国产在线一区二区视频| 亚洲国产日韩a在线播放性色| 男人日女人视频网站| 大胆人体一区二区| 91 com成人网| 91人妻一区二区| 蜜桃成人av| 日韩视频第一页| 久久久久免费看| 噜噜爱69成人精品| 91色琪琪电影亚洲精品久久| 手机在线观看毛片| 中文字幕高清不卡| www.日本在线视频| 日韩高清在线| 精品日韩99亚洲| 精品无码一区二区三区| 亚洲成人一区| 日韩av大片免费看| 国产精品久久久久久无人区| av高清不卡在线| 亚洲美女网站18| gogo高清午夜人体在线| 欧美色偷偷大香| v天堂中文在线| 日韩欧美高清| 欧美亚洲一区在线| 国产毛片毛片毛片毛片毛片| 99re热这里只有精品视频| 做爰高潮hd色即是空| 日本а中文在线天堂| 91精品国产欧美一区二区| 国产艳俗歌舞表演hd| 欧美一区二区三区另类| 国产精品美女久久久久久免费| www.国产黄色| 中文字幕欧美日韩一区| 欧美日韩成人免费视频| 日韩三级精品| 最新的欧美黄色| 久久久精品福利| 国产成人超碰人人澡人人澡| 午夜精品一区二区三区四区 | 国产日韩一区在线| 亚洲欧洲成人在线| 亚洲综合图片区| 99九九99九九九99九他书对| 亚洲国产网址| 国内精品久久久久久| 99热这里只有精品在线| 欧美激情中文不卡| 日本在线观看a| 国内精品免费| 欧美俄罗斯性视频| 99riav国产| 国产精品电影一区二区| 冲田杏梨av在线| 国产精品欧美在线观看| 1769国产精品| 午夜激情在线视频| 亚洲va欧美va人人爽午夜| 丰满人妻一区二区三区53视频| 成人在线免费小视频| 国产成人jvid在线播放| 视频三区在线观看| 黑人精品xxx一区一二区| 久久久午夜精品福利内容| 国产综合精品| 国产精品二区三区| 激情网站在线| 精品国产乱码久久| 久久精品欧美一区二区| 成人a区在线观看| www.av片| 丝袜连裤袜欧美激情日韩| 66m—66摸成人免费视频| 四虎影视精品成人| 色综合久久综合网欧美综合网| 久久人人爽人人爽人人片| 亚洲综合日本| 日韩中文一区| 亚洲tv在线| 欧美大胆在线视频| 免费观看黄一级视频| 亚洲福利视频三区| av在线网站观看| 香蕉久久夜色精品国产| 日韩av一级大片| 国产精品高潮久久| 久久夜色撩人精品| 欧美一级在线免费观看| 欧美性开放视频| 中文字幕有码在线播放| 九一久久久久久| 女人被男人躁得好爽免费视频| 巨人精品**| 国产成人激情视频| 超碰在线观看免费版| 欧美成人精品1314www| 中文字幕av影院| 国产精品久线在线观看| 国产老头和老头xxxx×| 亚洲伦理精品| 亚洲乱码一区二区三区三上悠亚 | 丝袜美腿一区二区三区| 中文字幕精品一区日韩| 99这里只有精品视频| 日韩av快播网址| av片在线观看永久免费| 亚洲激情视频在线观看| 亚洲午夜激情视频| 亚洲成人av一区二区| 久久久久99精品成人| 国产一区美女在线| 精品国产一区三区| 日韩精品看片| 国产在线一区二区三区欧美| 日本成人福利| 国自产精品手机在线观看视频| 久久经典视频| 欧美一卡在线观看| 国产成人无码专区| 亚洲国产色一区| 国产亚洲精品精品精品| 东方aⅴ免费观看久久av| 久久婷婷国产91天堂综合精品| 在线中文字幕第一区| 欧美综合77777色婷婷| 视频精品一区| 国产精品电影在线观看| av在线资源| 久久精品成人动漫| 国产在线黄色| 亚洲成人免费网站| 国产又粗又猛又黄又爽无遮挡| 精品成人av一区| 成人观看免费视频| 国产视频不卡一区| 一起草在线视频| 国产精品自拍毛片| 色国产在线视频| 亚洲视频www| 国产美女永久无遮挡| 999精品视频| 茄子视频成人在线观看| 六月丁香久久丫| 成人xxxxx色| 91精品在线免费视频| 欧洲精品在线视频| 色是在线视频| 97国产精品免费视频| 综合图区亚洲| 欧美成人久久久| 蜜桃视频在线观看www社区| 一区三区二区视频| 男人的天堂在线免费视频| 欧美精品一区二区在线观看| av片免费播放| 欧美精品久久天天躁| 中文字幕无线码一区| 色天使色偷偷av一区二区| 日韩少妇裸体做爰视频| 午夜电影网亚洲视频| 国产高潮国产高潮久久久91 | 国产一区二区三区黄| 91国内精品| 不卡视频一区| 久久亚洲精精品中文字幕| 95av在线视频| 欧美.com| 国产精品区一区二区三在线播放 | 精品国产乱码久久久久久蜜柚| 亚洲高清在线一区| 97视频热人人精品| 日韩欧美久久| 国产精品久久久久久久久久直播 | 日韩a**中文字幕| 国产91色在线免费| 亚洲综合av一区二区三区| 国产精品亚洲一区二区三区| 亚洲天堂1区| 91精品国产综合久久久久久蜜臀 | 国产一区二区三区四区五区在线| y111111国产精品久久久| 国产精品国模大尺度私拍| 精品日产乱码久久久久久仙踪林| 国产免费高清一区| 亚洲国产最新| 亚洲国产成人不卡| 综合视频在线| 日本www在线视频| 男女精品网站| 潘金莲激情呻吟欲求不满视频| 久草在线在线精品观看| 少妇极品熟妇人妻无码| 91免费视频观看| 青青青视频在线播放| 亚洲欧美精品午睡沙发| 日本免费观看视| 色婷婷av一区二区三区之一色屋| 中文字幕日韩三级| 精品精品欲导航| 国产日本在线视频| 久久成年人免费电影| av漫画网站在线观看| 国产精品人成电影在线观看| 粉嫩av国产一区二区三区| 国产精品精品软件视频| 日韩av密桃| www精品久久| 日韩精品一二区| 在线观看视频你懂得| 91丨国产丨九色丨pron| 一级性生活免费视频| 精品国产乱码久久久久久虫虫漫画 | 成人激情av| 精品国产一区二区三区av片| 国产一区一区三区| 欧美一级专区| 黄色a级三级三级三级| 91老师片黄在线观看| 精品国产精品国产精品| 日韩欧美国产成人| 国产极品久久久| 中文字幕av一区| 日本乱码一区二区三区不卡| 成人妇女淫片aaaa视频| 亚洲婷婷伊人| 97碰在线视频| 看片网站欧美日韩| 四虎永久免费在线观看| 亚洲一区二区视频在线| 亚洲综合五月天婷婷丁香| 日韩精品中文字幕视频在线| 中文字幕中文字幕在线中高清免费版| 国产精品高潮在线| 牛牛精品成人免费视频| 国产日韩欧美大片| 久久精品二区亚洲w码| 中文字幕一区二区人妻在线不卡| 亚洲精品一二三区| 亚洲天堂avav| 亚洲欧美综合图区| 九九精品调教| 91九色视频在线观看| 四季av在线一区二区三区| 精品久久久久久无码国产| av中文字幕亚洲| 久久99久久久| 91精品国产综合久久精品图片| 成人在线观看免费| 日韩av成人在线观看| 中日韩免视频上线全都免费| 免费毛片网站在线观看| 不卡的av中国片| 欧美成人aaaaⅴ片在线看| 日韩免费视频线观看| 中中文字幕av在线| 91久久国产自产拍夜夜嗨| 一区二区三区四区电影| 欧美一级xxxx| 亚洲欧美自拍偷拍色图| 怡红院男人的天堂| 中文字幕久热精品在线视频| yw.尤物在线精品视频| 日本婷婷久久久久久久久一区二区| 国产日韩欧美一区在线| 国精产品一区一区三区免费视频| 欧美日韩久久久久| 色视频在线观看福利| 青青草一区二区| 精品影片在线观看的网站| 99草草国产熟女视频在线| 国产亚洲美州欧州综合国| 波多野结衣小视频| 一本一本久久a久久精品综合小说| 国产精品字幕| 亚洲一区二区三区四区中文| 麻豆久久一区二区| 黄色录像免费观看| 日韩欧美精品在线| www.youjizz.com在线| 免费一区二区三区| 免费黄网站欧美| 91麻豆免费视频网站| 精品奇米国产一区二区三区| 国产福利电影在线播放| 欧美精品一区二区三区在线四季| 老妇喷水一区二区三区| 国产精品视频在| 日韩丝袜美女视频| 国产精品yjizz视频网| 日本一区免费| 久久99热这里只有精品| 久久久久香蕉视频| 日韩久久午夜影院| 狠狠久久伊人中文字幕| 影音先锋成人资源网站| jiyouzz国产精品久久| 天天干天天操天天操| 久久久国产一区| 欧美人与动xxxxz0oz| 波多结衣在线观看| 亚洲国产综合91精品麻豆| 国产福利第一视频在线播放| 亚洲一区二区三区四区视频| 99精品热6080yy久久| www.xx日本| 亚洲第一免费网站| 97人人做人人爽香蕉精品| av在线com| 日本一区二区三区在线观看| 精品人妻aV中文字幕乱码色欲| 26uuu久久噜噜噜噜| 91精品一区二区三区综合| 插吧插吧综合网| 宅男在线国产精品| 都市激情亚洲综合| 香港三级日本三级a视频| 国产亚洲一区字幕| 韩国av永久免费| 国产欧美一区二区三区久久 |