Questions tagged [tidb]

TiDB is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It's MySQL compatible and features horizontal scalability, strong consistency, and high availability.

TiDB (/’taɪdiːbi:/, "Ti" stands for Titanium) is an open-source distributed SQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It's MySQL compatible and features horizontal scalability, strong consistency, and high availability.

TiDB provides users with a one-stop database solution that covers Online Transactional Processing (OLTP), Online Analytical Processing (OLAP), and HTAP services. It's suitable for various use cases that require high availability and strong consistency with large-scale data.

Key features

  • Horizontally scaling out or scaling in easily
  • Financial-grade high availability
  • Real-time HTAP
  • Cloud-native distributed database
  • Compatible with the MySQL 5.7 protocol and MySQL ecosystem

Deployment

Use cases

TiDB applies to the following use cases:

  • Financial industry scenarios with high requirements for data consistency, reliability, availability, scalability, and disaster tolerance
  • Massive data and high concurrency scenarios with high requirements for storage capacity, scalability, and concurrency
  • Real-time HTAP scenarios
  • Data aggregation and secondary processing scenarios

See also the case studies on the official website.

Learning resources

Check out TiDB courses

Related tags

  • - Distributed key-value database based on the design of Google Spanner and HBase. It is TiDB's storage engine.
  • - The metadata managing component of the entire TiDB cluster

Useful links

89 questions
0
votes
0 answers

How to split horizontally table on multiple zones?

I want to split data on multiple tiKV because I have Swiss, Europeans and Americans and I need to store data in citizen country. The user’s table has a country code and automatically data are stored in a good zone (tikv --label zone=ch/eu/us). How…
0
votes
1 answer

What kind of effect does the warning "will split alter table" have

I'am using tidb syncer to replicate data from mysql to tidb. But I don't exactly understand the meaning of the warning "will split alter table statement". I've just issued the simple alter table query below. Why does it split the statement and How…
0
votes
1 answer

distributed setup for TiDB over continental borders

We plan to use TiDB for a distributed setup in Europe and Australia. Have anyone some experience with such a distributed setup?
Aleksandar
  • 2,442
  • 3
  • 15
  • 24
0
votes
1 answer

Can TiDB Syncer run normally when the MySQL table character set is latin1?

I see PingCAP FAQ said that "The character sets of TiDB use UTF-8 by default and currently only support UTF-8" If MySQL table character set is latin1, can Syncer run correctly or can I get the same result in the TiDB side as in the MySQL side?
hao wang
  • 1
  • 1
0
votes
1 answer

mysql-safe mode in TiDB or something like that

I created a TiDB cluster with Docker, not Docker Compose. When I tested the TiDB account, I changed the root password, and then I had no way to connect to my cluster database. We all know that there is mysqld-safe mode in MySQL to skip the grant…
Narcism
  • 1
  • 1
0
votes
1 answer

Why reverseSeek not supported in tikv?

I'v seen that in tikv v2.0.9, ScanRequest have not support reverse param, also befor reverseSeek don't work, however in some time, I need reverseSeek, how can I do that?
0
votes
1 answer

How to model "dimension" tables in TiDB?

I would like to designate certain tables as replicated to all TiKV stores such that they are always available to join with locally (thereby reducing expensive distributed joins at the TiDB level). This would allow the TiKV coprocessor to join…
0
votes
1 answer

Error GC life time is shorter than transaction duration while writing to TiDB using Spark

I am using Apache Spark to write data in batches. The batches are of 1 day. While running the spark job I get this error. I am using MySQL java connector to connect to TiDB cluster. Spark creates 144 parallel tasks for…
guru107
  • 1,053
  • 1
  • 11
  • 28
0
votes
1 answer

tidb - how to solve node_exporter up timeout

I get this output when using tidb node_exporter up: fatal: [tidb@172.17.3.226]: FAILED! => {"changed": false, "elapsed": 309, "msg": "Timeout when waiting for search string 200 OK in tidb@172.17.3.226:9100"} fatal: [tidb@172.17.3.225]: FAILED! =>…
Aaron
  • 1
  • 1
0
votes
1 answer

java.sql.SQLException: other error: request outdated while connecting to TIDB from Spark using mysql-connector-java 5.1.6 connector

Getting the following error while connecting to TIDB through Spark using mysql-connector-java 5.1.6 connector. Please note, I have created jdbc connection using the parallel connections option, where we specify the column name, lower bound, upper…
Arnab Biswas
  • 902
  • 7
  • 8
0
votes
1 answer

tidb grafana no data points

I use tidb database, but when I want to build monitor. the grafana can't display data. It display "no data points". I check the network in the chrome. and docker logs. they look like right. I don't know why. Sorry, I want to ask question,but I…
0
votes
1 answer

TiDB CREATE FUNCTION returns error

I was running these codes in TiDB: CREATE FUNCTION `FN_UP_TRADEDAY`( endDay int(11), upDays int(11), marketx varchar(20) ) RETURNS int(11) READS SQL DATA BEGIN declare beginDay int(11); declare days int(11) default upDays-1; select day into…
Coco
  • 29
  • 4
0
votes
1 answer

How precise does the time synchronization of a PD cluster need to be? What happens if the time in the PD servers is not consistent?

I'm struggling with the time synchronization of the PD servers, can't figure out a good way to guarantee the precision of it. Does anyone know the answers to the above two questions?
Coco
  • 29
  • 4
0
votes
1 answer

What's the difference between MySQL `show processlist` and TiDB `show processlist`?

I'm familiar with MySQL show processlist. The show processlist statement in MySQL shows you which threads are running and can be useful when you get the "too many connections" error message and want to find out what is going on. Also, MySQL show…
Coco
  • 29
  • 4
0
votes
1 answer

The machine that Syncer is in is broken and the directory of the `syncer.meta` file is lost when using TiDB

Syncer GTID synchronously updates syncer.meta. If the machine that Syncer is in goes down, the directory of syncer.meta is lost. And I did not find the record information of GTID in TiDB. How to deal with this?
Lilian Lee
  • 190
  • 1
  • 12