引導(dǎo)語(yǔ)(朋友圈):軟件運(yùn)行速度太慢,這往往是用戶難以忍受的。根據(jù)客戶體驗(yàn)供應(yīng)商 Emplifi對(duì) 2,000 名消費(fèi)者進(jìn)行的一項(xiàng)全球調(diào)查顯示,僅遇到兩到三次不好的客戶體驗(yàn),86% 的消費(fèi)者就會(huì)離開(kāi)他們?cè)?jīng)信任的品牌。要想留住用戶,必須要解決三個(gè)數(shù)據(jù)庫(kù)性能問(wèn)題。
簡(jiǎn)介:用戶都希望獲得實(shí)時(shí)信息和個(gè)性化的在線體驗(yàn)。然而,網(wǎng)站運(yùn)行速度太慢,或者加載數(shù)據(jù)的時(shí)間太長(zhǎng)都可能會(huì)消磨客戶的耐心,使客戶忠誠(chéng)度降低。因此,開(kāi)發(fā)人員迫切需要提升數(shù)據(jù)庫(kù)性能。然而,當(dāng)數(shù)據(jù)需求超出預(yù)期時(shí),實(shí)時(shí)數(shù)據(jù)可能難以交付。此時(shí),內(nèi)存數(shù)據(jù)庫(kù)便能很好地解決這類(lèi)問(wèn)題。
一、問(wèn)題一:大規(guī)模數(shù)據(jù)降低了查詢性能
客戶數(shù)據(jù)庫(kù)的容量和表格大小不斷增長(zhǎng),傳統(tǒng)數(shù)據(jù)管理方法無(wú)法應(yīng)對(duì)數(shù)據(jù)庫(kù)的增長(zhǎng)趨勢(shì)。開(kāi)發(fā)人員發(fā)現(xiàn),大規(guī)模數(shù)據(jù)集——無(wú)論是通過(guò)容量、速度還是可變性來(lái)衡量——需要一個(gè)可擴(kuò)展的架構(gòu),以便進(jìn)行高效的存儲(chǔ)、操作和分析。
隨著客戶數(shù)據(jù)庫(kù)的增長(zhǎng),在數(shù)據(jù)庫(kù)中查詢單個(gè)唯一標(biāo)識(shí)符(Universally Unique Identifier, UUID)愈加困難,緩慢的查詢速度使得客戶服務(wù)質(zhì)量下降。緩慢的數(shù)據(jù)庫(kù)查詢使用于創(chuàng)建聚合數(shù)據(jù)視圖的實(shí)時(shí)數(shù)據(jù)操作難以執(zhí)行,也就不能從實(shí)時(shí)數(shù)據(jù)中獲得啟發(fā)。
解決方法:將客戶查詢表和其他與客戶相關(guān)的數(shù)據(jù)表移至內(nèi)存數(shù)據(jù)庫(kù)中。
內(nèi)存數(shù)據(jù)庫(kù)的工作方式與其他數(shù)據(jù)庫(kù)類(lèi)似,只是所有數(shù)據(jù)都存儲(chǔ)在DRAM中而不是傳統(tǒng)磁盤(pán)上。且內(nèi)存數(shù)據(jù)庫(kù)也會(huì)定期將數(shù)據(jù)存儲(chǔ)在磁盤(pán)上,從而實(shí)現(xiàn)持久性和數(shù)據(jù)恢復(fù)。
因?yàn)闊o(wú)需花費(fèi)時(shí)間寫(xiě)入磁盤(pán)或從磁盤(pán)檢索,所以內(nèi)存數(shù)據(jù)庫(kù)的性能得到顯著增強(qiáng)。內(nèi)存操作的執(zhí)行速度比基于磁盤(pán)的驅(qū)動(dòng)器快很多倍,也比NVMe 或 SATA 固態(tài)磁盤(pán)驅(qū)動(dòng)器快得多。這意味著應(yīng)用程序可以搜索數(shù)千萬(wàn)條客戶記錄,以查找與單個(gè)客戶相關(guān)的信息并實(shí)時(shí)獲取結(jié)果。
二、問(wèn)題二:查詢速度太慢,無(wú)法立即分析
數(shù)據(jù)庫(kù)性能不僅限于提取數(shù)據(jù)以提供客戶記錄或存儲(chǔ)交易,實(shí)時(shí)數(shù)據(jù)庫(kù)查詢還可用來(lái)支持業(yè)務(wù)指標(biāo)背后的分析,如項(xiàng)目?jī)x表板和故障排除警報(bào)。
對(duì)于分析而言,數(shù)據(jù)的質(zhì)量與其年齡直接相關(guān)。較舊的和非常舊的數(shù)據(jù)對(duì)于實(shí)時(shí)分析和決策制定來(lái)說(shuō)價(jià)值較低。
導(dǎo)致查詢性能問(wèn)題的瓶頸可能出現(xiàn)在數(shù)據(jù)操作流程中的任何環(huán)節(jié)。數(shù)據(jù)庫(kù)搜索和查詢操作在計(jì)算方面成本高昂,索引和提供搜索結(jié)果需要大量資源。
同時(shí)攝取數(shù)據(jù)并查詢不同的數(shù)據(jù)結(jié)構(gòu)(如哈希和JSON文檔)是具有挑戰(zhàn)性的。這對(duì)于基于磁盤(pán)的SQL數(shù)據(jù)庫(kù),如Oracle和SQL Server,尤其如此。通常的解決方案是進(jìn)行數(shù)據(jù)庫(kù)性能調(diào)優(yōu),但由于底層數(shù)據(jù)庫(kù)架構(gòu)和數(shù)據(jù)庫(kù)工作負(fù)載類(lèi)型的限制,這種方法只能有限地提升性能。
解決方法:使用實(shí)時(shí)搜索引擎提供快速的數(shù)據(jù)分析結(jié)果。
實(shí)時(shí)搜索引擎查詢并聚合大規(guī)模數(shù)據(jù)集,立即生成實(shí)時(shí)的數(shù)據(jù)。數(shù)據(jù)分析師隨后可以在儀表板、圖表或其他應(yīng)用程序中使用和分析數(shù)據(jù)。
實(shí)時(shí)搜索引擎提供:
- 提供亞毫秒級(jí)搜索和查詢結(jié)果的性能以進(jìn)行精確分析
- 可對(duì)海量數(shù)據(jù)集進(jìn)行大規(guī)模搜索和查詢,并提供即時(shí)結(jié)果
- 占用資源少,對(duì)微服務(wù)框架友好
下圖是將來(lái)自多個(gè)記錄來(lái)源的數(shù)據(jù)合并到一個(gè)實(shí)時(shí)搜索引擎中,以提供及時(shí)的數(shù)據(jù)供分析和新業(yè)務(wù)理解:
Redis Enterprise將數(shù)據(jù)整合到實(shí)時(shí)搜索引擎中
三、問(wèn)題三:主數(shù)據(jù)表數(shù)量增長(zhǎng),在線搜索太慢
另一個(gè)常見(jiàn)的數(shù)據(jù)庫(kù)問(wèn)題是在龐大的主數(shù)據(jù)表上執(zhí)行重復(fù)查找。主數(shù)據(jù)表有助于定義數(shù)據(jù)庫(kù)中的重要數(shù)據(jù)庫(kù)實(shí)體,通常代表:產(chǎn)品、合作伙伴、供應(yīng)商和訂單。與任何其他數(shù)據(jù)管理元素一樣,隨著公司的增長(zhǎng),這些數(shù)據(jù)表也會(huì)增長(zhǎng)。
當(dāng)主數(shù)據(jù)表中的主鍵或輔助鍵值達(dá)到數(shù)百萬(wàn)個(gè)時(shí),數(shù)據(jù)庫(kù)重復(fù)執(zhí)行大型主數(shù)據(jù)表查找時(shí)會(huì)出現(xiàn)性能問(wèn)題。常見(jiàn)癥狀是用戶搜索明顯變慢或應(yīng)用程序頁(yè)面出現(xiàn)延遲,特別是在為電子商務(wù)網(wǎng)站搜索龐大的產(chǎn)品數(shù)據(jù)庫(kù)時(shí)。
解決方法:將數(shù)據(jù)導(dǎo)入、索引和查詢負(fù)載分布到數(shù)據(jù)庫(kù)分區(qū)或分片中,并使用二級(jí)索引。
地理分布式數(shù)據(jù)庫(kù)拓?fù)浣Y(jié)構(gòu)可以將主數(shù)據(jù)表擴(kuò)展到數(shù)千萬(wàn)個(gè)主鍵和輔助鍵。這使得可以進(jìn)行強(qiáng)大的搜索自動(dòng)建議和靈活的基于類(lèi)別的搜索,為在線客戶和企業(yè)用戶提供即時(shí)搜索結(jié)果。通過(guò)將讀取和寫(xiě)入操作分布在在多個(gè)數(shù)據(jù)庫(kù)分區(qū)或分片上,可以實(shí)現(xiàn)主數(shù)據(jù)表的大規(guī)模擴(kuò)展和高性能結(jié)果搜索。
二級(jí)索引是為提供快速數(shù)據(jù)查找而創(chuàng)建的非主鍵索引。它們的搜索結(jié)果可能包含重復(fù)值,例如查找所有制造商列為“Apple”的產(chǎn)品。數(shù)據(jù)庫(kù)的二級(jí)索引允許在任何數(shù)據(jù)庫(kù)字段中靈活快速地搜索主數(shù)據(jù)表。您可以為單個(gè)記錄創(chuàng)建成千上萬(wàn)個(gè)索引,或者在整個(gè)數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)十萬(wàn)個(gè)索引。一旦創(chuàng)建索引,數(shù)據(jù)庫(kù)會(huì)提供自動(dòng)索引管理。
四、Redis Enterprise可以滿足您的實(shí)時(shí)搜索需求
針對(duì)以上常見(jiàn)的三個(gè)數(shù)據(jù)性能問(wèn)題,Redis Enterprise 提供了解決方案。Redis Enterprise 能為實(shí)時(shí)數(shù)據(jù)提供強(qiáng)大的索引、查詢和全文搜索引擎。Redis 搜索引擎可用于實(shí)時(shí)客戶聚合,作為 Redis 中托管數(shù)據(jù)的二級(jí)索引,整合其他數(shù)據(jù)存儲(chǔ)中的數(shù)據(jù)進(jìn)行分析,并充當(dāng)快速全文搜索或自動(dòng)完成引擎。
虹科是Redis原廠的中國(guó)區(qū)戰(zhàn)略合作伙伴。我們持續(xù)關(guān)注各行業(yè)當(dāng)下急切需求,專(zhuān)注于為企業(yè)解答疑問(wèn),制定專(zhuān)屬服務(wù),提供一站式數(shù)據(jù)庫(kù)和商業(yè)智能解決方案。了解更多【企業(yè)級(jí)數(shù)據(jù)庫(kù)解決方案】及【企業(yè)緩存指南】,歡迎前往虹科云科技官網(wǎng)https://hongcloudtech.com/!
聯(lián)系虹科工程師:15528663362
聯(lián)系方式鏈接:https://t.dustess.com/Fc6fpUjg