O'Reilly、Cloudera 主办
Make Data Work
2017年7月12-13日:培训
2017年7月13-15日:会议
北京,中国

Spark和TiDB (Spark on TiDB)

此演讲使用中文 (This will be presented in Chinese)

马晓宇 (PingCAP)
16:20–17:00 Friday, 2017-07-14
Spark及更多发展 (Spark & beyond)
地点: 多功能厅2(Function Room 2) 观众水平 (Level): 中级 (Intermediate)

必要预备知识 (Prerequisite Knowledge)

SparkSQL,基本的数据库和Query Processing知识。

您将学到什么 (What you'll learn)

学习到SparkTi如何工作,以及性能方面的考量和优化;理解了SQL查询处理优化和实现的细节知识;理解了TiDB的基本架构。

描述 (Description)

TiDB 是开源的分布式数据库,参考 Google F1/Spanner 实现了水平伸缩,一致性的分布式事务,多副本同步复制等重要 NewSQL 特性。结合了 RDBMS 和 NoSQL 的优点,部署简单,在线扩容和表结构变更不影响业务,异地多活保障数据安全,同时完全兼容 MySQL 协议,使迁移使用成本降到极低。
SparkTi则是在原有TiDB之上基于SparkSQL构建的数据处理和计算层。相对于简单的通过JDBC与SparkSQL链接,SparkTi引擎能够理解数据如何在TiDB上组织,进行例如更智能的优化例如Partition Pruning;和TiDB的协处理器整合则帮助SparkTi下推更多计算,例如谓词下推,聚合下推等;而SparkTi能理解TiDB的元数据则更好地帮助优化器进行查询计划选择,例如TiDB的统计信息能使SparkTi进行代价模型优化变成可能。
这个项目的意义有两部分。
首先对于TiDB而言,SparkTi是从多样性方面对原有系统的一个补充。不仅BI用户得以通过Spark在原有系统进行SQL分析性查询,而且数据科学家和其他角色用户也能使用Dataset等Spark API在TiDB上工作。
其次,对于大数据生态圈来说,SparkTi是一次对融合OLTP数据库和大数据平台的尝试,用户有可能通过一份数据/一个平台完成交易和分析两部分工作,而无需进行繁琐的数据同步和导入导出。


马晓宇 offers an overview of open source and distributed database TiDB (inspired by Google F1 and Spanner). TiDB has implemented some important NewSQL features, including horizontal scaling, consistent distributed transaction, and multicopy synchronous replication. It combines the pros of both RDBMS and NoSQL and has its own advantages as well, like its ease of deployment, online scaling, and table schema change without interrupting business services and data security insured with multiple locations active/active settings. TiDB is also fully compatible with MySQL protocols, making immigration costs extremely low.

SparkTi (based on SparkSQL) was built on top of TiDB to form a data processing and computing layer. Compared to simply connecting to SparkSQL via JDBC, the SparkTi engine can understand how data is organized at TiDB and therefore perform more-intelligent optimizations, such as partition pruning. Collaboration and integration with TiDB helps SparkTi push down more computing (predicate pushdown, aggregation pushdown, etc.). In addition, SparkTi can understand TiDB’s metadata to better help optimizers choose query plans. For example, TiDB’s statistics information makes it possible for SparkTi to perform a cost-model optimization.

For TiDB, SparkTi complements the original system in terms of variety. Not only can BI users use their original system via Spark to do SQL-like queries, but data scientists and users in other roles can use Dataset and other Spark APIs to work on TiDB. For the big data ecosystem, SparkTi integrates OLTP databases and big data platforms. Users can implement transactions and perform analysis with one set of data and in one platform, with no need to frequently do data synchronization and export/import.

Photo of 马晓宇

马晓宇

PingCAP

马晓宇是PingCAP的技术主管,负责TiDB大数据生态的整合以及MPP引擎开发。

联系OReillyData

关注OReillyData微信号获取最新会议信息并浏览前沿数据文章。

WeChat QRcode

 

Stay Connected Image 1
Stay Connected Image 3
Stay Connected Image 2

阅读关于大数据的最新理念。

ORB Data Site