0
00:00:00,000 --> 00:00:08,180
[Music]

1
00:00:08,180 --> 00:00:09,180
In this unit,

2
00:00:09,180 --> 00:00:14,820
we will talk about the reasons for choosing 
TiDB, as well as showing some of the TiDB users.

3
00:00:16,080 --> 00:00:19,440
Many customers choose TiDB 
due to these two reasons.

4
00:00:20,280 --> 00:00:25,020
The first one is “scalable”. TiDB is 
scalable for mission critical workloads.

5
00:00:25,680 --> 00:00:28,860
TiDB provides horizontal scalability, meaning that  

6
00:00:28,860 --> 00:00:34,620
TiDB supports zero downtime scaling in and 
scaling out at every sub-component layer,  

7
00:00:34,620 --> 00:00:40,380
which includes the computation layer, the 
storage layer, and the metadata layer. These  

8
00:00:40,380 --> 00:00:45,120
layers are decoupled from each other and can 
be scaled on demand without any disruptions.

9
00:00:45,840 --> 00:00:51,480
By using TiDB, you may eliminate both planned 
and unplanned downtime. In addition to the  

10
00:00:51,480 --> 00:00:56,100
scaling in and scaling out mentioned before, 
TiDB also supports online rolling updates  

11
00:00:56,100 --> 00:01:02,580
and online DDL. Its built-in self-healing 
ability is enabled at the compute, storage,  

12
00:01:02,580 --> 00:01:08,100
and metadata layers, ensuring that the business 
continuity when faced with software failures,  

13
00:01:08,100 --> 00:01:12,000
hardware malfunctions, and 
even a data center outages.  

14
00:01:12,600 --> 00:01:17,580
In addition, users can enjoy these benefits 
on TiDB Cloud with no additional setup.

15
00:01:18,180 --> 00:01:20,460
Similar to traditional RDBMS,  

16
00:01:20,460 --> 00:01:25,080
TiDB offers full ACID transactional 
support with strong consistency.

17
00:01:25,080 --> 00:01:30,600
TiDB is compatible with MySQL 
5.7, meaning that in most cases,  

18
00:01:30,600 --> 00:01:36,060
you can migrate your existing applications to TiDB 
without the need to alter the application code.  

19
00:01:37,260 --> 00:01:41,760
It has already been proven in production 
that consolidating hundreds or even  

20
00:01:41,760 --> 00:01:46,500
thousands of MySQL-compatible databases 
into a single TiDB cluster is possible.

21
00:01:47,340 --> 00:01:52,320
The second reason for choosing TiDB is the 
built-in Translytical, or HTAP, capability,  

22
00:01:52,320 --> 00:01:58,020
meaning TiDB is able to deal with transactional 
and analytical transactions at the same time.

23
00:01:58,860 --> 00:02:03,060
TiDB is equipped with both row-based 
and columnar-based storage engines,  

24
00:02:03,060 --> 00:02:06,600
making it optimized for handling both OLTP and  

25
00:02:06,600 --> 00:02:11,220
analytical workloads simultaneously. 
With a single standard SQL interface,  

26
00:02:11,220 --> 00:02:17,220
business analysts can easily gain insights from 
both online operations and cold data combined.

27
00:02:17,220 --> 00:02:23,160
TiDB is able to efficiently store and retrieve 
a large amount of data at the PB scale.  

28
00:02:23,700 --> 00:02:29,760
TiDB simplifies the handling of most Big Data 
issues with its implementation of standard SQL,  

29
00:02:29,760 --> 00:02:36,660
and with the added support for JSON data type and 
functions, it eliminates the need to incorporate  

30
00:02:36,660 --> 00:02:42,960
specialized tools from the Big Data ecosystem. 
As a result, SQL is back in the driver's seat.

31
00:02:43,980 --> 00:02:50,100
TiDB encapsulates the complexity of No One 
Size Fits All and reduces the re-investment,  

32
00:02:50,100 --> 00:02:56,160
especially the re-investment in the Cloud. 
In the field of databases, it has been widely  

33
00:02:56,160 --> 00:03:01,800
accepted for many years that there is no universal 
solution that fits all since varying applications  

34
00:03:01,800 --> 00:03:07,260
have their unique database requirements. While 
some require high availability and scalability,  

35
00:03:07,260 --> 00:03:13,260
others demand high performance and low latency. 
Furthermore, different database technologies and  

36
00:03:13,260 --> 00:03:19,440
configurations offer distinct advantages 
and limitations. Thus, it is essential to  

37
00:03:19,440 --> 00:03:25,080
comprehend the specific needs of your application 
and select the appropriate database technology and  

38
00:03:25,080 --> 00:03:31,560
configuration that optimally addresses those 
requirements. However, this often leads to a  

39
00:03:31,560 --> 00:03:36,660
significant increase in management complexity, 
which can be further amplified in public cloud  

40
00:03:36,660 --> 00:03:43,020
environments because of reinvestment issues. At 
TiDB's core, it is a key-value NoSQL database that  

41
00:03:43,020 --> 00:03:49,500
incorporates a stateless SQL layer, granting 
it the advantages of both NoSQL and RDBMS.  

42
00:03:51,360 --> 00:03:56,640
It has been designed to handle the complexities 
associated with combining these two technologies,  

43
00:03:56,640 --> 00:04:02,880
adhering to the principle of "No One 
Size Fits All" at a lower level. However,  

44
00:04:02,880 --> 00:04:08,700
at the higher operation level, TiDB presents a 
single management interface as a unified database,  

45
00:04:08,700 --> 00:04:15,300
enabling users to benefit from both approaches 
simultaneously. Unless your application requires  

46
00:04:15,300 --> 00:04:20,760
extremely low latency, otherwise for most of 
the cases, TiDB is a comprehensive solution.

47
00:04:23,040 --> 00:04:29,220
As mentioned earlier, TiDB offers both row-based 
and column-based storage engines. The column-based  

48
00:04:29,220 --> 00:04:33,960
engine is capable of automatically replicating 
the necessary data from the row-based engine  

49
00:04:33,960 --> 00:04:38,340
for analytical workloads, without 
the need for additional ETL jobs.

50
00:04:39,660 --> 00:04:46,800
Here goes an example architecture without TiDB. 
We placed six database clients instances here,  

51
00:04:47,400 --> 00:04:54,240
in the practice, of course, there could be much 
more. The architecture is already cloud friendly.  

52
00:04:54,240 --> 00:05:01,140
The availability zone here stands for the data 
centers or AZ provided by cloud service providers.  

53
00:05:02,280 --> 00:05:09,120
And, we have MySQL for online transaction 
processing. The standby database here is a  

54
00:05:09,120 --> 00:05:14,940
full replica of the leader database for high 
availability and disaster recovery purposes.  

55
00:05:15,660 --> 00:05:22,020
With the leader for writes and re-replica for 
reads you can handle a pretty serious workload.  

56
00:05:22,020 --> 00:05:28,740
And, there is a cache for transit objects or 
hotspot objects to improve the read performance.  

57
00:05:29,580 --> 00:05:35,820
NoSQL database here is a horizontally scalable 
persistent store and its nodes can span across  

58
00:05:35,820 --> 00:05:40,980
availability zones to achieve the requirements 
of high availability, disaster recovery,  

59
00:05:40,980 --> 00:05:48,840
performance and data growth at scale. The data 
layer architecture is complicated to some extent.  

60
00:05:49,560 --> 00:05:56,280
Let's zoom in MySQL master. As the business 
grows the data will eventually outgrow the single  

61
00:05:56,280 --> 00:06:03,300
machine. One way of handling the increasing writes 
is to split the data over multiple databases using  

62
00:06:03,300 --> 00:06:11,040
what's called sharding. For example to begin with 
you might store all information for users with the  

63
00:06:11,040 --> 00:06:18,540
user ID starting with the letter A through Z in 
a single database. To increase the write capacity  

64
00:06:18,540 --> 00:06:25,860
you split the database into two. Well, some users 
are handling the first database and some in the  

65
00:06:25,860 --> 00:06:31,860
second. Here we use the first letter of the 
user ID as an example, but in practice people  

66
00:06:31,860 --> 00:06:37,500
sometimes use consistent hash to determine 
the shard used for a specific piece of data.  

67
00:06:38,760 --> 00:06:43,860
When you need to increase capacity further you 
do the same thing and split the data set again.  

68
00:06:45,780 --> 00:06:48,840
Adding shards that makes generating 
reports gets more and more difficult.  

69
00:06:50,520 --> 00:06:55,080
Those are only for write operations, you 
also need replicas in local availability  

70
00:06:55,080 --> 00:07:00,840
zone for read performance and standby 
database per shard in the peering AZ for  

71
00:07:00,840 --> 00:07:07,920
high availability and disaster recovery. This is 
no fun at all for the developers and Ops team.  

72
00:07:09,360 --> 00:07:14,760
By using TiDB the data layer architecture is 
straightforward and the exposed complexity  

73
00:07:14,760 --> 00:07:23,220
is dramatically mitigated. Like NoSQL, TiDB is 
distributed and is capable of horizontal scaling.  

74
00:07:24,960 --> 00:07:29,220
TiDB handles sharding automatically and 
it's transparent to your application.  

75
00:07:30,540 --> 00:07:36,840
Unlike NoSQL, TiDB supports transaction and 
SQL in native and is compatible with MySQL.  

76
00:07:38,400 --> 00:07:42,120
Within TiDB, the replication happens 
automatically, the sharding happens  

77
00:07:42,120 --> 00:07:49,680
automatically, the role based and columnar store 
transformation happens automatically. It acts  

78
00:07:49,680 --> 00:07:55,980
in a position as a multiple purpose database to 
replace MySQL and NoSQL databases simultaneously.  

79
00:07:58,140 --> 00:08:03,480
TiDB is versatile, so you can focus on 
your application. Users acquire data  

80
00:08:03,480 --> 00:08:10,560
agility without worrying about the future of 
growing pain. But I have to mention that even  

81
00:08:10,560 --> 00:08:16,200
TiDB is versatile it cannot eliminate the hot 
spot bottleneck caused by your application.  

82
00:08:16,980 --> 00:08:23,880
So, cache components like Redis are still 
required for the application hotspot cases. We  

83
00:08:23,880 --> 00:08:29,520
will discuss how to mitigate hotspots in detail in 
the TiDB Performance Tuning course in the database  

84
00:08:29,520 --> 00:08:35,220
operation learning path and in TiDB specific 
feature course in the developer learning path.

85
00:08:36,960 --> 00:08:43,980
TiDB is used by more than 3,000 global adopters, 
and it is trusted by global innovation leaders.

86
00:08:43,980 --> 00:08:45,420
Here are a few examples.

87
00:08:47,280 --> 00:08:51,480
Catalyst is a Software-as-a-Service (SaaS) 
company that provides a powerful customer  

88
00:08:51,480 --> 00:08:55,680
success platform to help companies 
achieve success with their customers.

89
00:08:56,580 --> 00:09:03,000
Catalyst used PostgreSQL, and then Elasticsearch 
for their data backends, but did not work out.

90
00:09:03,600 --> 00:09:10,260
Then, Catalyst investigated TiDB. They found 
that TiDB’s response time was 10 to 60 times  

91
00:09:10,260 --> 00:09:17,700
faster than its competitors. Also they are keen 
that TiDB has perfect support for online DDL.

92
00:09:18,300 --> 00:09:23,340
Bolt is a global mobility company headquartered 
in Estonia that mainly offers vehicle hiring,  

93
00:09:23,340 --> 00:09:28,680
car-sharing, and food delivery services. 
Bolt has over 100 million customers.

94
00:09:29,460 --> 00:09:34,380
Previously, Bolt used MySQL as its main 
database. As the data volume grows,  

95
00:09:34,380 --> 00:09:37,980
sharding was introduced, and 
did not meet their expectations.

96
00:09:38,940 --> 00:09:43,440
Bolt explored Vitess and TiDB 
for the MySQL replacement. It  

97
00:09:43,440 --> 00:09:47,280
turned out that Vitess required too 
many changes to Bolt’s applications.  

98
00:09:48,060 --> 00:09:52,440
Bolt finally chose TiDB, an open 
source, distributed NewSQL database.

99
00:09:53,400 --> 00:09:57,720
Bolt is impressed by TiDB’s almost 
infinite horizontal scalability.  

100
00:09:57,720 --> 00:10:00,960
By automatically adding or removing storage nodes,  

101
00:10:00,960 --> 00:10:06,420
it can easily handle up to hundreds of 
terabytes of sudden data spikes or plunges.

102
00:10:07,200 --> 00:10:12,300
Moreover, TiDB has strong compression 
capability, which reduces storage costs.

103
00:10:13,260 --> 00:10:16,320
Lastly, it has a simplified 
architecture and can handle  

104
00:10:16,320 --> 00:10:19,380
transactional and analytical 
workloads at the same time.

105
00:10:20,280 --> 00:10:24,600
For more information, you may go to 
https://www.pingcap.com/customers/  

106
00:10:24,600 --> 00:10:26,220
for more use cases.

