TiSpark是PingCAP为解决用户复杂OLAP(OLAP,联机分析处理,它使分析人员能够迅速、一致、交互的从各个方面观察信息,以达到深入理解数据的目的),需求而推出的产品。它借助Spark平台,同时融合TiKV分布式集群的优势,和TiDB一起为用户一站式解决HTAP(Hybrid Transactional/Analytical Processing,HTAP是混合OLTP和OLAP的系统,它打破了事务处理和分析之间的墙,它支持更多的信息和“实时业务”的决策。对HTAP的大白话理解为:如何在OLTP单一数据系统上,提供OLAP操作)的需求。
(注:OLAP和OLTP的介绍
数据处理大致可以分为两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(on-line analytical procdssing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。 OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLTP系
统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作。OLAP系统则强调数据分析,
强调SQL执行市场,强调磁盘I/O,强调分区等。)
TiSpark依赖于TiKV集群(TiKV负责存储数据,是一个分布式的提供事务的key-value存储引擎)和Placement Driver(PD,整个个集群的管理模块),也需要你搭建一个Spark集群。
TiSpark是将Spark SQL直接运行在分布式存储引擎TiKV上的OLAP解决方案。其架构图如下:
TiSpark深度整合了Spark Catalyst引擎,可以对计算提供精确的控制,使Spark能够高效的读取TiKV中的数据,提供索引支持以实现高速的点查。
通过多种计算下推减少Spark SQL需要处理的数据大小,以加速查询;利用TiDB的内建的统计信息选择更优的查询计划。
从数据集群的角度看,TiSpark+TiDB可以让用户无需进行脆弱和难以维护的ETL,直接在同一个平台进行事务和分析两种工作,简化了系统架构和运维。
除此之外,用户借助TiSpark项目可以在TiDB上使用Spark生态圈提供的多种工具进行数据处理。例如,使用TiSpark进行数据分析和ETL;使用TiKV作为机器学习的数据源;借助调度系统产生定时报表等等。
TiSpark和Hive可以混合使用。