TIS一站式企业 App 搜索中台
TIS功能介绍
TIS 平台是一套为企业级用户提供大数据多维、实时、查询的搜索中台产品。用户可以在TIS上自助快速构建搜索服务,它大大降低了搜索技术的门槛。
平台分为三个子模块,分别是:
-
搜索引擎
目前支持Solr
-
离线数仓
目前支持Hive或者Spark两种计算引擎
-
流式实时同步组件
目前使用了自研流式计算引擎实现高效数据近实时同步
TIS通过无缝整合以上三个组件为为上层系统提供稳定的数据搜索服务
功能特性
离线数仓负责索引实例全量数据构建,将关系数据库中的ER实体按照要求打平成为一张宽表导入搜索引擎(这部分底层可以TIS的插件机制方便地切换各种成熟的MR中间件,例如:Spark、Hive、阿里云MaxComputer)
增量流处理可以监听数据库(例如:MySql binLog)对增量小心进行处理,保证数据源中的数据与Solr集群中的搜索实例数据保持一致。TIS就像一个容器把离线数仓
,搜索引擎
,流式处理
这三部分包裹在一起, 将他们之间复杂的流程调度和数据转封装在一起,用户只需要通过点击鼠标就能对索引实例进行生命周期管理。
具体来说有以下特性:
一站式开箱即用
一旦TIS安装完成之后,用户就可以轻松在TIS平台上对索引实例进行,创建、数据结构(Schema)更新,数据刷新操作、以及最终的删除等操作。
使用过程中,如果已有构建无法满足现有需求,可以通过插件,方便扩展新功能来满足需求。
批流统一
通过配置一个数据流规则,可以自动生成全量数据构建(批处理)和增量管道(流处理)脚本,且能自动部署,大幅提交工作效率。
灵活、好用扩展机制
基于UI的插件机制,方便扩展Solr、Lucene的底层功能扩展点。适应私有云,公有云、混合云环境。
一键安装
利用ansible实现分布式环境中一键安装、更新等操作
适用场景
-
数据库加速
几乎所有成熟的关系型数据库中都有’视图’,在单机版小数量规模的应用中’视图’的确是解决OlAP问题的利器,但是在大数据海量数据的场景下,‘视图’已经成为了看起来很美好,用起来很鸡肋的东西。所以,在生产环境中会用缓存技术(例如:Redis),来解决OlAP低延时请求响应的问题。但,缓存技术也有其限制,例如,只能支持Key-Value的查询等等。 现在,可以使用TIS来弥补’数据库视图’和’缓存技术’的短板,轻松利用搜索来实现大数据OLAP的低延时数据访问的痛点问题。
-
优化分库分表
数据库(例如:mysql)为了支持大数据量,会采用分库分表的部署方案。客户端查询,会以之前约定好的路由方式,将查询路由到某一特定分库分表上。但业务需求经常会需要查询进行跨库跨表进行查询,这对分库分表的架构提出了不小的挑战。
可以将关系数据库中数据导入到TIS中,将原跨库跨表的数据库访问重路由到TIS,可以进行大并发低延时的查询。
-
企业级应用搜索
例如:O2O基于经纬度的地理查询、会员营销CRM,会员画像查询、供应链业务线OLAP低延时查询、后台订单业务线查询、商品中心sku-spu NEST嵌套结构查询、 店铺实体查询。
-
企业级实时数仓
企业为了实现OLAP实时报表需要构建实时数据仓库。
以维表 Join 为例,数据在业务数据源中以范式表的形式存储,在分析时需要做大量的 Join 操作,降低性能。如果在数据清洗导入过程中就能流式的完成 Join,那么分析时就无需再次 Join,从而提升查询性能。
TIS完美支持实时 OLAP 变体架构
支持各种平台
支持私有云,公有云,混合云部署。且能充分利用各种平台底层基础设施,可以最大限度地降低部署成本。
与ElasticSearcher的区别
这是一个经常被用户问起的问题,总体来说TIS和ElasticSearcher的区别主要在使用场景上。
-
ElasticSearcher
ElasticSearcher借助使用ELK工具套件,可以轻松实现,针对业务系统服务器产生的大量时序指标数据进行处理,形成可视化实时报表。用户借助Kibana提供强大的可视化组件,可以轻松可视化观测到系统的安全状况。所以它擅长的是时序数据为主的日志分析,并且针对的用户是
运维人员
。 -
TIS
专注于企业级应用搜索,通过无缝整合数仓及流式计算模块,处理的数据是
非时序数据
,为企业级客户提供企业应用搜索
服务。 LBS地理位置搜索,商品系统搜索都属于企业应用搜索
的范畴。因为
非时序数据
的特点是,原始数据创建之后会更新,需要TIS在架构设计上有别与ELK工具套件的架构体系,需要增加一个离线数仓组件,为索引实例定期构建全量数据。另外,
企业应用搜索
中的数据字段类型会更加复杂,例如,经纬度类型,各种动态类型,保存JSON等都需要在平台中更加方便快捷地定义。