Explore the world of TiDB with Kabilesh PR, Co-Founder of Mydbops, as he unveils the potential of this open-source distributed SQL database. Dive into the architecture, scalability solutions, and production readiness of TiDB, and discover how it addresses MySQL scalability bottlenecks through sharding. Gain insights into its stateless SQL interface, transactional storage with TiKV, and analytical capabilities with TiFlash. Learn about TiDB's native sharding features, use cases across various industries, and its readiness for production environments. Delve into its limitations and discover how TiDB can transform your data management landscape.
SQL Database Design For Developers at php[tek] 2024
Data-at-scale-with-TIDB Mydbops Co-Founder Kabilesh PR at LSPE Event
1. Unleashing Data At Scale With TiDB
Sep 09th, 2023
LSPE - 48
Kabilesh PR
Co-Founder, Mydbops
2. Interested in Open Source technologies
Pingcap Certified TiDB Associate
Tech Speaker/Blogger
AWS certified Database speciality
AWS community builder / SME
Co-Founder, Mydbops
Kabilesh PR
About Me
6. What is TiDB ?
An Open Source distributed SQL database by PingCAP
•
Scalable in both ways
•
Supports both Transactional and Analytical (HTAP)
•
Compatible with MySQL protocol
•
Highly available
•
Fault Tolerant
•
7. MySQL scalability - Bottlenecks
Monolithic - Single node Limitation
Horizontal scaling - Sharding
11. TiKV - Transactional Storage
Stateful
•
Persistent storage with RocksDB
•
Distributed storage & transaction support
•
Strong Consistency
•
MVCC support
•
Inbuilt HA
•
Co-Processor (PP)
•
12. TiKV - Regions and Raft
Region - Represents a range of key-value data
•
96 Mb in size
•
A region is replicated to multiple nodes
•
Regions are automatically balanced across TiKV nodes
•
Each region has a leader(1) and followers(2)
•
Leader and Followers form Raft group
•
Leader handles RW ops
•
Followers Participate in Election & Data Reads
•
17. Sharding
Supports native sharding & distribution
Relational to Key-value transformation
Distributed based on Global key
Global_key = Primary_key + Table_id(generated)
For Non-int primary key row_id is generated
22. Production Readiness
Wire Compatible with MySQL 5.7
UTF8MB4 by default with Binary Collation
Profile your workload with TiDB
Support for CDC with Ti-Binlog
Monitoring integration with Grafana + Prometheus + Alert manager
Full + Incremental , Logical Backup with PITR supported
23. Limitations
Stored procedures & Functions
Triggers
Events
User-defined functions
Fulltext and Spatial index
Column-level privileges
24. Reach Us : Info@mydbops.com
Thank You
Image Courtesy : PingCAP