通過實時索引、查詢和全文搜索引擎,Redis Enterprise提供了更好的數據檢索解決方案。通過強大的搜索引擎助力,Redis Enterprise能在亞毫秒級的時間內提供結果,以增強客戶體驗並助力商業智能。 ...
我們都知道,用戶在使用應用程式時候,對於速度有著越來越高的要求,真可謂是“一秒也等不及”。而開發團隊又該怎樣來滿足這種對於實時性的期望呢?
文章速覽:
- Redis Enterprise實時搜索的應用場景
- 利用索引為開發人員帶來更好的體驗
- Redis Enterprise實時搜索的優勢
- 低延遲搜索的3種常見應用案例
現代應用程式的構建中,開發者和架構師更青睞於實時搜索,其能提供用戶滿意的性能。Redis Enterprise通過對各類查詢如全文搜索、複雜過濾表達式、輔助鍵查找、數字或地理範圍查找、聚合函數和搜索結果排序等建立指標以快速提供實時的結果。網路安全、欺詐檢測、金融服務、電子商務、游戲和許多其他領域應用程式的構建都依賴Redis Enterprise來實現規模化的即時搜索結果。
一、Redis Enrerprise實時搜索如何解決應用程式常見的挑戰
1.挑戰:網路延遲,通常是實時搜索應用程式所面臨的主要挑戰,尤其是當數據需要遠距離傳輸時。
解決方案:Redis Enterprise可以在雲端和本地部署運行,提供數據本地化的能力,以確保在全球範圍內都能提供低延遲的搜索結果。
2.挑戰:要做到快速搜索,需要具備快速讀取索引數據的能力。傳統的基於磁碟的資料庫,無法實現快速讀取海量數據,無法在能保持延遲低於毫秒級的同時,還能將其擴展到支持每秒數百萬次寫入的速度。
解決方案:RedisEnterprise基於記憶體方式運行,具有快速的讀取性能和可擴展性。
3.挑戰:現代的軟體應用程式通常需要實時、且立即可使用的即時數據。緩慢的搜索引擎會迫使開發人員在使用數據之前進行預計算、預聚合或預操作等繁瑣的過程。經過一系列繁瑣的處理後,數據會失去其即時性,變為過時數據,失去準確性和可信度。過時的數據會使運營或實時分析失效。
解決方案:Redis可以在亞毫秒級的時間內返回搜索結果,保證數據的新鮮度,助力應用程式獲得更準確的結果。
4.挑戰:數據的併發能力允許多個用戶對單個資料庫在同一時刻進行讀寫操作。業務上,一些常見的分析用例要求每秒1,000多個查詢(QPS)的性能。另一方面,為了避免影響用戶的體驗,對於開發者而言,應用程式開發的指標之一就在於為終端用戶提供低於200毫秒延遲的服務。
解決方案:這些對併發性能的實際需求,基於磁碟的搜索引擎則無法提供足夠的併發性能,而這正是Redis Enterprise記憶體資料庫支持實時搜索的極佳用例。Redis Enterprise作為記憶體資料庫,能支持跨多個資料庫分片,同時在低延遲響應的前提下,提供資料庫的搜索和查詢規模拓展能力,進而提供資料庫的高併發性和數據保護支持。
二、Redis索引為開發人員帶來更好的體驗
Redis二級索引允許開發人員對任何欄位創建索引,創建符合業務需要的數據視圖,提供更準確的搜索結果。無需額外修改應用程式代碼,二級索引還可以輕鬆創建並管理複雜的多欄位查詢。只要Redis索引被創建,就能保持對插入和修改數據的自動更新,不需要手動介入。
- Sorted Sets無需額外的管理或分配,便能提供快速的查詢支持。
- 不需要修改應用程式代碼,即可創建並使用Redis Enterprise資料庫的二級索引。
- 全局自動索引功能確保索引的數據保持最新。
- 自動維護索引,並允許您在集群資料庫中跨數據結構對輔助鍵進行查詢。
- 不僅是鍵本身,還為值提供多種索引策略,包括全文搜索、地理位置索引、數字,或是標簽索引等。
三、Redis Enterprise搜索的優勢
1.提升客戶體驗:及時且準確的搜索結果,可以保持客戶的參與和忠誠。實時搜索、自動建議和分面搜索等強大的搜索特性,幫助用戶快速找到他們所需的內容。
2.更精準的業務智能:為了優化流程和服務,Redis能夠為實時分析提供即時的搜索結果。此外,Redis還能夠在高讀取和高寫入的場景中,保持高性能地處理常量數據和可變數據。
3.更低的成本:藉助使用記憶體資料庫技術和內置搜索引擎,能夠以更少的基礎設施花費來實現更多功能。
4.支持微服務架構:Redis Enterprise低延遲的搜索結果還支持微服務架構。Redis Enterprise會避免產生任何額外的延遲,進而避免任何會對用戶體驗不利的影響。
5.可拓展性支持:Redis Enterprise支持線性擴展數據攝入,將資料庫索引分佈到不同分片和地理位置,以支持實時搜索數千萬個鍵的用戶。
6.地理分散式部署:Redis多活地理分散式部署是一種數據彈性架構,其可以在多個數據中心分佈存儲資料庫信息,這些信息存儲在各自的獨立的,並且不位於同一個地區的集群和節點上。無論複製區域的數量和區域之間的距離如何,多活地理分散式部署都能確保面向本地提供低延遲的讀寫操作。
四、低延遲搜索的應用案例
有三種常見的應用用例必須使用低延遲搜索:實時分析、主數據表查找、360度客戶視圖。
1.實時分析
傳統資料庫對於實時分析和業務智能而言,其提供數據的速度太慢了。尤其當數據不斷變化時,傳統資料庫的查詢顯得過於緩慢且無法擴展。為了進行準確的實時分析,需要資料庫提供一致且高性能的搜索體驗。Redis Enterprise可以作為記憶體數據平臺,可以將孤立的源資料庫整合,並根據這些源資料庫提供實時的指標,以回答諸如“過去10分鐘內最暢銷的產品是什麼?”的實時分析問題。
2.主數據表查找
許多應用程式,例如電子商務應用程式,需要對主數據表進行重覆且高速的查找。例如,產品主數據表可能包含每個產品的ID、產品名稱、描述和價格。當用戶購物時,他們同時訪問產品主數據表,計算其購物車的價值。隨著表格的增長,搜索過程往往會變得緩慢,客戶體驗將受到影響。Redis Enterprise通過擴展實時搜索能力,以輕鬆消除這些常見的應用程式瓶頸。Redis Enterprise支持存儲數千萬個唯一標識符,並通過直觀且快速的自動建議和全文搜索功能提升客戶體驗。
3.360度客戶全景圖
提供實時客戶服務是一項頗具挑戰性的任務。在等待使用客戶服務時,請求經常會處於等待的過程中。客戶服務團隊和360度客戶視圖應用程式需要實時獲取有關客戶的信息。Redis Enterprise提供亞毫秒級的客戶查詢,將線上應用程式擴展到數千萬用戶。通過強大的聚合、過濾、分組和排序等命令,實時創建新的客戶觀察和摘要視圖。