張 藝 張重陽(yáng)
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094)
人民幣冠字號(hào)碼管理指的是對(duì)錢幣的身份編號(hào)(冠字號(hào)碼)進(jìn)行記錄、存儲(chǔ)和分析。冠字號(hào)碼的查詢能助推貨幣政策的貫徹落實(shí)和實(shí)施,使銀行與客戶責(zé)任清晰,有效抑制洗錢、行賄、偷稅等違法行為,及時(shí)發(fā)現(xiàn)問(wèn)題鈔票,為執(zhí)法機(jī)關(guān)提供服務(wù)[1]。冠字號(hào)碼在錢幣的流通過(guò)程中扮演著非常重要的角色。在經(jīng)濟(jì)飛速發(fā)展的今天,銀行業(yè)每天都會(huì)產(chǎn)生數(shù)量巨大的冠字號(hào)碼信息,這對(duì)傳統(tǒng)的人民幣冠字號(hào)管理模式形成了很大的壓力與挑戰(zhàn)。目前各大銀行冠字號(hào)碼數(shù)據(jù)需要集中到總行管理,支持至少三個(gè)月的全行數(shù)據(jù)。
冠字號(hào)碼數(shù)據(jù)是一種海量流數(shù)據(jù),具有體量大、多維度、更新速度快等特點(diǎn)。由于現(xiàn)在銀行業(yè)的發(fā)展,海量的冠字號(hào)碼數(shù)據(jù)會(huì)隨著時(shí)間序列連續(xù)產(chǎn)生。具有良好擴(kuò)展性的HBase分布式數(shù)據(jù)庫(kù)適合存儲(chǔ)海量的冠字號(hào)碼數(shù)據(jù)。但是由于HBase的設(shè)計(jì)特點(diǎn),在數(shù)據(jù)的插入與查詢實(shí)時(shí)性方面還有待提高,其原因?yàn)?/p>
1)實(shí)時(shí)數(shù)據(jù)插入效率問(wèn)題。在HBase中,region是數(shù)據(jù)存儲(chǔ)的基本單位。而面對(duì)海量時(shí)序數(shù)據(jù)時(shí),如果某個(gè)時(shí)間段內(nèi)數(shù)據(jù)特別大,數(shù)據(jù)則會(huì)按字典序依次插入某個(gè)region中,當(dāng)這個(gè)region達(dá)到預(yù)設(shè)的閾值時(shí),會(huì)觸發(fā)split操作。而大量的split操作對(duì)數(shù)據(jù)插入效率影響很大。
2)多維數(shù)據(jù)查詢效率問(wèn)題。HBase采用的是鍵值對(duì)模型,對(duì)主鍵有著良好的查詢效率。但是在多維度冠字號(hào)碼的實(shí)際查詢中,往往會(huì)根據(jù)在一定時(shí)間間隔內(nèi)去查詢某些條件,這種多維范圍查詢需要scan表中多個(gè)區(qū)域,消耗的代價(jià)很大。
為了解決這一問(wèn)題,本文結(jié)合分布式數(shù)據(jù)庫(kù)HBase與具體的冠字號(hào)碼數(shù)據(jù)提出了一種基于時(shí)間序列的多維索引結(jié)構(gòu)MT-index(Multi-dimensional index based on Time)。
近年來(lái),云計(jì)算技術(shù)的得到了學(xué)術(shù)界與工業(yè)界的廣泛關(guān)注。而NoSql作為云平臺(tái)中的分布式數(shù)據(jù)庫(kù)也應(yīng)用于越來(lái)越多的地方,這也推動(dòng)了云數(shù)據(jù)管理索引技術(shù)[2]的發(fā)展。文獻(xiàn)[3]最早提出了在云平臺(tái)中使用索引技術(shù),提出了一種在云環(huán)境中具有兩層索引的計(jì)算框架。文獻(xiàn)[4]提出了一種在主存建立列數(shù)據(jù)索引的方法。現(xiàn)主要的研究分為二級(jí)索引技術(shù)與全局局部索引結(jié)合的二層索引方式。
二級(jí)索引是一種常用的索引技術(shù),主要應(yīng)用于鍵值存儲(chǔ)的云數(shù)據(jù)數(shù)據(jù)庫(kù)系統(tǒng)中,如HBase。目前基于二級(jí)索引的方案主要有ITHBase、IHBase以及CCIndex[5]。其中,ITHBase與IHBase是開(kāi)源的實(shí)現(xiàn)方案,其原理是索引表存放索引列與原表的鍵值信息,查詢時(shí)先通過(guò)索引表得到鍵值再根據(jù)鍵值去原表查詢數(shù)據(jù)。然而查詢索引表時(shí)得到的鍵值是大量隨機(jī)的,去原表查詢時(shí)也需要通過(guò)大量隨機(jī)查詢才能得出查詢結(jié)果。為此,ZOU等提出了互補(bǔ)聚簇式索引,稱為CCIndex,CCIndex的方法是把數(shù)據(jù)的詳細(xì)信息也放在索引表中,減少了大量的隨機(jī)查詢,減少了查詢時(shí)間,但是會(huì)造成索引表空間的增大。CCIndex還給出了一種查詢優(yōu)化機(jī)制以支持多維查詢。二級(jí)索引實(shí)現(xiàn)簡(jiǎn)單,維護(hù)代價(jià)較低,但是多維查詢效率低而且空間冗余大。
文獻(xiàn)[6]中提出了一種動(dòng)態(tài)多維索引框架,先通過(guò)八叉樹(shù)對(duì)云空間進(jìn)行索引,再使用跳表隨機(jī)訪問(wèn)層次化的八叉樹(shù)索引,實(shí)現(xiàn)了多維查詢,范圍查詢,動(dòng)態(tài)索引縮放等。文獻(xiàn)[7]提出了多種云索引方案,分別為CAN組織所有節(jié)點(diǎn),R-樹(shù)索引節(jié)點(diǎn)內(nèi)數(shù)據(jù);集中式R-樹(shù)索引全局,KD-樹(shù)索引節(jié)點(diǎn);Chord覆蓋網(wǎng)絡(luò)并使用MX-CIF索引本地。文獻(xiàn)[8]提出了一種MapReduce框架下高維數(shù)據(jù)近似查詢方法。使用MapReduce任務(wù)并行處理的優(yōu)勢(shì)將整個(gè)數(shù)據(jù)集均勻的劃分到集群中的各個(gè)計(jì)算節(jié)點(diǎn),基于劃分的方法構(gòu)建分布式雙層索引。但該方法針對(duì)的數(shù)據(jù)集比較穩(wěn)定,沒(méi)有考慮索引的更新。文獻(xiàn)[9]提出的A-Tree索引是云環(huán)境下適合點(diǎn)查詢與范圍查詢的分布式多維數(shù)據(jù)索引,A-Tree通過(guò)R-Tree實(shí)現(xiàn)索引,但R-Tree的缺點(diǎn)是有很多“重復(fù)覆蓋”的區(qū)域,為此通過(guò)Bloom過(guò)濾器來(lái)選擇查詢區(qū)域。但是由于Bloom過(guò)濾器的局限性,當(dāng)數(shù)據(jù)量越大時(shí)出現(xiàn)誤判的概率也越大。文獻(xiàn)[10]提出了一種基于改進(jìn)四叉樹(shù)的空間劃分方法,再使用Hilbert曲線進(jìn)行局部多維索引。這種索引方法高效的實(shí)現(xiàn)了多維查詢,但構(gòu)建效率復(fù)雜。而如KR+-索引[11]、HQ-Tree[12]、DQuadtree[13]這些多維索引框架都基于經(jīng)典的空間數(shù)據(jù)索引,缺點(diǎn)是空間冗余較大。
對(duì)于使用HBase存儲(chǔ)實(shí)時(shí)流數(shù)據(jù),如果當(dāng)某個(gè)時(shí)間段數(shù)據(jù)量過(guò)大時(shí)很容易出現(xiàn)數(shù)據(jù)熱點(diǎn)問(wèn)題,為了減少數(shù)據(jù)熱點(diǎn)的影響,一般的解決方式是為其建立索引,使得數(shù)據(jù)不會(huì)只集中存儲(chǔ)在分布式集群中的某個(gè)節(jié)點(diǎn)內(nèi),而是分散的存入每個(gè)節(jié)點(diǎn)中。但是在插入數(shù)據(jù)的同時(shí)構(gòu)建索引,對(duì)于數(shù)據(jù)插入的實(shí)時(shí)性也有一定的影響。因此,為了解決這一問(wèn)題,MT-index將索引層劃分為全局的粗粒度索引與本地的細(xì)粒度索引,數(shù)據(jù)在插入的時(shí)候先按粗粒度索引方式進(jìn)入預(yù)先的分區(qū)中并只對(duì)粗粒度索引進(jìn)行維護(hù),等待數(shù)據(jù)入庫(kù)后再進(jìn)行細(xì)粒度索引的建立。這樣的方式在一定程度上緩解了插入實(shí)時(shí)性的問(wèn)題。同時(shí),HBase采用Key-Value的形式進(jìn)行存儲(chǔ),這種模式只提供了鍵值的快速查詢,對(duì)于非鍵值的查詢操作只能使用scan操作,其效率在海量冠字號(hào)系統(tǒng)中是不能接受的。現(xiàn)實(shí)中冠字號(hào)碼數(shù)據(jù)的查詢往往是涉及多個(gè)查詢條件,比如查詢某段時(shí)間內(nèi)某人辦理的業(yè)務(wù)涉及的冠字號(hào)碼等,如果是按照HBase提供的過(guò)濾器進(jìn)行查詢,則查詢過(guò)程消耗太大。為此,在粗粒度索引中使用時(shí)間序列與空間曲線結(jié)合的方式對(duì)數(shù)據(jù)進(jìn)行劃分并將多維查詢條件降為一維,減少索引元所占空間,使用較少的存儲(chǔ)空間實(shí)現(xiàn)了高效的多維查詢。
整體框架如圖1所示,整個(gè)系統(tǒng)由數(shù)據(jù)導(dǎo)入模塊、HBase分布式數(shù)據(jù)庫(kù)模塊、索引模塊以及查詢模塊構(gòu)成。數(shù)據(jù)導(dǎo)入模塊負(fù)責(zé)將銀行網(wǎng)點(diǎn)隨時(shí)產(chǎn)生的數(shù)據(jù)導(dǎo)入到云存儲(chǔ)空間的HBase中;HBase分布式數(shù)據(jù)庫(kù)模塊負(fù)責(zé)將導(dǎo)入的數(shù)據(jù)按鍵值對(duì)的形式存入HBase表中,產(chǎn)生的數(shù)據(jù)包括交易流水、交易內(nèi)編碼、冠字號(hào)碼、時(shí)間、操作代碼、銀行網(wǎng)點(diǎn)編號(hào)、機(jī)器號(hào)、卡號(hào)等字段。同時(shí),HBase也負(fù)責(zé)存儲(chǔ)索引模塊導(dǎo)入的索引表;索引模塊負(fù)責(zé)構(gòu)建與維護(hù)索引數(shù)據(jù),先通過(guò)時(shí)間序列與空間曲線對(duì)數(shù)據(jù)分區(qū)后進(jìn)行粗粒度的全局索引,當(dāng)數(shù)據(jù)存入對(duì)應(yīng)的region之后,再采用二級(jí)索引的策略構(gòu)建本地索引;查詢模塊根據(jù)查詢條件先去查詢粗粒度的全局索引,確定數(shù)據(jù)所在的region,再根據(jù)本地的細(xì)粒度索引查詢出具體數(shù)據(jù)。
圖1 系統(tǒng)整體框架
3.2.1 索引結(jié)構(gòu)
索引結(jié)構(gòu)如圖2所示,索引包括了粗粒度索引以及region中細(xì)粒度的二層索引。
1)索引的第一層使用B+樹(shù)將時(shí)間序列轉(zhuǎn)為索引。由于隨著時(shí)間變化會(huì)不斷的有冠字號(hào)碼數(shù)據(jù)更新進(jìn)入系統(tǒng),所以在本文中,將時(shí)間分為若干個(gè)時(shí)間段{[T0,T1],[T1,T2],…,[Ti-1,Ti]},這些時(shí)間段沒(méi)有重疊,相加之后為系統(tǒng)需要的時(shí)間量。時(shí)間段會(huì)不斷的后移,在規(guī)定范圍之外的時(shí)間段就將其從索引中刪除。使用B+樹(shù)索引時(shí)間序列,每個(gè)葉子節(jié)點(diǎn)指向?qū)?yīng)下層空間曲線所表示的區(qū)域。
2)使用Z曲線[14]對(duì)多維數(shù)據(jù)進(jìn)行降維并且分區(qū)。Z曲線是一種通過(guò)隔行掃描二進(jìn)制數(shù)字的比特到一個(gè)字符串來(lái)實(shí)現(xiàn)降維,并將產(chǎn)生的Z區(qū)域按升序填充到線性曲線中??臻gZ曲線通過(guò)降維后分區(qū),將源數(shù)據(jù)分為連續(xù)的Z空間,每個(gè)Z空間都對(duì)應(yīng)著曲線上的一個(gè)Z值。在冠字號(hào)碼數(shù)據(jù)中,對(duì)卡號(hào)與銀行網(wǎng)點(diǎn)代碼、冠字號(hào)碼這三維構(gòu)建多維索引,其意義是查詢某段時(shí)間內(nèi),某個(gè)用戶在某個(gè)網(wǎng)點(diǎn)取出或者存入的某張錢幣。在查詢時(shí),可以將查詢條件完整輸入也可以輸入個(gè)別條件。
3)region中數(shù)據(jù)的本地索引。本文中在數(shù)據(jù)插入HBase表中并且維護(hù)完上兩層索引之后,會(huì)構(gòu)建本地索引,本地索引類似開(kāi)源框架IHbase,其目的是通過(guò)查詢條件定位到某一個(gè)區(qū)域后,通過(guò)二級(jí)索引的方式能快速地查詢出數(shù)據(jù),避免掃描操作。由于這層索引是細(xì)粒度的,相對(duì)于上一層構(gòu)建消耗較大,因此選擇在當(dāng)前時(shí)間序列結(jié)束后再對(duì)前一個(gè)時(shí)間段的數(shù)據(jù)構(gòu)建本地索引。
圖2 索引結(jié)構(gòu)
圖3 二維Z曲線中范圍查詢
3.2.2 數(shù)據(jù)分區(qū)
HBase中基本的存儲(chǔ)單位是region,每個(gè)region都有其對(duì)應(yīng)的regionServer維護(hù)。本文的索引方式是時(shí)間序列與空間曲線相結(jié)合的方式,若直接按照這兩點(diǎn)設(shè)計(jì)RowKey,可能會(huì)造成熱點(diǎn)數(shù)據(jù)問(wèn)題,數(shù)據(jù)會(huì)不斷地寫入同一個(gè)region中,當(dāng)數(shù)據(jù)量超過(guò)了region的閾值便會(huì)調(diào)用split方法,數(shù)據(jù)量增長(zhǎng)很快的同時(shí)split操作的次數(shù)也會(huì)很多,對(duì)于插入性能影響很大。在region中startKey和endKey是兩個(gè)非常重要的元素,決定了這個(gè)region中RowKey的范圍。所以在本文中采用了隨機(jī)散列與預(yù)分區(qū)結(jié)合的方法來(lái)確定startKey與endKey。因?yàn)镠Base中RowKey不能重復(fù),所以在系統(tǒng)中使用時(shí)間序列與交易內(nèi)編碼結(jié)合的方式生成RowKey。1)先預(yù)測(cè)并隨機(jī)產(chǎn)生未來(lái)一段時(shí)間序列內(nèi)會(huì)生成的RowKey,使用MD5的方式轉(zhuǎn)為hash在轉(zhuǎn)為bytes,并將這個(gè)值拼接在原RowKey之前,升序后放在一個(gè)集合之中。2)根據(jù)預(yù)分區(qū)region的個(gè)數(shù),對(duì)整個(gè)集合分割,產(chǎn)生對(duì)應(yīng)的splitKey。產(chǎn)生的splitKey即可作為region的起始與結(jié)束位置。3)使用HBaseAdmin中的createTable方法指定預(yù)分區(qū)。這樣可以避免熱數(shù)據(jù)插入問(wèn)題以及大量的region的分裂操作,提高效率。當(dāng)預(yù)分區(qū)的時(shí)間序列結(jié)束前,系統(tǒng)會(huì)產(chǎn)生下一階段預(yù)分區(qū)的結(jié)果作為下個(gè)階段存儲(chǔ)數(shù)據(jù)的region。
MT-index多維索引是一種以空間換取時(shí)間效率的方式,通過(guò)全局的粗粒度索引與本地的細(xì)粒度索引結(jié)合的方式提高數(shù)據(jù)插入以及多維查詢效率。本文使用這種方式的目的在于實(shí)現(xiàn)高效的多維查詢,現(xiàn)分析MT-index在多維查詢方面的效率。多維查詢分為多維點(diǎn)查詢和多維范圍查詢,在多維點(diǎn)查詢時(shí),通過(guò)查詢條件的計(jì)算,能確切得到數(shù)據(jù)在空間曲線的某個(gè)對(duì)應(yīng)區(qū)域,查詢的范圍為一個(gè)區(qū)域,不存在效率的問(wèn)題。而在多維范圍查詢時(shí),所涉及到的Z區(qū)域較多,可能會(huì)造成無(wú)關(guān)區(qū)域的搜索問(wèn)題。如圖3所示,在一個(gè)二維空間中,查詢范圍為(n1,n2),那么需要查詢的區(qū)域應(yīng)該是虛線框中的范圍,對(duì)應(yīng)的Z區(qū)域應(yīng)為1,3兩個(gè)區(qū)域,但在空間曲線上,則會(huì)按序查詢1,2,3三個(gè)區(qū)域,這就造成了無(wú)關(guān)區(qū)域的搜索,對(duì)效率產(chǎn)生了影響。為此,將B+樹(shù)與Z曲線結(jié)合,如圖4所示??梢?jiàn),基于時(shí)間序列B+樹(shù)中非葉子節(jié)點(diǎn)是個(gè)三元組 由上面的分析可以得出,粗粒度的全局索引能快速地定位到數(shù)據(jù)所在的空間區(qū)域,盡量減少了無(wú)關(guān)區(qū)域的查詢。但是如果查詢所給的范圍很大,最終會(huì)有很多個(gè)區(qū)域需要查詢,由于在數(shù)據(jù)處理中已經(jīng)進(jìn)行了預(yù)分區(qū)處理,每個(gè)region中數(shù)據(jù)量不會(huì)有很大偏差,則每個(gè)空間Z區(qū)域也不會(huì)有很大偏差,符合并發(fā)執(zhí)行的條件,因此使用MapReduce[15]進(jìn)行并發(fā)搜索,提高多維范圍搜索效率。同時(shí),在每個(gè)region中,會(huì)為其中的數(shù)據(jù)建立二級(jí)索引,即將查詢條件作為鍵值,本文中采用用戶卡號(hào),該層索引實(shí)現(xiàn)比較簡(jiǎn)單,具體操作為在本地的二級(jí)索引表中按條件過(guò)濾出對(duì)應(yīng)源數(shù)據(jù)的主鍵,目的是避免全區(qū)域的scan操作。 圖4 B+樹(shù)與Z曲線結(jié)合結(jié)構(gòu)圖 本實(shí)驗(yàn)平臺(tái)由Hadoop-2.7.3集群組成,搭建于4個(gè)節(jié)點(diǎn)之上,每個(gè)節(jié)點(diǎn)上搭建了14.04的64位Ubuntu系統(tǒng),每個(gè)節(jié)點(diǎn)CPU為Inter(R)Core(TM)i5,3.20Hz,內(nèi)存為4G。Hadoop集群中有一個(gè)主節(jié)點(diǎn)與三個(gè)從屬節(jié)點(diǎn),分別提供管理與存儲(chǔ)功能。使用的數(shù)據(jù)庫(kù)為HBase-1.2.3,在HBase環(huán)境中有HMaster與HRegionServer兩個(gè)角色。本實(shí)驗(yàn)中將HMaster部署在主節(jié)點(diǎn),其余節(jié)點(diǎn)作為從屬節(jié)點(diǎn)。實(shí)驗(yàn)數(shù)據(jù)采用冠字號(hào)碼記錄信息,記錄信息包括交易流水、冠字號(hào)碼、時(shí)間、銀行網(wǎng)點(diǎn)號(hào)、網(wǎng)點(diǎn)機(jī)器號(hào)、卡號(hào)。HBase表中數(shù)據(jù)格式如表1所示。數(shù)據(jù)通過(guò)仿真生成,模仿了100個(gè)網(wǎng)點(diǎn)三個(gè)月生成的業(yè)務(wù)量。每筆業(yè)務(wù)都有其對(duì)應(yīng)的冠字號(hào)碼集,截取100萬(wàn),300萬(wàn),600萬(wàn),1000萬(wàn)數(shù)據(jù)進(jìn)行插入實(shí)驗(yàn)以及1000萬(wàn),3000萬(wàn),6000萬(wàn),10000萬(wàn)數(shù)據(jù)量進(jìn)行查詢實(shí)驗(yàn)。插入實(shí)驗(yàn)的數(shù)據(jù)是直接調(diào)用HBase中的API而查詢實(shí)驗(yàn)的數(shù)據(jù)則是使用HBase提供的Bulk-Load方式批量導(dǎo)入。在實(shí)驗(yàn)中,使用MT-index與CCIndex以及分布式B+樹(shù)進(jìn)行比較。 在該實(shí)驗(yàn)中,分別對(duì)三種索引結(jié)構(gòu)進(jìn)行四組不同數(shù)據(jù)量的數(shù)據(jù)插入,統(tǒng)計(jì)對(duì)于插入一定數(shù)量的流數(shù)據(jù),系統(tǒng)需要消耗的時(shí)間。由實(shí)驗(yàn)結(jié)果(圖5)表明,對(duì)于數(shù)據(jù)插入方面,三種索引結(jié)構(gòu)的時(shí)間都是隨著數(shù)據(jù)量的增加呈現(xiàn)線性增長(zhǎng)。當(dāng)數(shù)據(jù)量較小的情況下,MT-index消耗的時(shí)間要略大于CCIndex以及分布式B+樹(shù),其原因?yàn)镸T-index需要計(jì)算空間曲線Z值以及計(jì)算預(yù)分區(qū),這些時(shí)間消耗在總時(shí)間中所占比重較大。而當(dāng)數(shù)據(jù)量變大后,MT-index的插入時(shí)間則小于CCIndex與分布式B+樹(shù)。實(shí)驗(yàn)結(jié)果表明,MT-index在大量的流數(shù)據(jù)情況下,具有較好的數(shù)據(jù)插入性能。其原因在于對(duì)于多維索引,分布式B+樹(shù)會(huì)根據(jù)多個(gè)屬性建立多個(gè)索引表,同樣CCIndex的索引冗余很大,構(gòu)建需要較多的時(shí)間。而MT-index則采用了Z曲線將多維降為一維,只需要構(gòu)建一個(gè)索引表,且采用粗細(xì)粒度索引分離的方式,所以數(shù)據(jù)插入的性能更高。 圖5 數(shù)據(jù)插入耗時(shí) 數(shù)據(jù)查詢實(shí)驗(yàn)中,采用4組數(shù)據(jù)進(jìn)行查詢實(shí)驗(yàn)。分別從源數(shù)據(jù)中獲取100份范圍查詢數(shù)據(jù),在MapReduce框架進(jìn)行連續(xù)實(shí)驗(yàn),記錄完成時(shí)間,再取平均值作為該索引在該數(shù)據(jù)量下的查詢響應(yīng)時(shí)間。實(shí)驗(yàn)結(jié)果如圖6所示。相對(duì)于分布式B+樹(shù)與CCIndex,MT-index的查詢響應(yīng)時(shí)間更短。當(dāng)數(shù)據(jù)數(shù)據(jù)較小的時(shí)候,三種索引方式的查詢效率差不多,而當(dāng)數(shù)據(jù)量不斷增大,MT-index在查詢效率方面的優(yōu)勢(shì)是很明顯的。而且,查詢響應(yīng)時(shí)間受數(shù)據(jù)規(guī)模的影響較小。其原因是在MT-index這種索引模式下,最終要查詢的區(qū)域隨著數(shù)據(jù)量的增長(zhǎng)變化并不大。所以MT-index具有高效的查詢效率。 圖6 查詢響應(yīng)時(shí)間 本文基于HBase提出了一種冠字號(hào)碼數(shù)據(jù)的多維索引模型,為海量冠字號(hào)碼數(shù)據(jù)的存儲(chǔ)與查詢提供了方案。實(shí)驗(yàn)表明,該方法具有較好的插入、查詢效率,易于實(shí)現(xiàn),受數(shù)據(jù)規(guī)模影響不大,能夠適用于數(shù)據(jù)規(guī)模不斷增長(zhǎng)的實(shí)時(shí)冠字號(hào)碼數(shù)據(jù)查詢系統(tǒng)。本文的工作重點(diǎn)在于對(duì)索引的構(gòu)建,目的是提高實(shí)時(shí)數(shù)據(jù)插入與查詢的性能。對(duì)于解決海量冠字號(hào)碼問(wèn)題具有重要的參考價(jià)值和實(shí)用意義。4 實(shí)驗(yàn)論證
4.1 實(shí)驗(yàn)環(huán)境
4.2 數(shù)據(jù)插入實(shí)驗(yàn)
4.3 數(shù)據(jù)查詢實(shí)驗(yàn)
5 結(jié)語(yǔ)