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

現(xiàn)代應用中基于偏移量和游標分頁的高效數(shù)據(jù)管理

譯文
存儲 數(shù)據(jù)管理
本文探索與Jakarta Data、Quarkus和MongoDB集成的基于偏移量和游標的分頁,強調(diào)它們在REST API中的優(yōu)勢和實際用途。

譯者 | 李睿

審校 | 重樓

在軟件開發(fā)中,有效地管理大型數(shù)據(jù)集至關重要。而檢索策略在提高性能和可擴展性方面起著至關重要的作用,特別是在響應時間非常關鍵的情況下。分頁是有效管理數(shù)據(jù)的一項核心技術,它對于優(yōu)化性能和資源管理至關重要。本文將探討適用于不同場景和需求的兩種分頁策略:基于偏移量的分頁和基于游標的分頁。這些策略將幫助用戶了解分頁的重要性,以及它們?nèi)绾问顾麄兊南到y(tǒng)受益。

利用Jakarta Data,本文將探索這些分頁技術集成到使用Quarkus和MongoDB開發(fā)的REST API中。這種組合展示了實際應用的實現(xiàn),并突出了現(xiàn)代技術和先進數(shù)據(jù)處理方法之間的協(xié)同作用。

本文旨在全面理解每種分頁方法的機制、優(yōu)點和權衡,使開發(fā)人員能夠做出適合復雜和高需求應用程序的明智決策。

分頁:從古代卷軸到現(xiàn)代數(shù)據(jù)庫

分頁是數(shù)據(jù)組織中的一個重要概念,其根源可以追溯到最早的書面記錄形式。在現(xiàn)代應用方法中,分頁將內(nèi)容劃分為離散的頁面,無論是印刷頁面還是數(shù)字頁面。通過使信息訪問易于管理和直觀,以及通過限制在任何時間加載或呈現(xiàn)的數(shù)據(jù)量來增強數(shù)據(jù)檢索系統(tǒng)的性能來改進用戶體驗。

有效數(shù)據(jù)組織的必要性是一個復雜的難題。像羅馬這樣的古代文明發(fā)展了早期管理大量書面信息的方法。盡管古羅馬人沒有像現(xiàn)代人所理解的那樣使用分頁——將文本劃分為頁面,但他們實施了預示著現(xiàn)代分頁系統(tǒng)的組織方法。

在羅馬,長文本通常寫在紙莎草或牛皮紙制成的卷軸上。這些卷軸很長,采用索引和標記來導航。這種標記的作用類似于現(xiàn)代目錄,引導讀者閱讀不同的文本部分。雖然按照當今的標準來看,這種方法很簡陋,但它代表了一種早期的分頁形式,原因是它將信息組織成可以獨立訪問的片段。

此外,羅馬人還使用蠟板來記錄較短的文件。這些蠟板可以裝訂在一起,形成一種類似于當今書籍的結構——手抄本(codex)。手抄本的出現(xiàn)是文本組織的一次重大演變,使人們能夠更快、更有效地獲取信息。用戶可以翻頁,這顯然是當前分頁系統(tǒng)的前身,顯著地提高了查看信息的速度和便利性。

在數(shù)字時代,分頁對于有效處理大型數(shù)據(jù)集至關重要。數(shù)字分頁通過分段交付內(nèi)容而不是要求同時加載整個數(shù)據(jù)集,有助于管理服務器負載并縮短響應時間。它通過提供無縫的導航體驗來節(jié)省資源,并改進用戶與應用程序的交互。

古羅馬的文本組織方法和現(xiàn)代數(shù)字分頁之間的相似之處突出了貫穿歷史的持續(xù)需求:有效地管理大量信息。無論是通過卷軸上的物理標記、手抄本的開發(fā),還是復雜的數(shù)字分頁算法,其核心挑戰(zhàn)仍然是一樣的——使信息可訪問和可管理。

現(xiàn)代應用中的分頁:必要性和策略

分頁是現(xiàn)代軟件應用程序中的一個基本特性,它有助于將數(shù)據(jù)組織成可管理的部分。這種方法通過防止信息過載來增強用戶體驗,并通過減少后端系統(tǒng)的負載來優(yōu)化應用程序性能。當對數(shù)據(jù)進行分頁時,系統(tǒng)一次只能查詢和呈現(xiàn)必要的數(shù)據(jù)子集,從而減少內(nèi)存使用并改善響應時間。它在大型數(shù)據(jù)集或用戶高并發(fā)性應用程序中尤其重要。在這些應用程序中,高效的數(shù)據(jù)處理可以顯著提高可擴展性和用戶滿意度。

分頁非常有用,但它也帶來了一些挑戰(zhàn)。開發(fā)人員需要仔細平衡用戶體驗和服務器性能。實現(xiàn)分頁需要在客戶端和服務器端附加邏輯,這會使其開發(fā)變得更加復雜。雖然分頁可以通過只獲取部分數(shù)據(jù)來減少初始加載時間,但它可能會增加用戶在多個頁面中導航時的總等待時間。而維護頁面之間的場景,例如排序和過濾器,也需要仔細的狀態(tài)管理,并增加了復雜性。

在現(xiàn)代網(wǎng)頁(Web)開發(fā)中,有兩種主要的分頁策略:基于偏移量的分頁和基于游標的分頁。每種分頁策略都有優(yōu)點和缺點,使其更適合不同的場景。

基于偏移量的分頁

基于偏移量的分頁是將數(shù)據(jù)劃分為可管理數(shù)據(jù)塊的傳統(tǒng)方法。在返回一定數(shù)量的記錄之前,跳過指定數(shù)量的記錄來訪問數(shù)據(jù)。這種技術經(jīng)常用于Web和數(shù)據(jù)庫應用程序中,以便使用簡單的數(shù)字偏移量直接導航到特定的頁面。

圖1基于偏移量的分頁示意圖圖1基于偏移量的分頁示意圖

基于偏移量的分頁實現(xiàn)通常涉及數(shù)據(jù)庫查詢中的兩個關鍵參數(shù):

  • LIMIT:該參數(shù)指定在單個頁面中返回的最大記錄數(shù)。它定義了每個數(shù)據(jù)塊的大小,與分頁中的“頁面”概念保持一致。
  • OFFSET:該參數(shù)表示從數(shù)據(jù)集開頭跳過的記錄數(shù)。OFFSET的值通常計算為(頁面-1)*頁面大小,允許用戶直接跳轉到任何頁面的開頭。

基于偏移量的分頁因其簡單和直接的實現(xiàn)而備受青睞。在用戶可以直接跳轉到特定頁面,并且記錄總數(shù)已知且相對穩(wěn)定的應用程序中,這種方法尤其有效。這使得它非常適合用戶友好的導航和簡單性至關重要的情況。

基于偏移量的分頁的主要限制是它在大型數(shù)據(jù)集上的可擴展性。隨著數(shù)據(jù)集的增長和用戶請求的頁面數(shù)量的增加,跳過許多記錄的成本也會增加。這將導致查詢性能變慢,因為每個后續(xù)頁面都需要計數(shù)和跳過更多記錄才能到達所需頁面的起始點。

如果底層數(shù)據(jù)需要插入、刪除或修改,用戶在頁面之間導航時可能會遇到“幻讀”或跳過記錄。發(fā)生這種情況是因為偏移量沒有考慮初始頁面加載后數(shù)據(jù)集大小或順序的變化。

基于偏移量的分頁由于其用戶友好的方法和易于實現(xiàn)的特點,仍然是許多應用程序的熱門選擇。然而,了解其局限性并正確規(guī)劃其使用對于確保系統(tǒng)在數(shù)據(jù)擴展時保持響應并提供良好的用戶體驗至關重要。

基于游標的分頁

基于游標的分頁是在大型或動態(tài)更新的數(shù)據(jù)集中管理數(shù)據(jù)檢索的有效方法。它使用游標(對數(shù)據(jù)集中特定點的引用)從游標位置開始順序獲取數(shù)據(jù)。

圖2基于游標的分頁示意圖圖2基于游標的分頁示意圖

基于游標的分頁依賴于游標來指導數(shù)據(jù)獲取。游標可以包含多個字段,以確保精確的數(shù)據(jù)檢索和維護排序順序。以下是它的結構:

(1)游標字段

一個或多個字段唯一標識數(shù)據(jù)集中每條記錄的位置。這些字段應該是穩(wěn)定的(即設置之后不更改)和唯一的,以防止重復和確保數(shù)據(jù)完整性。常用的字段包括時間戳、唯一ID或多個字段的組合,以支持復雜的排序需求。

(2)查詢方向

這個指定數(shù)據(jù)檢索相對于游標位置是向前移動還是向后移動。它在社交媒體訂閱源或日志監(jiān)控系統(tǒng)等可能感興趣的新條目或舊條目的應用程序中非常有用。

(3)多個字段的使用

當按多個條件排序時(例如,按creation_date和title對博客文章進行排序),游標可以包含這些字段,以確保分頁在查詢之間保持指定的排序順序。它對于一致性至關重要,特別是在數(shù)據(jù)集很大或經(jīng)常更新的情況下。

在分頁中使用游標對于大型或頻繁更新的數(shù)據(jù)集特別有利,因為它避免了跳過記錄的性能開銷,并確保對數(shù)據(jù)的一致訪問。

雖然基于游標的分頁提供了顯著的性能優(yōu)勢并增強了數(shù)據(jù)一致性,但其實現(xiàn)可能很復雜。它需要設置一個穩(wěn)定且唯一的游標,這可能具有挑戰(zhàn)性,特別是在沒有明顯唯一標識符的數(shù)據(jù)集中。此外,它將用戶限制為順序導航,這在需要隨機訪問數(shù)據(jù)的用例中可能是一個限制。調(diào)整用戶界面以平滑地使用基于游標的分頁,特別是在游標中使用多個字段時,也會增加開發(fā)的復雜性。

在應用程序中實現(xiàn)分頁時,開發(fā)人員通常必須在基于偏移量的分頁和基于游標的分頁之間進行選擇。每種方法都有不同的優(yōu)勢和挑戰(zhàn)。為了做出明智的決策,了解這些方法在各個方面的比較是至關重要的,例如實現(xiàn)的容易程度、性能、數(shù)據(jù)一致性和用戶導航。為了幫助確定最適合軟件開發(fā)中不同場景的分頁策略,下表提供了基于偏移量和基于游標的分頁的全面比較,突出了關鍵特性和典型用例。此外,該表還考慮了可擴展性。

功能

基于偏移量的分頁

基于游標的分頁

描述

使用數(shù)字偏移量對數(shù)據(jù)進行分頁,以便在返回下一組記錄之前跳過幾條記錄

使用游標(通常是唯一標識符)從指定位置按順序獲取數(shù)據(jù)

實施

使用LIMIT和OFFSET參數(shù)實現(xiàn)基本的SQL或NoSQL查詢很簡單

實現(xiàn)起來比較復雜,需要一個穩(wěn)定且唯一的字段作為游標

最佳用例

非常適合中小型數(shù)據(jù)集和應用程序,其中總數(shù)據(jù)計數(shù)和對任何頁面的直接訪問是有益的

非常適合大型或動態(tài)變化的數(shù)據(jù)集,其中性能和數(shù)據(jù)一致性至關重要

性能

性能隨著數(shù)據(jù)集大小的增加而下降,特別是當訪問由于跳過記錄的負載增加而導致的更高頁碼時

始終如一的高性能,因為它避免了跳過記錄和直接從游標位置開始訪問數(shù)據(jù)的開銷

數(shù)據(jù)一致性

如果底層數(shù)據(jù)發(fā)生變化,在分頁過程中容易出現(xiàn)幻讀或數(shù)據(jù)重復等問題

提供更好的一致性,因為每個頁面加載取決于游標的位置,這可以適應數(shù)據(jù)的變化

用戶導航

允許用戶直接跳轉到任何特定頁面,方便隨機訪問

通常將用戶限制為順序導航,這可能不適合所有應用程序

查詢的復雜性

簡單的查詢,直接的分頁邏輯

查詢可能很復雜,特別是當多個字段用作游標以維護順序和唯一性時

可擴展性

由于較高偏移量增加了查詢負載,因此在較大數(shù)據(jù)集的情況下可擴展性較差

高度可擴展,特別有效地處理龐大的數(shù)據(jù)集

在處理大型數(shù)據(jù)集時,了解分頁策略的效率和局限性至關重要?;谄屏康姆猪摰囊粋€主要挑戰(zhàn)是,隨著偏移量的增加,訪問數(shù)據(jù)變得更加困難,特別是在大型數(shù)據(jù)集中。例如,如果一個數(shù)據(jù)集有100萬條記錄,并被分成100個頁面,那么訪問最后一個頁面(第10000頁)將要求數(shù)據(jù)庫在傳遞最后100條記錄之前處理并丟棄最初的999,900條記錄。隨著數(shù)據(jù)集的增長,它可能導致更長的加載時間,使得基于偏移量的分頁在處理大量數(shù)據(jù)時不太實用。

與基于偏移量的分頁相比,基于游標的分頁是管理廣泛數(shù)據(jù)集的更有效的解決方案。對于基于偏移量的分頁,高偏移量可能會導致性能問題,但是基于游標的分頁通過使用游標跟蹤最后獲取的記錄來避免這些缺陷。該方法允許后續(xù)查詢從最后一個查詢結束的地方開始,從而提高數(shù)據(jù)檢索速度。為了說明這一點,本文附帶的圖表比較了基于偏移量的分頁和基于游標的分頁在處理730萬條記錄的數(shù)據(jù)集時的性能,顯示了使用游標進行分頁的速度優(yōu)勢顯著。

這種可視化表示強調(diào)了在考慮數(shù)據(jù)集大小和訪問模式等因素的情況下選擇適當分頁方法的戰(zhàn)略重要性。這確保了最佳的性能和用戶體驗,這是大規(guī)模數(shù)據(jù)處理的關鍵考慮因素。

圖3 MySQL中730萬條記錄的基于偏移量和游標的分頁(來源)圖3 MySQL中730萬條記錄的基于偏移量和游標的分頁(來源)

選擇基于偏移量的分頁還是基于游標的分頁取決于應用程序的特定需求。基于偏移量的分頁對于較小的數(shù)據(jù)集或需要直接頁面訪問時效果很好,而基于游標的分頁更適合大型或動態(tài)數(shù)據(jù)集。接下來,將在一個示例應用程序中演示這兩種方法,以展示每種方法的實際含義。

實用的分頁介紹

本節(jié)將從關于分頁的理論討論過渡到實際演示,重點介紹實現(xiàn)基于偏移量的分頁和基于游標的分頁的不同方法。以下將探索這些概念,在與MongoDB配對的Quarkus應用程序中使用Jakarta Data。這種設置能夠通過操作可管理的數(shù)據(jù)集來直接比較兩種分頁技術。

設定的目標是提供一個清晰的示例,說明如何使用Jakarta Data無縫集成和管理這兩種分頁策略,這是Java應用程序中用于數(shù)據(jù)處理的強大工具集。雖然這個演示的重點是一個只涉及10個元素的簡單場景,但重要的是要注意,所討論的原則和方法并不局限于小數(shù)據(jù)集。它們是可擴展的,適用于更大的數(shù)據(jù)集,讓用戶有信心在現(xiàn)實場景中應用這些策略。

此外,開發(fā)一個全面的REST API(包括使用查詢參數(shù)和實現(xiàn)用于分頁的HATEOAS(超媒體作為應用程序狀態(tài)引擎))的更廣泛的場景值得進行詳細的討論。設計此類API所涉及的復雜性以及有效合并分頁的策略是在這里不深入研究的重要主題。與其相反,這一演示旨在介紹使用Jakarta Data進行分頁的核心概念,重點關注分頁機制的技術實現(xiàn),而不是REST API設計的復雜性。最后將在文章結尾處為那些有興趣深入探索REST API構建的更廣泛背景和細節(jié)的人員提供參考。

本文專門討論了Jakarta Data中可用的分頁特性。但是,需要注意的是,Jakarta Data提供了廣泛的功能,旨在簡化Jakarta EE應用程序的持久性集成。

Jakarta Data通過其API促進分頁,在管理大型數(shù)據(jù)集或需要復雜查詢功能的應用程序中實現(xiàn)高效的數(shù)據(jù)處理和檢索。兩個主要組件支持分頁功能:

1.創(chuàng)建PageRequest

Jakarta Data提供了PageRequest類來封裝分頁請求。以下是如何指定不同類型的分頁:

(1)基于偏移量的分頁

當想要為數(shù)據(jù)檢索指定特定的頁面和大小時,使用這個方法。它很簡單,適合于已知項目總數(shù)的許多標準用例。

Java 
 PageRequest offSet = PageRequest.ofPage(1).size(10);

(2)基于游標的分頁

這一方法用于處理連續(xù)數(shù)據(jù)流或數(shù)據(jù)集較大且經(jīng)常更新的情況。它允許從某一點連續(xù)獲取數(shù)據(jù),而無需重新查詢先前獲取的記錄。

Java 
 PageRequest cursor = PageRequest.ofSize(10).afterCursor(PageRequest.Cursor.forKey("key"));

這兩種方法都旨在通過限制每個查詢檢索的記錄數(shù)量來優(yōu)化數(shù)據(jù)獲取過程,從而提高性能和資源利用率。

2.特殊參數(shù)

Jakarta Data還允許使用特殊參數(shù)來增強存儲庫接口的功能。這些參數(shù)可用于進一步優(yōu)化分頁策略,包括限制、排序和更復雜的分頁機制。

分頁查詢的標準返回結構是頁面(Page)接口,它提供了一種處理分頁數(shù)據(jù)的簡單方法。Jakarta Data提供了一個名為CursoredPage的專門版本,用于基于游標的分頁。這種結構對于傳統(tǒng)的基于頁面的導航不足或不實用的場景是有益的。

實際的例子

根據(jù)之前關于Jakarta Data分頁特性的討論,希望通過一個實際示例展示如何在實際應用程序中實現(xiàn)這些功能。所展示的示例將Jakarta Data與Eclipse JNoSQL、Quarkus和MongoDB結合使用,以展示Jakarta Data的靈活性和強大功能,特別是它如何通過Jakarta Persistence與NoSQL和關系數(shù)據(jù)庫進行接口。

對于那些有興趣探索完整代碼并深入了解其功能的人,可以在這里找到樣例項目:Quarkus Pagination with JNoSQL and MongoDB.

示例中的FruitRepository擴展了BasicRepository,利用Jakarta Data的功能以一種簡化的方式與數(shù)據(jù)庫進行交互。這個存儲庫演示了Jakarta Data獲取和管理數(shù)據(jù)的三種主要方法:

(1)使用@Find注釋:通過允許直接基于注釋的查詢,簡化了查詢過程。

(2)使用Jakarta Query Language:支持類似于SQL的更復雜的查詢,適合高級數(shù)據(jù)操作。

(3)按查詢約定使用方法:促進基于方法命名約定的查詢,使代碼更易于閱讀和維護。

在FruitRepository中,實現(xiàn)了兩個特定的方法來處理分頁:

Java 
 @Repository
 public interface FruitRepository extends BasicRepository<Fruit, String> {

 @Find
 CursoredPage<Fruit> cursor(PageRequest pageRequest, Sort<Fruit> order);

 @Find
 @OrderBy("name")
 Page<Fruit> offSet(PageRequest pageRequest);

 long countBy();
}
  • 基于游標的分頁:它利用CursoredPage<Fruit>來有效地管理大型數(shù)據(jù)集。這種方法在數(shù)據(jù)不斷更新的應用程序中特別有用,因為它提供了一種穩(wěn)定和高性能的方式來處理順序數(shù)據(jù)檢索。
  • 基于偏移量的分頁:它使用一個簡單的Page<Fruit>來以更傳統(tǒng)的逐頁方式訪問數(shù)據(jù)。這種方法簡單明了,許多開發(fā)人員都很熟悉,非常適合具有穩(wěn)定和可預測數(shù)據(jù)集的應用程序。

這些示例說明了Jakarta Data在處理不同分頁策略方面的多功能性,為開發(fā)人員提供了基于其特定應用程序需求的強大選項。這種方法不僅強調(diào)了Jakarta Data的實際應用,而且強調(diào)了它在不同類型的數(shù)據(jù)庫和數(shù)據(jù)管理策略之間的適應性。

在使用Jakarta Data的實際實現(xiàn)的基礎上,Quarkus應用程序中的FruitResource類為基于偏移量的分頁和基于游標的分頁方法提供REST端點。這個設置有效地展示了這兩種策略之間的細微差別,以及如何將它們應用于RESTful數(shù)據(jù)服務。

在FruitResource類中,為不同的分頁策略定義了兩個不同的REST端點。

這個端點演示偏移分頁,其中客戶端可以將頁面和大小指定為查詢參數(shù)。它很簡單,允許用戶直接跳轉到特定的頁面。這種方法對于總大小已知且需要在頁面之間進行可預測導航的數(shù)據(jù)集特別有效。

Java 
 @Path("/offset")
 @GET
 @Produces(MediaType.APPLICATION_JSON)
 public Iterable<Fruit> hello(@QueryParam("page") @DefaultValue("1") long page,
 @QueryParam("size") @DefaultValue("2") int size) {
 var pageRequest = PageRequest.ofPage(page).size(size);
 return fruitRepository.offSet(pageRequest).content();
 }

這個端點滿足了基于游標的分頁,這對于處理大型或頻繁更新的數(shù)據(jù)集至關重要。游標充當指針,便于連續(xù)獲取記錄,而不會跳過之前的數(shù)據(jù)。這種方法確保了效率和一致性,特別是在處理實時數(shù)據(jù)流時??蛻舳丝梢愿鶕?jù)需要的導航方向提供前后游標。

兩個端點都使用定義為ASC或DESC的Sort<Fruit>來確定獲取記錄的順序。通過確保數(shù)據(jù)按邏輯順序呈現(xiàn),這種排序順序增強了分頁的可用性。

Java 
 @Path("/cursor")
 @GET
 @Produces(MediaType.APPLICATION_JSON)
 public Iterable<Fruit> cursor (@QueryParam("after") @DefaultValue("") String after,
   @QueryParam("before") @DefaultValue("") String before,
 @QueryParam("size") @DefaultValue("2") int size) {
 if (!after.isBlank()) {
 var pageRequest = PageRequest.ofSize(size).afterCursor(PageRequest.Cursor.forKey(after));
 return fruitRepository.cursor(pageRequest, ASC).content();
 } else if (!before.isBlank()) {
 var pageRequest = PageRequest.ofSize(size).beforeCursor(PageRequest.Cursor.forKey(before));
 return fruitRepository.cursor(pageRequest, DESC).stream().toList();
 }
 var pageRequest = PageRequest.ofSize(size).size(size);
 return fruitRepository.cursor(pageRequest, ASC).content();
}

FruitResource類設計是一個很好的例子,說明了如何定制不同的分頁方法以適應特定的應用程序需求。通過在單個應用程序中比較這兩種方法,開發(fā)人員可以獲得基于其數(shù)據(jù)特征和用戶需求選擇和實現(xiàn)最合適分頁策略的實際見解。這種方法不僅展示了Jakarta Data在使用Quarkus和MongoDB的微服務架構中的能力,還增強了對RESTful服務設計和數(shù)據(jù)管理的理解。

結論

當在Quarkus和MongoDB環(huán)境中使用Jakarta Data應用基于偏移量的分頁和基于游標的分頁的復雜性時,已經(jīng)實現(xiàn)了Jakarta Data在管理數(shù)據(jù)檢索過程中的適應性和有效性。這種探索提供了實際的用例,并強調(diào)了每種分頁方法的戰(zhàn)略優(yōu)勢,使開發(fā)人員能夠根據(jù)他們的應用程序需求做出明智的決策。

本文為進一步探索Jakarta Data的功能及其與Quarkus等現(xiàn)代應用程序框架的集成提供了基礎。通過理解這些分頁技術,開發(fā)人員將能夠更好地構建可擴展且高效的應用程序,這些應用程序可以輕松地處理大型數(shù)據(jù)集。而在將來,選擇和實現(xiàn)最合適的分頁策略對于優(yōu)化應用程序性能和增強用戶體驗至關重要。

參考文獻

原文標題:Efficient Data Management With Offset and Cursor-Based Pagination in Modern Applications,作者:Otavio Santana




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

2023-08-07 09:18:32

Golang偏移量接口

2024-10-12 09:58:21

2024-03-21 07:08:53

AIntervalCronPython

2016-02-25 14:40:01

云數(shù)據(jù)中心

2023-10-30 10:34:20

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

2021-02-02 10:24:57

CIO數(shù)據(jù)管理IT

2024-12-12 16:21:16

2022-08-15 10:45:34

RocketMQ消息隊列

2022-04-02 10:42:04

數(shù)據(jù)管理數(shù)據(jù)管理現(xiàn)代化CIO

2024-05-10 13:01:49

2024-07-09 11:48:47

2019-11-11 14:28:11

云計算數(shù)據(jù)IT

2024-02-26 09:15:05

2012-09-18 09:39:57

Linq項目高效

2020-04-18 11:15:38

云計算數(shù)據(jù)安全

2021-12-03 14:52:46

Commvault

2021-08-18 09:40:55

數(shù)據(jù)管理云原生Kubernetes

2024-04-23 14:47:46

2020-04-08 16:23:56

戴爾
點贊
收藏

51CTO技術棧公眾號