Apache Doris + MCP:Agent 時代的實時數據分析底座

一、Apache Doris:面向 Agent 時代的智能數據平臺

當我們談論 2025 年時,業界普遍認為這將是"Agent 革命年"(Agentic Revolution)的開端。與傳統的人機交互模式不同,AI Agent 作為一個全新的"用戶角色"正在重塑整個數據分析領域的使用模式。這些智能代理不再是被動等待指令的工具,而是具備自主決策能力、能夠理解上下文、執行復雜任務的智能實體。它們可以是數字助理、自動化工作流引擎、業務監控工具,或者是更復雜的企業級智能應用。這種用戶角色的根本性變化,對底層數據基礎設施提出了前所未有的挑戰和要求。

Agent 工作模式的本質差異

要理解 Agent-Facing Analytics 的重要性,我們首先需要認識到 AI Agent 與傳統用戶在數據訪問模式上的根本差異。傳統的數據分析工作流程通常是這樣的:業務分析師提出問題,數據工程師編寫 SQL 查詢,等待查詢結果,然后基于結果進行分析和決策。這個過程是線性的、可預測的,查詢量相對有限,對實時性的要求也相對寬松。

然而,AI Agent 的工作模式完全顛覆了這一傳統模式。當一個 Agent 接收到用戶的單一請求時,它可能會在幾秒鐘內觸發數十個甚至上百個數據庫查詢。這些查詢涉及的數據量往往也很龐大,動輒 GB 級甚至 TB 級,大集團某業務場景日增數據量甚至在 PB 級別。 這些查詢包括探索性數據發現、多維度關聯分析、實時指標計算等,往往相互關聯,形成復雜的查詢依賴圖。

Agent 工作模式的本質差異.png

并發性能的指數級挑戰

傳統數據分析場景中,大型企業同時進行復雜分析的用戶數量通常有限,可能是幾十到幾百的量級。但在 Agent 時代,情況發生根本變化。每個業務流程都可能部署多個專業化 Agent,這些 Agent 并行工作,處理大量并發請求。

我們以電商平臺場景為例:客服 Agent 處理客戶咨詢,推薦 Agent 生成個性化推薦,庫存 Agent 監控庫存狀態,價格 Agent 動態調整價格策略,營銷 Agent 優化廣告投放,風控 Agent 實時檢測異常交易。每個 Agent 都持續查詢數據庫,查詢頻率和復雜度遠超傳統應用。中等規模企業可能需要同時支持數百上千個 Agent 并發訪問,每個 Agent 每秒發起數次甚至十幾次查詢,數據庫需要處理數千甚至上萬次并發查詢。超大集團的 Agent 數量和查詢并發量將指數級增長。

Agent高并發場景.png

Apache Doris 的 MPP 分布式架構在這種場景下展現獨特優勢。與傳統主從架構不同,Apache Doris 采用無主節點分布式設計,每個 BE 節點都可獨立處理查詢請求,避免單點瓶頸。面對 Agent 高并發訪問時,Apache Doris 可通過增加 BE 節點線性擴展查詢處理能力。Doris 的向量化執行引擎充分利用現代 CPU 的 SIMD 指令集,處理 Agent 生成的大量聚合查詢和過濾操作時,性能提升可達 5-10 倍。

實時性要求的新高度

Agent 應用對數據實時性要求達到前所未有的高度。傳統 BI 報表可容忍小時級甚至天級數據延遲,但 Agent 需要基于最新數據做即時決策。智能風控 Agent 需要在秒級時間內分析用戶實時交易行為、歷史信用記錄、當前賬戶狀態等信息,判斷是否存在欺詐風險。任何數據延遲都可能導致誤判。

Agent實時性要求.png

Doris 的實時數據處理能力及高并發主鍵等值點查在此發揮關鍵作用。通過內置以及生態的功能,Doris 實現秒級數據寫入延遲,確保 Agent 訪問最新業務數據。Doris 的多數派寫入規則保證查詢和寫入操作一致性,避免傳統數據倉庫常見的讀寫沖突問題。

加之 Doris 行列混存及部分列更新的強大特性,可滿足實時用戶畫像的高并發主鍵等值點查場景要求,尤其在風控場景,可滿足毫秒級、上萬甚至數十萬并發的超大場景。

智能查詢優化的必要性

Agent 生成的查詢往往具有高度動態性和不可預測性。與傳統預定義報表不同,Agent 的查詢模式基于用戶請求和上下文動態生成,傳統查詢優化方法難以適用。Agent 可能生成看似"奇怪"的查詢組合,或在短時間內對同一份數據進行多種不同維度分析。

智能查詢優化的必要性.png
Apache Doris 的 CBO(Cost-Based Optimizer)查詢優化器在這種場景下展現強大適應能力。它根據實際數據分布和查詢模式,動態生成最優執行計劃。Doris 支持多種索引類型,能夠自動為 Agent 查詢選擇最適合的索引策略,大幅提升查詢性能。

Multi-Catalog:統一數據,釋放 AI 潛能

AI 的價值只能通過其可訪問的數據來體現,但企業數據往往分散在各處、孤立存儲,且經常過時。傳統數據分析場景中,數據通常預先整理建模,存儲在特定數據倉庫中。但 Agent 需要訪問的數據往往來源廣泛,包括實時業務數據、歷史數據湖數據、外部 API 數據等。為每種數據源部署專門 Agent 接口不僅增加系統復雜性,也影響 Agent 智能決策能力。

Multi-Catalog:統一數據,釋放 AI 潛能.png

Apache Doris 的 Multi-Catalog 功能為此問題提供優雅解決方案。通過統一 SQL 接口,Agent 可無縫訪問 MySQL、PostgreSQL、Oracle 等傳統數據庫,Hive、Iceberg、Hudi、Paimon 等數據湖存儲,以及 S3、HDFS 等云存儲服務。這種統一數據訪問能力讓 Agent 獲得完整數據視圖,做出更準確全面的分析判斷。

Apache Doris 的查詢優化器能夠識別跨數據源查詢,自動制定最優執行策略。對于需要關聯多個數據源的復雜查詢,系統會自動決定哪些操作下推到源系統執行,哪些操作在 Apache Doris 中進行,最大化整體查詢效率。

向量檢索:支撐新一代 AI 應用

隨著大語言模型和 RAG(Retrieval-Augmented Generation)技術成熟,越來越多 Agent 開始需要向量檢索能力。這些 Agent 不僅要處理結構化業務數據,還要處理非結構化文本、圖像、音頻等數據的向量表示。傳統方案是在數據庫之外部署專門向量數據庫,但存在數據一致性、查詢復雜性、運維成本等多重問題。

向量檢索:支撐新一代 AI 應用.png

Apache Doris 在 2025 年規劃中將原生支持向量數據類型和向量索引,這將為 Agent 應用帶來革命性改變。Agent 將能夠在同一查詢中同時處理結構化數據和向量數據,實現真正多模態數據分析。

安全性與可觀測性的新要求

Agent 的自主性和高頻訪問特性也帶來了新的安全挑戰。傳統的數據訪問通常有明確的人工審查環節,但 Agent 的決策過程往往是自動化的,這要求底層數據系統必須具備更強的安全防護和審計能力。

安全性與可觀測性的新要求.png

Apache Doris 的多層級安全機制在此發揮重要作用。通過細粒度權限控制,可精確限制每個 Agent 能夠訪問的數據范圍和操作類型。通過完整審計日志,可追蹤每個 Agent 數據訪問行為,及時發現異常操作。通過 SQL 注入防護和查詢復雜度限制,可防止惡意或錯誤 Agent 查詢影響系統穩定性。

同時,對 Agent 行為的可觀測性需求變得至關重要。企業需要全面了解 Agent 的運行狀態、決策過程、執行效果等關鍵信息。Apache Doris 通過 MCP 協議不僅能夠為 Agent 提供數據訪問能力,還能成為 Agent 可觀測性體系的重要數據源。Agent 的運行日志、執行軌跡、性能指標、錯誤信息等關鍵運維數據都可以通過 Apache Doris 進行統一存儲和分析。運維團隊可以利用 Apache Doris 的強大分析能力,對 Agent 集群的健康狀況進行實時監控,分析 Agent 的工作模式和效率趨勢,快速定位性能瓶頸和異常行為,為 Agent 系統的持續優化提供數據支撐。

綜合上述內容,Agent-Facing Analytics 引發了我們的新思考:如何讓 AI 應用能夠高效、安全、標準化地訪問各種數據源和工具?

傳統的解決方案往往需要為每個數據源單獨開發接口,這種煙囪式的開發模式不僅大大增加了開發成本和維護負擔,還嚴重制約了 AI 應用的快速迭代和規模化部署。

正是在這樣的背景下,Anthropic 推出了 Model Context Protocol (MCP),這一革命性的協議被業界譽為 AI 應用的"USB-C 接口"。

三、Model Context Protocol (MCP):連接 AI 與數據的橋梁

Model Context Protocol (MCP) 是一個開放的、標準化的協議規范,其核心使命是讓 AI 應用能夠安全、無縫地連接到各種數據源、工具和服務。就像 USB-C 接口統一了各種電子設備的連接標準,從而讓用戶可以用一根線纜連接所有設備一樣,MCP 為 AI 應用與外部資源的交互提供了統一的協議規范,讓 AI 開發者可以通過一套標準的 API 接口訪問所有兼容的數據源和服務。這種設計理念的深刻之處在于,它將復雜的集成問題轉化為標準化的接口問題,從根本上簡化了 AI 應用的開發復雜度。

Model Context Protocol (MCP):連接 AI 與數據的橋梁.png

MCP 的技術架構建立在 JSON-RPC 2.0 基礎之上,JSON-RPC 2.0 是一個經過長期驗證的成熟協議,在互聯網應用中有著廣泛的應用基礎,這確保了 MCP 協議的穩定性和互操作性。在此基礎上,MCP 定義了三種核心的交互模式:資源訪問模式用于訪問靜態或準靜態的數據資源,工具調用模式用于執行特定的操作或計算,提示模板模式用于為 AI 模型提供結構化的上下文信息。這種分層的設計不僅覆蓋了 AI 應用的主要需求場景,還為未來的擴展預留了充足的空間。

更為重要的是,MCP 在設計之初就將安全性作為核心要求。協議內置了完善的身份認證和權限控制機制,支持 API 密鑰、OAuth 2.0、JWT 等多種主流認證方式,并且提供了細粒度的權限控制能力,可以精確控制 AI 應用能夠訪問哪些資源、執行哪些操作。這種全方位的安全設計確保了企業級 AI 應用的數據安全需求能夠得到充分保障。同時,MCP 還在性能層面進行了深度優化,支持連接復用、批量操作、流式處理等多種性能優化策略,能夠滿足 AI 應用對高吞吐量和低延遲的嚴格要求。

Model Context Protocol (MCP):連接 AI 與數據的橋梁-2.png

通過 MCP 這座技術橋梁,Apache Doris 正在構建一個開放、標準、高效的 AI 數據訪問生態系統。在這個生態中,AI 開發者可以專注于算法創新和業務邏輯優化,而不必為底層的數據訪問技術細節而分心;數據庫廠商也可以通過標準化的接口為 AI 應用提供服務,而不必為每個 AI 平臺重復開發適配層。這種標準化的力量正在重塑整個 AI 應用的開發模式,讓 AI 技術的普及和應用變得更加簡單和高效。

四、Doris MCP:構建面向 AI 的數據訪問生態

4.1 主流 Agent 應用場景與 MCP 需求分析

在當前 AI 應用快速發展的背景下,不同類型的 Agent 對數據訪問能力呈現出差異化的需求特征。通過深入分析主流 Agent 應用場景,我們可以更清晰地理解 MCP 協議需要解決的核心問題,并為技術實現提供明確的方向指引。

主流 Agent 應用場景與 MCP 需求分析.png

4.2 Doris MCP 技術實現現狀

Doris MCP Server 的技術實現體現了對 AI 時代數據訪問需求的深刻理解。整個系統基于 Python 和 FastAPI 構建,這種技術選型不僅保證了開發效率和代碼質量,也確保了與現有 AI 技術棧的良好兼容性。

Doris MCP 技術實現現狀.png

協議支持的多模式設計

Doris MCP 在協議支持方面采用了多模式設計,以適應不同的部署場景和應用需求。

  • SSE(Server-Sent Events)模式通過 HTTP 協議提供實時雙向通信能力,特別適合 Web 應用的集成場景。這種模式的優勢在于可以充分利用現有的 HTTP 基礎設施,簡化部署和運維復雜度。
  • Streamable HTTP 模式則專門針對大數據量查詢場景進行了優化,支持流式數據傳輸,可以有效處理 GB 級甚至 TB 級的查詢結果。但當前 MCP 版本還未完全測試通過,預計在下個 MCP 版本中推出。
  • Stdio 模式作為標準輸入輸出接口,為開發工具集成提供了最佳的兼容性,特別是在 Cursor 等現代 IDE 中的集成表現尤為出色。

核心工具集合的系統化設計

Doris MCP 的工具集合采用了系統化的設計思路,涵蓋了 AI 應用訪問數據庫的全生命周期需求。

  • exec_query作為核心的 SQL 執行引擎,不僅支持標準的查詢操作,還內置了安全檢查、參數驗證、結果優化等高級功能。
  • 元數據相關的工具如get_table_schemaget_table_column_comments等,為 AI 應用理解數據結構提供了完整的信息支撐。
  • 審計相關的工具如get_recent_audit_logs,則為企業級應用的合規性需求提供了必要的支持。

數據庫交互的深度優化

在數據庫交互層面,Doris MCP 實現了多項性能優化策略。連接池管理采用了智能化的設計,能夠根據實際負載情況動態調整連接數量,在保證性能的同時避免資源浪費。查詢執行優化包括了自動 SQL 安全檢查、智能 LIMIT 添加、結果序列化優化等功能,這些優化措施確保了系統在高并發場景下的穩定性和效率。查詢超時管理和資源占用控制則為系統的健壯性提供了重要保障。

聯邦查詢能力的戰略價值

基于 Doris 的 Multi-Catalog 功能,MCP Server 實現了真正意義上的多數據源統一訪問能力。這種能力的戰略價值在于,它讓 AI 應用能夠突破單一數據源的限制,獲得更加全面和完整的數據視圖。

系統目前支持 MySQL、PostgreSQL、Oracle、SQL Server 等主流關系型數據庫,同時也支持 Hive、Iceberg、Hudi、Paimon 等大數據生態系統,以及 S3、HDFS、MinIO、OSS 等云存儲服務。這種廣泛的數據源支持能力為 AI 應用提供了強大的數據整合基礎。

五、實戰演示:體驗 Doris MCP 的魅力

從環境搭建的簡潔性到查詢執行的高效性,從多數據源集成的便利性到安全管控的可靠性,每一個細節都體現著 Doris 團隊對 AI 時代數據訪問需求的深刻理解和精心設計。通過這些實戰演示,我們不僅能夠看到 Doris MCP 的技術優勢,更能感受到它為 AI 應用開發帶來的革命性變化。

在環境搭建方面,Doris MCP 的設計哲學是"開箱即用"。整個安裝配置過程被簡化到了極致,開發者只需要幾個簡單的命令就能完成 Doris MCP Server 的部署。首先通過 Docker 方式啟動 Doris 集群,然后通過簡單的配置文件設置連接參數和安全選項,最后啟動 MCP Server 服務。整個過程通常只需要 10 分鐘左右,這種簡潔性讓開發者能夠快速上手,專注于業務邏輯的實現而不是復雜的環境配置。

實戰演示:體驗 Doris MCP 的魅力.png

在典型應用場景中,我們可以清晰地看到 Doris MCP 在不同業務場景下的強大能力。

以電商數據分析為例,當業務分析師通過 AI 助手詢問"最近一周哪些商品的銷量增長最快"時,LLM + Doris MCP Server 會自動解析這個自然語言查詢,識別出時間范圍、指標類型、排序條件等關鍵信息,然后生成相應的 SQL 查詢語句。在執行過程中,系統會自動選擇最優的數據源(可能包括實時訂單數據、商品主數據、庫存數據等),制定高效的執行計劃,并在毫秒級時間內返回準確的分析結果。更令人印象深刻的是,當分析師繼續追問"這些商品的主要購買用戶群體特征是什么"時,系統能夠基于前一次查詢的上下文,自動關聯用戶數據和行為數據,提供深度的用戶畫像分析。

這種多輪對話的能力讓數據分析變得如同日常交流一樣自然流暢。

在知識庫檢索等 RAG 的系統中,我們看到了 Doris MCP 在向量檢索方面的強大能力。當推薦系統需要為用戶推薦相似商品時,MCP Server 會利用 Doris 的原生向量索引能力,快速檢索與用戶歷史行為相似的商品向量,同時結合商品的實時庫存、價格、評分等結構化數據,生成個性化的推薦結果。這種向量數據與結構化數據的無縫融合,為推薦系統提供了更加精準和豐富的數據支撐。

實戰演示:體驗 Doris MCP 的魅力-2.png

在性能表現的分析中,我們通過一系列基準測試全面驗證了 Doris 的性能優勢。在查詢延遲方面,簡單查詢的平均響應時間保持在秒內,復雜聚合查詢的響應時間也控制在秒級,這種低延遲特性確保了 AI 應用能夠提供流暢的用戶體驗。在并發能力方面,單個 MCP Server 實例能夠同時處理數百個并發查詢請求,而通過集群部署可以輕松擴展到處理數千個并發請求。

示例 1: Dify Agent + Doris MCP 構建 ChatBI

本示例使用 SSE 通信方式進行連接。

ChatBI 作為 Data Agent 在商業智能領域的具體應用,通過 MCP 協議實現了與 Apache Doris 的深度集成,為企業用戶提供了革命性的數據分析體驗。與傳統的 BI 工具需要預先定義報表和儀表板不同,ChatBI 允許用戶通過自然語言實時查詢任何數據,獲得即時的業務洞察。

實戰演示:體驗 Doris MCP 的魅力-3.png

在 ChatBI 的技術架構中,MCP 協議扮演著核心的橋梁作用。當用戶通過聊天界面提出業務問題時,ChatBI 系統首先會通過自然語言處理技術理解用戶的查詢意圖,然后通過 MCP 協議與 Doris 進行交互。這個交互過程包括多個步驟:首先通過 get_db_table_list 獲取相關的數據表信息,然后通過 get_table_schema 了解表結構,接著生成相應的 SQL 查詢語句,最后通過 exec_query 執行查詢并獲取結果。

示例 2: Cursor Agent + Doris MCP 協助智能開發

本示例使用 Stdio 通信方式進行連接。

Cursor 作為現代化的 AI 驅動代碼編輯器,深度支持 MCP 協議,可以作為 MCP Client(HOST 角色)與各種 MCP Server 進行通信。Cursor 支持多種 MCP 通信模式,包括 Stdio(標準輸入輸出)和 SSE(Server-Sent Events)等,其中 Stdio 模式因其直接性和高效性而成為開發環境中的首選方案。

在技術架構層面,Cursor 通過 Stdio 模式與 Doris MCP Server 建立連接時,采用標準的進程間通信方式。Cursor 作為父進程啟動 Doris MCP Server 子進程,然后通過標準輸入輸出流進行 JSON-RPC 2.0 協議的消息交換。這種通信方式的優勢在于延遲極低、資源占用少,特別適合開發環境中的頻繁交互操作。

Cursor 的 MCP 集成為開發者提供了強大的數據庫交互能力。開發者可以在編碼過程中直接通過自然語言查詢數據庫信息,無需離開編輯器環境去查看數據庫文檔或執行 SQL 命令。這種無縫集成大大提升了開發效率,特別是在需要頻繁查看表結構、分析數據分布、驗證業務邏輯的開發場景中。

通過這些實戰演示,我們清晰地看到了 Apache Doris MCP 在實際應用中的卓越表現。它不僅僅是一個技術產品,更是企業數字化轉型和智能化升級的重要推動力量。隨著越來越多的企業開始采用 AI 技術來驅動業務創新,Doris MCP 必將在其中扮演越來越重要的角色,為企業的數據智能化之路提供堅實的技術保障。

六、結語:攜手共建智能數據未來

當我們回顧這篇文章的內容,從 AI 浪潮的席卷到 Apache Doris 的技術創新,從 MCP 協議的標準化到實際應用的成功案例,我們看到的不僅僅是技術的進步,更是一個嶄新時代的到來。在這個時代中,數據不再是靜態的存儲對象,而是流動的智能資源;數據庫不再是單純的存儲系統,而是智能化的服務平臺。Apache Doris 以其在 AI 方向的深度布局和技術創新,正在成為連接數據與智能的重要橋梁。

Apache Doris 從一個優秀的分析型數據庫,發展成為 AI 時代的智能數據平臺,這個轉變體現了團隊對技術趨勢的準確判斷和前瞻性布局。從向量索引的原生支持到 MCP 協議的完整實現,每一個技術決策都體現了對 AI 時代數據需求的深刻理解。特別是 MCP 協議的引入和實現,更是開創性地解決了 AI 應用與數據源集成的標準化問題,為整個行業的發展指明了方向。

Doris MCP 項目的開源發布,建立了一個全球性的技術協作平臺。來自不同國家、不同背景的開發者共同為一個目標而努力,分享知識、交流經驗、協作創新。這種開源協作模式不僅加速了技術的發展,也體現了技術無國界的美好理念。

展望未來,隨著 AI 技術的不斷成熟和應用場景的不斷拓展,Apache Doris 必將在這個過程中發揮越來越重要的作用。在這個智能數據的時代,讓我們攜手共進,在開源社區的大旗下,共同構建一個更加智能、更加開放、更加美好的數據未來。

這就是 Apache Doris 的故事,這就是 AI 與數據融合的故事,這就是我們共同創造未來的故事。故事還在繼續,精彩還在展開,讓我們一起期待更加美好的明天!

如果您對 Doris MCP 感興趣,歡迎留言探討溝通。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908239.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908239.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908239.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

能不能用string接收數據庫的datetime類型字段

在Java中使用String類型通過MyBatis接收MySQL的datetime類型字段時,?可以正常工作,但需注意格式和潛在問題。以下是關鍵點: 1. ?直接轉換是可行的? MySQL的datetime字段(如 2023-10-05 12:34:56)會被MyBatis自動轉…

【Python訓練營打卡】day44 @浙大疏錦行

DAY 44 預訓練模型 知識點回顧: 1. 預訓練的概念 2. 常見的分類預訓練模型 3. 圖像預訓練模型的發展史 4. 預訓練的策略 5. 預訓練代碼實戰:resnet18 作業: 1. 嘗試在cifar10對比如下其他的預訓練模型,觀察差異,…

MySQL中關于事務和鎖的常見執行命令整理包括版本區別

MySQL中關于事務和鎖的常見執行命令實例整理,并標注了不同版本下的區別(如MySQL 8.0與舊版本的差異): 一、事務相關命令 1. 事務控制 命令描述版本差異START TRANSACTION; 或 BEGIN;顯式開啟事務通用語法,無版本差異…

PyTorch-Transforms的使用(二)

對圖像進行處理 安裝open cv ctrlP 看用法 ToTensor的使用 常見的Transforms 歸一化的圖片 兩個長度為三的數組,分別表示三個通道的平均值和標準差 Resize() Compose() 合并執行功能,輸入進去一個列表&a…

vscode實用配置

前端開發安裝插件: 1.可以更好看的顯示文件圖標 2.用戶快速打開文件 使用步驟:在html文件下右鍵點擊 open with live server 即可 刷力扣: 安裝這個插件 還需要安裝node.js即可

Day130 | 靈神 | 回溯算法 | 子集型 電話號碼的字母組合

Day130 | 靈神 | 回溯算法 | 子集型 電話號碼的字母組合 17.電話號碼的字母組合 17. 電話號碼的字母組合 - 力扣(LeetCode) 思路: 筆者用index代替i,這里的index其實就是digits數組的下標 按照靈神的回溯三問,那就…

深入理解JavaScript設計模式之閉包與高階函數

前言小序 一場失敗面試 2023年的某一天,一場讓我印象深刻的面試: 面試官: “你了解閉包嗎?請說一下你對閉包的理解。” 我自信滿滿地答道: “閉包就是函數里面套函數,里面的函數可以訪問外部函數的變量。…

使用 Spring Boot 3.3 和 JdbcTemplate 操作 MySQL 數據庫

在現代的 Java 應用開發中,Spring Boot 提供了強大的工具來簡化數據庫操作。JdbcTemplate 是 Spring 提供的一個核心類,用于簡化 JDBC 操作,減少樣板代碼。本文將介紹如何在 Spring Boot 3.3 項目中使用 JdbcTemplate 來操作 MySQL 數據庫&am…

如何做好一份技術文檔?(下篇)

如何做好一份技術文檔?(下篇) 下篇:文檔體驗的極致優化 ——從可用性到愉悅性的跨越 文檔用戶體驗地圖 新手路徑 專家路徑 [安裝] → [配置] → [示例] [API] → [參數] → [源碼] │ ▲ …

Windows 12確認沒了,Win11 重心偏移修Bug

微軟悄然擱置了傳說中的Windows 12開發計劃,轉身將精力投入到Windows 11的持續進化中。今年秋季的主角已經確定——Windows 11 25H2,它將于9月或10月間與我們正式見面。 與去年24H2的大規模更新不同,25H2更像是場精心策劃的“功能解鎖”。微軟…

JavaScript中的正則表達式:文本處理的瑞士軍刀

JavaScript中的正則表達式:文本處理的瑞士軍刀 在編程世界中,正則表達式(Regular Expression,簡稱RegExp)被譽為“文本處理的瑞士軍刀”。它能夠高效地完成字符串匹配、替換、提取和驗證等任務。無論是前端開發中的表…

基于LEAP模型在能源環境發展、碳排放建模預測及分析中實踐應用

在國家“3060”碳達峰碳中和的政策背景下,如何尋求經濟-能源-環境的平衡有效發展是國家、省份、城市及園區等不同級別經濟體的重要課題。根據國家政策、當地能源結構、能源技術發展水平以及相關碳排放指標制定合理有效的低碳能源發展規劃需要以科學準確的能源環境發…

Python爬蟲實戰:研究RoboBrowser庫相關技術

1. 引言 1.1 研究背景與意義 隨著電子商務的快速發展,商品信息呈現爆炸式增長。據 Statista 數據顯示,2025 年全球電子商務銷售額預計將達到 7.4 萬億美元,海量的商品數據蘊含著巨大的商業價值。對于電商企業而言,及時獲取競爭對手的產品信息、價格動態和用戶評價,能夠幫…

JVM垃圾回收器-ZGC

一、概述 ZGC(Z Garbage Collector)是一種高效且可擴展的低延遲垃圾回收器。在垃圾回收過程中,ZGC通過優化算法和硬件支持,將Stop-The-World(STW)時間控制在一毫秒以內,使其成為追求低延遲應用…

區間動態規劃

線性 DP 的一種,簡稱為「區間 DP」。以「區間長度」劃分階段,以兩個坐標(區間的左、右端點)作為狀態的維度。一個狀態通常由被它包含且比它更小的區間狀態轉移而來。 一、概念 間 DP 的主要思想就是:先在小區間內得到…

4. 數據類型

4.1 數據類型分類 分類 數據類型 說明 數值類型 BIT(M) 位類型。M指定位數,默認值1,范圍1 - 64 TINYINT [UNSIGNED] 帶符號的范圍 -128 ~ 127,無符號范圍0 ~ 255,默認有符號 BOOL 使用0和1表示真和假 SMALLINT [UNSIGNED] 帶符號是…

設計模式-2 結構型模式

一、代理模式 1、舉例 海外代購 2、代理基本結構圖 3、靜態代理 1、真實類實現一個接口,代理類也實現這個接口。 2、代理類通過真實對象調用真實類的方法。 4、靜態代理和動態代理的區別 1、靜態代理在編譯時就已經實現了,編譯完成后代理類是一個實際…

vue+element-ui一個頁面有多個子組件組成。子組件里面有各種表單,實現點擊enter實現跳轉到下一個表單元素的功能。

一個父組件里面是有各個子組件的form表單組成的。 我想實現點擊enter。焦點直接跳轉到下一個表單元素。 父組件就是由各個子組件構成 子組件就像下圖一樣的都有個el-form的表單。 enterToTab.js let enterToTab {}; (function() {// 返回隨機數enterToTab.addEnterListener …

Open SSL 3.0相關知識以及源碼流程分析

Open SSL 3.0相關知識以及源碼流程分析 編譯 windows環境編譯1、工具安裝 安裝安裝perl腳本解釋器、安裝nasm匯編器(添加到環境變量)、Visual Studio編譯工具 安裝dmake ppm install dmake # 需要過墻2、開始編譯 # 1、找到Visual Studio命令行編譯工具目錄 或者菜單欄直接…

【Redis】筆記|第5節|Redisson實現高并發分布式鎖核心源碼

一、加鎖流程 1. 核心方法調用鏈 RLock lock redisson.getLock("resource"); lock.lock(); // 阻塞式加鎖? lockInterruptibly()? tryAcquire(-1, leaseTime, unit) // leaseTime-1表示啟用看門狗? tryAcquireAsync()? tryLockInnerAsync() // 執行Lua腳本 2…