TIS一站式企業(yè) App 搜索中臺(tái)
TIS功能介紹
TIS 平臺(tái)是一套為企業(yè)級(jí)用戶提供大數(shù)據(jù)多維、實(shí)時(shí)、查詢的搜索中臺(tái)產(chǎn)品。用戶可以在TIS上自助快速構(gòu)建搜索服務(wù),它大大降低了搜索技術(shù)的門(mén)檻。
平臺(tái)分為三個(gè)子模塊,分別是:
-
搜索引擎
目前支持Solr
-
離線數(shù)倉(cāng)
目前支持Hive或者Spark兩種計(jì)算引擎
-
流式實(shí)時(shí)同步組件
目前使用了自研流式計(jì)算引擎實(shí)現(xiàn)高效數(shù)據(jù)近實(shí)時(shí)同步
TIS通過(guò)無(wú)縫整合以上三個(gè)組件為為上層系統(tǒng)提供穩(wěn)定的數(shù)據(jù)搜索服務(wù)
功能特性
離線數(shù)倉(cāng)負(fù)責(zé)索引實(shí)例全量數(shù)據(jù)構(gòu)建,將關(guān)系數(shù)據(jù)庫(kù)中的ER實(shí)體按照要求打平成為一張寬表導(dǎo)入搜索引擎(這部分底層可以TIS的插件機(jī)制方便地切換各種成熟的MR中間件,例如:Spark、Hive、阿里云MaxComputer)
增量流處理可以監(jiān)聽(tīng)數(shù)據(jù)庫(kù)(例如:MySql binLog)對(duì)增量小心進(jìn)行處理,保證數(shù)據(jù)源中的數(shù)據(jù)與Solr集群中的搜索實(shí)例數(shù)據(jù)保持一致。TIS就像一個(gè)容器把離線數(shù)倉(cāng),搜索引擎,流式處理這三部分包裹在一起, 將他們之間復(fù)雜的流程調(diào)度和數(shù)據(jù)轉(zhuǎn)封裝在一起,用戶只需要通過(guò)點(diǎn)擊鼠標(biāo)就能對(duì)索引實(shí)例進(jìn)行生命周期管理。
具體來(lái)說(shuō)有以下特性:
一站式開(kāi)箱即用
一旦TIS安裝完成之后,用戶就可以輕松在TIS平臺(tái)上對(duì)索引實(shí)例進(jìn)行,創(chuàng)建、數(shù)據(jù)結(jié)構(gòu)(Schema)更新,數(shù)據(jù)刷新操作、以及最終的刪除等操作。
使用過(guò)程中,如果已有構(gòu)建無(wú)法滿足現(xiàn)有需求,可以通過(guò)插件,方便擴(kuò)展新功能來(lái)滿足需求。
批流統(tǒng)一
通過(guò)配置一個(gè)數(shù)據(jù)流規(guī)則,可以自動(dòng)生成全量數(shù)據(jù)構(gòu)建(批處理)和增量管道(流處理)腳本,且能自動(dòng)部署,大幅提交工作效率。
靈活、好用擴(kuò)展機(jī)制
基于UI的插件機(jī)制,方便擴(kuò)展Solr、Lucene的底層功能擴(kuò)展點(diǎn)。適應(yīng)私有云,公有云、混合云環(huán)境。
一鍵安裝
利用ansible實(shí)現(xiàn)分布式環(huán)境中一鍵安裝、更新等操作
適用場(chǎng)景
-
數(shù)據(jù)庫(kù)加速
幾乎所有成熟的關(guān)系型數(shù)據(jù)庫(kù)中都有’視圖’,在單機(jī)版小數(shù)量規(guī)模的應(yīng)用中’視圖’的確是解決OlAP問(wèn)題的利器,但是在大數(shù)據(jù)海量數(shù)據(jù)的場(chǎng)景下,‘視圖’已經(jīng)成為了看起來(lái)很美好,用起來(lái)很雞肋的東西。所以,在生產(chǎn)環(huán)境中會(huì)用緩存技術(shù)(例如:Redis),來(lái)解決OlAP低延時(shí)請(qǐng)求響應(yīng)的問(wèn)題。但,緩存技術(shù)也有其限制,例如,只能支持Key-Value的查詢等等。 現(xiàn)在,可以使用TIS來(lái)彌補(bǔ)’數(shù)據(jù)庫(kù)視圖’和’緩存技術(shù)’的短板,輕松利用搜索來(lái)實(shí)現(xiàn)大數(shù)據(jù)OLAP的低延時(shí)數(shù)據(jù)訪問(wèn)的痛點(diǎn)問(wèn)題。
-
優(yōu)化分庫(kù)分表
數(shù)據(jù)庫(kù)(例如:mysql)為了支持大數(shù)據(jù)量,會(huì)采用分庫(kù)分表的部署方案。客戶端查詢,會(huì)以之前約定好的路由方式,將查詢路由到某一特定分庫(kù)分表上。但業(yè)務(wù)需求經(jīng)常會(huì)需要查詢進(jìn)行跨庫(kù)跨表進(jìn)行查詢,這對(duì)分庫(kù)分表的架構(gòu)提出了不小的挑戰(zhàn)。
可以將關(guān)系數(shù)據(jù)庫(kù)中數(shù)據(jù)導(dǎo)入到TIS中,將原跨庫(kù)跨表的數(shù)據(jù)庫(kù)訪問(wèn)重路由到TIS,可以進(jìn)行大并發(fā)低延時(shí)的查詢。
-
企業(yè)級(jí)應(yīng)用搜索
例如:O2O基于經(jīng)緯度的地理查詢、會(huì)員營(yíng)銷(xiāo)CRM,會(huì)員畫(huà)像查詢、供應(yīng)鏈業(yè)務(wù)線OLAP低延時(shí)查詢、后臺(tái)訂單業(yè)務(wù)線查詢、商品中心sku-spu NEST嵌套結(jié)構(gòu)查詢、 店鋪實(shí)體查詢。
-
企業(yè)級(jí)實(shí)時(shí)數(shù)倉(cāng)
企業(yè)為了實(shí)現(xiàn)OLAP實(shí)時(shí)報(bào)表需要構(gòu)建實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)。
以維表 Join 為例,數(shù)據(jù)在業(yè)務(wù)數(shù)據(jù)源中以范式表的形式存儲(chǔ),在分析時(shí)需要做大量的 Join 操作,降低性能。如果在數(shù)據(jù)清洗導(dǎo)入過(guò)程中就能流式的完成 Join,那么分析時(shí)就無(wú)需再次 Join,從而提升查詢性能。
TIS完美支持實(shí)時(shí) OLAP 變體架構(gòu)
支持各種平臺(tái)
支持私有云,公有云,混合云部署。且能充分利用各種平臺(tái)底層基礎(chǔ)設(shè)施,可以最大限度地降低部署成本。
與ElasticSearcher的區(qū)別
這是一個(gè)經(jīng)常被用戶問(wèn)起的問(wèn)題,總體來(lái)說(shuō)TIS和ElasticSearcher的區(qū)別主要在使用場(chǎng)景上。
-
ElasticSearcher
ElasticSearcher借助使用ELK工具套件,可以輕松實(shí)現(xiàn),針對(duì)業(yè)務(wù)系統(tǒng)服務(wù)器產(chǎn)生的大量時(shí)序指標(biāo)數(shù)據(jù)進(jìn)行處理,形成可視化實(shí)時(shí)報(bào)表。用戶借助Kibana提供強(qiáng)大的可視化組件,可以輕松可視化觀測(cè)到系統(tǒng)的安全狀況。所以它擅長(zhǎng)的是時(shí)序數(shù)據(jù)為主的日志分析,并且針對(duì)的用戶是
運(yùn)維人員。 -
TIS
專(zhuān)注于企業(yè)級(jí)應(yīng)用搜索,通過(guò)無(wú)縫整合數(shù)倉(cāng)及流式計(jì)算模塊,處理的數(shù)據(jù)是
非時(shí)序數(shù)據(jù),為企業(yè)級(jí)客戶提供企業(yè)應(yīng)用搜索服務(wù)。 LBS地理位置搜索,商品系統(tǒng)搜索都屬于企業(yè)應(yīng)用搜索的范疇。因?yàn)?code>非時(shí)序數(shù)據(jù)的特點(diǎn)是,原始數(shù)據(jù)創(chuàng)建之后會(huì)更新,需要TIS在架構(gòu)設(shè)計(jì)上有別與ELK工具套件的架構(gòu)體系,需要增加一個(gè)離線數(shù)倉(cāng)組件,為索引實(shí)例定期構(gòu)建全量數(shù)據(jù)。
另外,
企業(yè)應(yīng)用搜索中的數(shù)據(jù)字段類(lèi)型會(huì)更加復(fù)雜,例如,經(jīng)緯度類(lèi)型,各種動(dòng)態(tài)類(lèi)型,保存JSON等都需要在平臺(tái)中更加方便快捷地定義。
