自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開源Apache Cassandra、Kafka、Spark和ES何時該用,何時不該用?

譯文
云計算 開源 Kafka Spark
幾乎所有技術(shù)決策都要滿足兩個基本標準:讓企業(yè)能夠?qū)崿F(xiàn)業(yè)務(wù)目標,與技術(shù)架構(gòu)的其余部分協(xié)同運行。

【51CTO.com快譯】幾乎所有技術(shù)決策都要滿足兩個基本標準:讓企業(yè)能夠?qū)崿F(xiàn)業(yè)務(wù)目標,與技術(shù)架構(gòu)的其余部分協(xié)同運行。說到選擇構(gòu)建應用程序架構(gòu)的數(shù)據(jù)層技術(shù),開源Apache Cassandra、Apache Kafka、Apache Spark和Elasticsearch繼續(xù)大行其道。

然而它們并不是適合各種使用場合的正確選擇。

[[284852]]

不妨更深入地研究這每一項技術(shù)以及適合和不適合這些開源解決方案的一些使用場合。

1.Apache Cassandra

Cassandra最初由Facebook于2007年創(chuàng)建,利用Dynamo架構(gòu)和Bigtable樣式的數(shù)據(jù)模型來提供NoSQL數(shù)據(jù)存儲,從而提供高可用性和高擴展性。

•何時應該使用Apache Cassandra?

對于需要最高級的始終在線可用性的使用場合而言,Cassandra是理想的選擇。該數(shù)據(jù)庫還特別適合服務(wù)于這類企業(yè):預計會有大量工作負載,或希望確保其服務(wù)可以隨工作負載加大而靈活增加,Cassandra提供了易于擴展的優(yōu)點。Cassandra在多個數(shù)據(jù)中心之間提供可靠的數(shù)據(jù)冗余和雙活操作。

•何時不應該使用?

面對數(shù)據(jù)倉庫或純粹的分析存儲(甚至考慮使用可用的Spark連接件以及Tableau和Hadoop插件)時,Cassandra消耗的資源比替代技術(shù)更多。Cassandra還不適合實時分析,尤其是最終用戶臨時查詢或自定義查詢這種形式的分析,因為應用程序端實現(xiàn)代碼的需要可能變得很復雜。此外,Cassandra無法滿足大多數(shù)ACID要求。

2.Apache Kafka

Apache Kafka最開始由LinkedIn的技術(shù)團隊創(chuàng)建,它提供了一種高可擴展性高可用性的流平臺和消息總線。Kafka充當分布式日志,新到達的消息被添加到隊列的頭部,讀取者(使用者)將根據(jù)偏移量來使用它們。

•何時應該使用Apache Kafka?

對于涉及微服務(wù)和面向服務(wù)架構(gòu)的使用場合而言,Apache Kafka通常是明智的選擇。 Kafka還可以充當高效的工作隊列,能夠協(xié)調(diào)不同的工作路徑,通過監(jiān)聽和等待、直到工作到達來保留計算能力。該平臺的流處理功能適用于異常檢測、向上鉆取和聚合,還適用于傳遞度量指標。Kafka還是一種功能強大的技術(shù),可用于事件源、跨各種微服務(wù)的數(shù)據(jù)協(xié)調(diào)以及為分布式系統(tǒng)提供外部提交日志。其他合適的使用場合包括日志聚合、數(shù)據(jù)屏蔽及過濾、數(shù)據(jù)豐富和欺詐檢測。

•何時不應該使用?

雖然在一些情況下可能很誘人,但切勿將Kafka用作數(shù)據(jù)庫或記錄源,至少在沒有充分了解Kafka在這種使用場合下的局限性和屬性的情況下切勿這么做。真正的數(shù)據(jù)庫幾乎總是更易于操作且更靈活。對于涉及整個主題的順序處理,Kafka是同樣不適合的選擇。在目標是將數(shù)據(jù)包快速推送到終端源的任何使用場合下,比如實時音頻和視頻或其他有損數(shù)據(jù)流,企業(yè)應使用定制的解決方案而不是Kafka。

3.Apache Spark

Apache Spark是一種通用集群計算框架,適用于涉及大量數(shù)據(jù)的使用場合,它對數(shù)據(jù)進行劃分,并針對劃分的數(shù)據(jù)執(zhí)行計算,以便worker執(zhí)行所有可能的工作,直至它們需要來自其他worker的數(shù)據(jù)。這種設(shè)計為Spark提供了巨大的可擴展性和可用性,同時讓它極具彈性,可應對數(shù)據(jù)丟失。

•何時應該使用Apache Spark?

Spark適用于涉及大規(guī)模分析的使用場合,尤其是數(shù)據(jù)通過多個來源到達的情況。Spark是一種強大的解決方案,適用于ETL或任何這種使用場合:需要在系統(tǒng)之間移動數(shù)據(jù),無論用于從事務(wù)型數(shù)據(jù)存儲持續(xù)填充數(shù)據(jù)倉庫或數(shù)據(jù)湖,還是諸如數(shù)據(jù)庫或系統(tǒng)遷移之類的一次性場景。如果企業(yè)在現(xiàn)有數(shù)據(jù)上構(gòu)建機器學習管道、處理高延遲數(shù)據(jù)流,或執(zhí)行交互式分析、臨時性分析或探索性分析,會發(fā)現(xiàn)Spark非常適合。Spark還從合規(guī)角度提供數(shù)據(jù)屏蔽、數(shù)據(jù)過濾和大型數(shù)據(jù)集審核等功能,適合幫助企業(yè)滿足合規(guī)要求。

•何時不應該使用?

對于涉及實時或低延遲處理的使用場合,Spark通常不是最佳選擇。(Apache Kafka或其他技術(shù)提供出色的端到端延遲以滿足這些要求,包括實時流處理)。處理小型數(shù)據(jù)集或單個數(shù)據(jù)集時,Spark通常是一種大材小用的選擇。另外說到數(shù)據(jù)倉庫和數(shù)據(jù)湖,最好使用高級技術(shù)代替Apache Spark,不過確實存在面向Spark的此類產(chǎn)品。

4.Elasticsearch

Elasticsearch提供了一種全文搜索引擎,它有廣泛的功能來搜索和分析非結(jié)構(gòu)化數(shù)據(jù)。該技術(shù)提供接近實時的可擴展線性搜索、強大的搜索臨時替代和強大的分析功能。

•何時應該使用Elasticsearch?

Elasticsearch非常適合需要全文搜索、地理搜索、抓取和匯總公共數(shù)據(jù)、日志記錄及日志分析、可視化以及少量事件數(shù)據(jù)和度量指標的使用場合。

•何時不應該使用?

Elasticsearch不應該用作擁有關(guān)系數(shù)據(jù)的數(shù)據(jù)庫或記錄源,也不應該用來滿足ACID要求。

選擇互補技術(shù)

為貴企業(yè)(無論是不是開源)選擇最佳技術(shù)組合顯然不僅需要評估解決方案本身,決策者還要設(shè)想企業(yè)將如何采用和使用每種解決方案作為技術(shù)架構(gòu)的一部分。Apache Cassandra、Apache Kafka、Apache Spark和Elasticsearch提供了一套特別互補的技術(shù),企業(yè)結(jié)合使用它們顯得很明智;又由于開源特性,它們無需許可費,也不存在供應商鎖定現(xiàn)象。如果結(jié)合這些技術(shù),并獲得它們帶來的優(yōu)點,企業(yè)就可以實現(xiàn)目標,能夠開發(fā)出高可擴展性、高可用性、易于移植、極具彈性的應用程序。

原文標題:When – and When Not – to Use Open Source Apache Cassandra, Kafka, Spark and Elasticsearch,作者:Ben Slater

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責任編輯:張燕妮 來源: 51CTO
相關(guān)推薦

2022-07-06 09:29:40

JMH性能測試

2017-05-15 09:55:07

2022-09-13 07:31:50

工具代碼Lombok

2020-05-12 11:25:50

MySQLES數(shù)據(jù)庫

2024-12-20 09:12:00

Vue項目Pinia

2020-10-21 14:54:02

RustGolang開發(fā)

2010-04-28 16:34:28

Unix操作系統(tǒng)

2020-11-18 09:48:09

Synchronize多線程Java

2015-04-01 10:35:31

蘋果國產(chǎn)手機

2021-11-26 09:00:00

數(shù)據(jù)庫數(shù)據(jù)集工具

2021-04-12 07:34:03

Java集合框架

2011-08-08 15:43:01

MySQL索引

2015-12-02 10:30:27

開源軟件開源營銷

2024-04-16 12:00:14

API系統(tǒng)

2019-11-29 07:53:07

DNSTCP網(wǎng)絡(luò)協(xié)議

2024-07-10 10:54:44

2018-07-10 16:05:05

2021-07-01 16:45:17

PyTorchTensorflow 機器學習

2021-12-09 09:52:36

云原生安全工具云安全

2012-02-08 11:01:53

HibernateJava
點贊
收藏

51CTO技術(shù)棧公眾號