AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

Elasticsearch 使用誤區之將 Elasticsearch 視為關系數據庫!

來源: 責編: 時間:2024-06-27 07:52:52 133觀看
導讀Elasticsearch 是一個強大的工具,尤其在全文檢索、實時分析、機器學習、地理數據應用、日志和事件數據分析、安全信息和事件管理等場景有大量的應用。然而,Elastic Stack 技術棧的選型及應用效能取決于正確的使用方式。

Elasticsearch 是一個強大的工具,尤其在全文檢索、實時分析、機器學習、地理數據應用、日志和事件數據分析、安全信息和事件管理等場景有大量的應用。QPw28資訊網——每日最新資訊28at.com

然而,Elastic Stack 技術棧的選型及應用效能取決于正確的使用方式。選型錯誤或者誤用 Elasticsearch 可能會導致擴展性問題、性能問題(如為解決一個問題使用非常復雜的腳本導致性能極差)等,從而使整體體驗感變差。所以,本文區別于之前的正向講解的方式,更多的講解反例或者負面應用案例。“以史為鑒”,以便于大家更好地使用 Elasticsearch。QPw28資訊網——每日最新資訊28at.com

本系列文章會有 10 幾篇左右,一篇一個知識點講解 Elasticsearch 使用誤區解讀,敬請期待!QPw28資訊網——每日最新資訊28at.com

誤區1:將 Elasticsearch 視為關系數據庫QPw28資訊網——每日最新資訊28at.com

Elasticsearch 常被誤解為 MySQL 或者 PostgreSQL 等關系數據庫的直接替代品,用戶除了直接替代使用外更看其全文搜索和快速聚合的能力。QPw28資訊網——每日最新資訊28at.com

然而,咱們必須清晰的認知:Elasticsearch 設計初衷不是處理復雜事務和關系數據模型的。QPw28資訊網——每日最新資訊28at.com

我們從下面幾個維度逐一展開討論:QPw28資訊網——每日最新資訊28at.com

1、該不該選型 Elasticsearch ?

個人建議先了解 Elasticsearch 的適用場景以及不適用場景,這樣能清楚 Elastic Stack 技術棧更適合哪些業務需求。QPw28資訊網——每日最新資訊28at.com

例如,咱們文章之前圖解的六大應用場景是非常適合的。然而,對于需要處理復雜事務、多表聯查操作和高一致性要求的應用,如銀行系統的交易處理和ERP系統等,Elasticsearch 則不太適合。QPw28資訊網——每日最新資訊28at.com

圖片圖片QPw28資訊網——每日最新資訊28at.com

Elasticsearch 更適用場景:QPw28資訊網——每日最新資訊28at.com

圖片圖片QPw28資訊網——每日最新資訊28at.com

圖片圖片QPw28資訊網——每日最新資訊28at.com


QPw28資訊網——每日最新資訊28at.com

通過對比這些場景,反觀自己的業務需求,就能判斷是否應該選型 Elasticsearch 甚至 Elastic Stack 作為技術棧。QPw28資訊網——每日最新資訊28at.com

2、理解 Elasticsearch 的設計

圖片來自官方博客圖片來自官方博客QPw28資訊網——每日最新資訊28at.com

Elasticsearch 是一種面向文檔的搜索引擎,專為快速搜索大量數據而設計。QPw28資訊網——每日最新資訊28at.com

Elasticsearch 基于 Apache Lucene 構建,提供了強大的全文搜索、分析和數據聚合功能。QPw28資訊網——每日最新資訊28at.com

以下是 Elasticsearch 的主要特點:QPw28資訊網——每日最新資訊28at.com

  • 全文搜索:Elasticsearch 提供了高效的全文搜索功能,能夠快速檢索和匹配大規模文本數據。
  • 分布式架構:Elasticsearch 采用分布式架構,能夠水平橫向擴展,處理海量數據(PB級甚至以上都不是問題)和高并發請求。
  • 數據分析:Elasticsearch 支持復雜的聚合查詢,可以做多維度的快速統計和分析數據,但聚合、去重等結果不是精準的。有精準需求的企業場景也要評估和掂量一下。
  • ......

圖片來自官方博客圖片來自官方博客QPw28資訊網——每日最新資訊28at.com

如前所述,Elasticsearch 并不是設計用來處理關系數據和事務的。它的主要優勢在于分析和搜索能力,而不是數據關系的嚴格維護。QPw28資訊網——每日最新資訊28at.com

3、理解 Elasticsearch 與關系數據庫的比較

關系數據庫(如 MySQL、Oracle 及 PostgreSQL 等)和 Elasticsearch 之間有幾個關鍵區別:QPw28資訊網——每日最新資訊28at.com

3.1 數據模型比較

  • 關系數據庫使用結構化的表和行來存儲數據,并通過外鍵和約束來維護數據的一致性。
  • Elasticsearch 則使用文檔(document,本質是 JSON 格式)來存儲數據,每個文檔可以包含不同的字段和數據類型。

特性QPw28資訊網——每日最新資訊28at.com

關系數據庫QPw28資訊網——每日最新資訊28at.com

ElasticsearchQPw28資訊網——每日最新資訊28at.com

數據存儲結構QPw28資訊網——每日最新資訊28at.com

結構化的表和行QPw28資訊網——每日最新資訊28at.com

文檔QPw28資訊網——每日最新資訊28at.com

數據類型QPw28資訊網——每日最新資訊28at.com

每個表的字段類型固定QPw28資訊網——每日最新資訊28at.com

每個文檔可以包含不同的字段和數據類型QPw28資訊網——每日最新資訊28at.com

數據一致性QPw28資訊網——每日最新資訊28at.com

通過外鍵和約束來維護數據的一致性QPw28資訊網——每日最新資訊28at.com

不提供數據一致性保障QPw28資訊網——每日最新資訊28at.com

查詢能力QPw28資訊網——每日最新資訊28at.com

支持復雜的 SQL 查詢、事務和聯接操作QPw28資訊網——每日最新資訊28at.com

主要用于全文搜索和數據聚合QPw28資訊網——每日最新資訊28at.com

事務支持QPw28資訊網——每日最新資訊28at.com

完整的事務支持QPw28資訊網——每日最新資訊28at.com

不支持事務QPw28資訊網——每日最新資訊28at.com

性能優化QPw28資訊網——每日最新資訊28at.com

索引、緩存和查詢優化QPw28資訊網——每日最新資訊28at.com

分片、索引和緩存QPw28資訊網——每日最新資訊28at.com

主要優勢QPw28資訊網——每日最新資訊28at.com

關系數據處理和數據一致性維護QPw28資訊網——每日最新資訊28at.com

快速搜索和高效的數據聚合QPw28資訊網——每日最新資訊28at.com

3.2 查詢能力比較

  • 關系數據庫支持復雜的 SQL 查詢、事務和多表關聯操作,以保證數據的一致性和完整性。
  • Elasticsearch 主要側重于全文搜索和數據聚合,不支持復雜的事務和多表關聯操作。

在關系數據庫中,我們可以使用復雜的 SQL 查詢、事務和多表關聯操作來保證數據的一致性和完整性。例如:QPw28資訊網——每日最新資訊28at.com

BEGIN TRANSACTION;-- 更新訂單狀態UPDATE ordersSET status = 'shipped'WHERE order_id = 123;-- 減少庫存UPDATE productsSET stock = stock - 1WHERE product_id = 456;-- 記錄客戶活動INSERT INTO customer_activity (customer_id, activity)VALUES (789, 'Order 123 shipped');COMMIT;

圖片圖片QPw28資訊網——每日最新資訊28at.com

上述事務示例能確保所有相關操作(更新訂單狀態、減少庫存和記錄客戶活動)要么全部成功,要么全部失敗,從而保證數據的一致性(事務的本質)。QPw28資訊網——每日最新資訊28at.com

在 Elasticsearch 中,我們主要側重于全文搜索和數據聚合分析,而不支持復雜的事務和多表關聯操作。QPw28資訊網——每日最新資訊28at.com

比如:用戶需求如下:QPw28資訊網——每日最新資訊28at.com

“想請教下大佬們,假設 es 中 有兩個表,一個會員表,一個訂單表,如果想關聯查詢,例如查詢24年注冊的所有的會員的訂單總數,通過什么方式能快速查詢?”QPw28資訊網——每日最新資訊28at.com

咱們文章做過剖析,Elasticsearch 不是一丁點也不支持多表關聯,只是支持的力度有限,支持的形式核心有如下幾種:QPw28資訊網——每日最新資訊28at.com

  • 自己業務層面實現
  • Nested 嵌套數據類型
  • Join 父子文檔類型
  • 寬表冗余存儲
  • Enrich processor 預處理方式

本文鏈接:http://www.tebozhan.com/showinfo-26-96746-0.htmlElasticsearch 使用誤區之將 Elasticsearch 視為關系數據庫!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 關于時間知識圖譜問答的一篇綜述

下一篇: 12306火車購票系統登錄驗證碼的智能校驗機制

標簽:
  • 熱門焦點
Top