Introducing TiDB For those coming from MySQL...
Agenda ● History and Community ● Technical Walkthrough Use Case with Mobike ● MySQL Compatibility ●
A little about me Senior Product / Community Manager ● ● ~15 years MySQL Experience ○ MySQL AB, Sun, Percona, Oracle Previously Product Manager for MySQL Server ●
A little about PingCAP ● Founded in April 2015 by 3 infrastructure engineers Offices in China and North America ● ● Remote Friendly! I work from here ➡ ○
Recent News PingCAP.com
Our Product is the TiDB Platform ● TiDB Platform (Ti = Titanium) ○ TiDB (SQL Layer) TiKV (Storage) ○ TiSpark (Apache Spark plugin to TiKV) ○ ● Open source from Day 1 ○ GA 1.0: October 2017 GA 2.0: April 2018 ○ PingCAP.com
TiDB is a NewSQL Database RDBMS NoSQL NewSQL 1970s 2010 2015 Present MySQL Redis Google HBase Spanner PostgreSQL Cassandra Google F1 Oracle MongoDB TiDB DB2... PingCAP.com
Common Use Cases 1. MySQL Scalability 2. Hybrid OLTP/OLAP Architecture 3. Unifying Data Storage/Management
Architecture (Simplified) PD PD PD TSO / Data Location PD Cluster Metadata TiDB TiKV TiKV DistSQL MySQL Protocol Application via API TiDB TiKV TiKV KV API TiDB TiKV TiKV ... ... PingCAP.com
Community Stars ● TiDB: 15,000+ TiKV: 3700+ ● Contributors ● TiDB: 200+ TiKV: 100+ ● PingCAP.com
Sneak Peek! Early Sign-up: https://www.pingcap.com/tidb-academy/ PingCAP.com
TiDB Platform Architecture
Platform Architecture PD Data Location PD PD TSO / Data Location PD Cluster Spark Driver Metadata Worker TiDB TiKV TiKV DistSQL MySQL Protocol Application via DistSQL Worker API API Spark SQL TiDB TiKV TiKV KV API Worker ... TiDB TiKV TiKV ... ... Spark Cluster PingCAP.com
TiKV: The Storage Foundation Client PD Cluster gRPC gRPC gRPC Coprocessor Coprocessor Coprocessor Txn KV API Txn KV API Txn KV API API API API Transaction Transaction Transaction Raft Raft Raft Raft Group RocksDB RocksDB RocksDB TiKV Instance TiKV Instance TiKV Instance PingCAP.com
TiDB: The SQL Layer Any ORM which MySQL Client ODBC/JDBC supports MySQL MySQL Network Protocol SQL Parser TiDB Cost-based Optimizer Distributed Executor (Coprocessor) TiKV Node2 Node3 Node1 Node4 PingCAP.com
Who’s Using TiDB?
Who’s using TiDB? 300+ Companies PingCAP.com
Common Use Cases 1. MySQL Scalability 2. Hybrid OLTP/OLAP Architecture 3. Unifying Data Storage/Management
Mobike + TiDB ● 200 million users ● 200 cities 9 million smart bikes ● ~30 TB / day ● PingCAP.com
MySQL Compatibility
Summary ● Compatibility with MySQL 5.7 ○ Joins, subqueries, DML, DDL etc. On the roadmap: ● Views, CTEs, Window Functions, GIS ○ ● Missing: ○ Stored Procedures, Triggers, Events, pingcap.com Fulltext /docs/sql/mysql-compatibility/ PingCAP.com
Nuanced ● Some features work differently ○ Auto Increment Optimistic Locking ○ TiDB works better with smaller ● transactions ○ Recommended to batch updates, pingcap.com deletes, inserts to 5000 rows /docs/sql/mysql-compatibility/ PingCAP.com
Thank You ! Sign-up: www.pingcap.com/tidb-academy/ PingCAP.com
Recommend
More recommend