二手書屋網(wǎng)站開發(fā)的意義數(shù)據(jù)庫營銷
作者:尚卓燃(PsiACE)
澳門科技大學(xué)在讀碩士,Databend 研發(fā)工程師實(shí)習(xí)生
Apache OpenDAL(Incubating) Committer
PsiACE (Chojan Shang) · GitHub
對于大規(guī)模分布式數(shù)據(jù)處理系統(tǒng),為了更好應(yīng)對數(shù)據(jù)、流量、和復(fù)雜性的增長,需要對系統(tǒng)的可擴(kuò)展性加以重視。可拓展性代表一種預(yù)期,即在現(xiàn)有軟件和硬件水平無法滿足工作負(fù)載的時(shí)候,通過擴(kuò)展系統(tǒng)可以進(jìn)一步滿足工作負(fù)載的需要。
Databend 是一款現(xiàn)代化的云原生數(shù)據(jù)倉庫,旨在通過彈性和可擴(kuò)展的架構(gòu)提供高效的數(shù)據(jù)分析能力。Databend 具有高效的資源利用能力和分布式擴(kuò)展能力,可以解決傳統(tǒng)數(shù)據(jù)倉庫在處理大數(shù)據(jù)集時(shí)遇到的性能和可擴(kuò)展性問題。
Databend Cloud 基于開源的 Databend 發(fā)展而來,能夠幫助您托管 Databend 實(shí)例,并提供 Serverless 的部署模式,不僅可以降低成本,還可以提高系統(tǒng)的彈性和可靠性。Databend Cloud 將廉價(jià)的云存儲作為主要存儲,并提供快捷高效的分析性能,已幫助很多客戶實(shí)現(xiàn)了數(shù)倉、行為日志等場景的降本增效,并廣受好評。通過使用 Databend Cloud,用戶可以輕松構(gòu)建低成本、高性能的數(shù)據(jù)倉庫,并專注于分析而非基礎(chǔ)架構(gòu)的維護(hù)。
可擴(kuò)展性概念與因素
系統(tǒng)的可擴(kuò)展性涉及到多個(gè)維度,除了系統(tǒng)本身的管理的資源、軟件設(shè)計(jì)的優(yōu)化和數(shù)據(jù)與計(jì)算的有效管理之外,還包括系統(tǒng)需要處理的數(shù)據(jù)量、用戶數(shù)量、查詢復(fù)雜性等。
可擴(kuò)展性與系統(tǒng)性能
線性可擴(kuò)展性意味著資源的增加能夠直接轉(zhuǎn)化為系統(tǒng)性能的提升。線性可擴(kuò)展性隱含的保證是當(dāng)工作負(fù)載擴(kuò)大一倍時(shí),系統(tǒng)的計(jì)算資源(如CPU、內(nèi)存、存儲等)也擴(kuò)大一倍,算力變?yōu)樵瓉淼膬杀?#xff0c;從而獲得與之前相當(dāng)?shù)奶幚硭俣取?
可擴(kuò)展性背后的數(shù)學(xué)
但是,除非系統(tǒng)完全無狀態(tài),否則只能將其擴(kuò)展到通用可擴(kuò)展性定律(Universal Scalibility Law,紅色線條)所描述的程度,之后即便添加更多資源,最終也只會因?yàn)椴l(fā)、爭用和相關(guān)性延遲導(dǎo)致系統(tǒng)整體性能降低。
即使在幾乎不存在相關(guān)性延遲并且充分并行化的最佳情況下,最終也會受到阿姆達(dá)爾定律(Amdahl’ Law,綠色線條)的限制,這仍然無法達(dá)到線性可擴(kuò)展性。
毫無疑問線性可擴(kuò)展性(藍(lán)色線條)只是理想情況下的表述。 在?Contention, Coherency, and Math Behind Software(上面圖片的出處)一文中介紹了可擴(kuò)展性背后的一些數(shù)學(xué),也推薦大家閱讀。
水平擴(kuò)展和垂直擴(kuò)展
兩種常見的擴(kuò)展方式是垂直擴(kuò)展和水平擴(kuò)展:
- 垂直擴(kuò)展(縱向擴(kuò)展)則是提高單個(gè)節(jié)點(diǎn)的能力,如升級硬件或改善系統(tǒng)架構(gòu)。
- 水平擴(kuò)展(橫向擴(kuò)展)指的是增加更多節(jié)點(diǎn)到現(xiàn)有的系統(tǒng)集群中,例如添加更多的服務(wù)器。
垂直擴(kuò)展是改善系統(tǒng)性能的一個(gè)有效方式,但是垂直擴(kuò)展面臨著一個(gè)致命不足:單機(jī)性能總是有極限的。由于單機(jī)往往不能勝任大數(shù)據(jù)分析的需要,所以相關(guān)系統(tǒng)通常會強(qiáng)調(diào)架構(gòu)各層的水平可擴(kuò)展性以及水平擴(kuò)展帶來的性能增長。
Databend 的架構(gòu)可擴(kuò)展性
Databend 的架構(gòu)設(shè)計(jì)考慮了可擴(kuò)展性的多個(gè)方面,使其在云環(huán)境中能夠靈活地?cái)U(kuò)展資源和處理能力。
Share-Nothing V.S. Share-Storage
傳統(tǒng)數(shù)倉往往采用 Share-Nothing 架構(gòu),存儲、計(jì)算一體化設(shè)計(jì),彈性相對較弱。而且由于調(diào)度上采用資源固定(Fixed-Set)式調(diào)度策略,資源控制粒度粗,也會帶來更多的成本消耗。Databend 使用共享存儲架構(gòu)(Share-Storage),底層可以使用對象存儲,真正做到存儲、計(jì)算分離,資源控制粒度更細(xì)。計(jì)算節(jié)點(diǎn)可以根據(jù)需求彈性擴(kuò)展,而不受存儲容量的限制。
Databend 架構(gòu)全景圖
得益于列式存儲模型和向量化計(jì)算,Databend 可以充分利用現(xiàn)代硬件系統(tǒng)的潛力;此外,Databend 還對數(shù)據(jù)存儲格式、數(shù)據(jù)緩存、和系統(tǒng)吞吐量進(jìn)行了充分優(yōu)化,以達(dá)到性能的最佳釋放。
由于采用共享存儲的架構(gòu),并且 Query 節(jié)點(diǎn)采用無狀態(tài)設(shè)計(jì),只在 Meta 節(jié)點(diǎn)保留必要的狀態(tài)信息,使得 Query 節(jié)點(diǎn)能夠輕松支持實(shí)時(shí)彈性擴(kuò)容和縮容以及資源按需(Workload-Based)式調(diào)度。計(jì)算資源可以根據(jù)實(shí)際的工作負(fù)載自動擴(kuò)展,提供按需計(jì)算能力,這進(jìn)一步提高了系統(tǒng)的可擴(kuò)展性和資源的使用效率。
### 性能評估:Databend?Cloud?的算力可擴(kuò)展性?
為了評估 Databend 的性能和可擴(kuò)展性,可以運(yùn)行 TPC-H 基準(zhǔn)測試。TPC-H是一套針對數(shù)據(jù)庫決策支持能力的測試基準(zhǔn),通過模擬數(shù)據(jù)庫中與業(yè)務(wù)相關(guān)的復(fù)雜查詢和并行的數(shù)據(jù)修改操作考察數(shù)據(jù)庫的綜合處理能力。
通過在 Databend Cloud上針對不同計(jì)算集群規(guī)模進(jìn)行 TPC-H 查詢的性能測試,我們可以觀察到系統(tǒng)擴(kuò)展資源時(shí)的性能變化。這些結(jié)果可以幫助我們了解在增加計(jì)算節(jié)點(diǎn)(水平擴(kuò)展)和/或升級現(xiàn)有節(jié)點(diǎn)(垂直擴(kuò)展)時(shí),Databend 的查詢處理能力如何改變。
使用 BendSQL 執(zhí)行 TPC-H Q1
下面的數(shù)據(jù)展現(xiàn)了 Databend Cloud 上不同規(guī)模實(shí)例在執(zhí)行 TPC-H 測試 Q1 時(shí)的性能變化。其中 XSmall 和 Small 都是單計(jì)算實(shí)例,對應(yīng)垂直擴(kuò)展模型;而從 Small 到 Large 的計(jì)算實(shí)例數(shù)量不斷增長,對應(yīng)水平擴(kuò)展模型。
Instance Type | vCPUs | Compute Instances | Rows Read (Avg) | Time (Avg) | Rows Processed | Data Processed | Rows/s (Avg) | Data/s (Avg) |
---|---|---|---|---|---|---|---|---|
XSmall | 8 | 1 | 4 | 14.109 sec | 591.6 million | 45.18 GiB | 41.93 million | 3.20 GiB |
XSmall | 8 | 1 | 4 | 13.676 sec | 591.6 million | 45.18 GiB | 43.26 million | 3.30 GiB |
XSmall | 8 | 1 | 4 | 13.799 sec | 591.6 million | 45.18 GiB | 42.87 million | 3.27 GiB |
Small | 16 | 1 | 4 | 13.241 sec | 591.6 million | 45.18 GiB | 44.68 million | 3.41 GiB |
Small | 16 | 1 | 4 | 11.571 sec | 591.6 million | 45.18 GiB | 51.13 million | 3.90 GiB |
Small | 16 | 1 | 4 | 11.734 sec | 591.6 million | 45.18 GiB | 50.42 million | 3.85 GiB |
Medium | 32 | 2 | 4 | 9.392 sec | 591.6 million | 45.18 GiB | 62.99 million | 4.81 GiB |
Medium | 32 | 2 | 4 | 8.279 sec | 591.6 million | 45.18 GiB | 71.46 million | 5.46 GiB |
Medium | 32 | 2 | 4 | 8.341 sec | 591.6 million | 45.18 GiB | 70.93 million | 5.42 GiB |
Large | 64 | 4 | 4 | 8.536 sec | 591.6 million | 45.18 GiB | 69.31 million | 5.29 GiB |
Large | 64 | 4 | 4 | 7.096 sec | 591.6 million | 45.18 GiB | 83.37 million | 6.37 GiB |
Large | 64 | 4 | 4 | 7.841 sec | 591.6 million | 45.18 GiB | 75.45 million | 5.76 GiB |
XLarge | 128 | 8 | 4 | 7.123 sec | 591.6 million | 45.18 GiB | 83.05 million | 6.34 GiB |
XLarge | 128 | 8 | 4 | 5.753 sec | 591.6 million | 45.18 GiB | 102.83 million | 7.85 GiB |
XLarge | 128 | 8 | 4 | 5.767 sec | 591.6 million | 45.18 GiB | 102.59 million | 7.83 GiB |
可以看到,隨著系統(tǒng)規(guī)模的擴(kuò)大,查詢響應(yīng)時(shí)間縮短,而處理吞吐量也隨之增加。這些測試結(jié)果直觀展示了不同規(guī)模的 Databend Cloud 在同一工作負(fù)載下的處理能力變化。
Databend 的設(shè)計(jì)哲學(xué)、架構(gòu)以及 Databend Cloud 的性能表現(xiàn),體現(xiàn)了其作為一款現(xiàn)代大規(guī)模分布式數(shù)據(jù)處理系統(tǒng)的算力可擴(kuò)展性。
除了私有化部署 Databend 和使用 Databend Cloud 之外,我們也提供混合云支持??梢詭椭脩魧?shí)現(xiàn)適應(yīng)規(guī)模和成本的算力最大化調(diào)度,為未來數(shù)據(jù)處理需求的多樣性和不斷增長的挑戰(zhàn)提供最佳應(yīng)對方案。
關(guān)于?Databend
Databend 是一款開源、彈性、低成本,基于對象存儲也可以做實(shí)時(shí)分析的新式數(shù)倉。期待您的關(guān)注,一起探索云原生數(shù)倉解決方案,打造新一代開源 Data Cloud。
👨?💻??Databend Cloud:https://databend.cn
📖?Databend 文檔:Databend - The Future of Cloud Data Analytics. | Databend
💻?Wechat:Databend
??GitHub:GitHub - datafuselabs/databend: Modern alternative to Snowflake. Cost-effective and simple for massive-scale analytics. Cloud: https://databend.com