Zhao Xin 59cb7e1e38 ddl: fix alter table exchange partition does not work if table has tiflash replica (#17940)
* exchange partition init push

* exchange partition: check table is compatiable

* add checke in ddl worker

* validate check

* Basic functions have been completed

* autoID added

* test add

* hash exchange partition add

* format

* test add

* test add

* auto id fix

* add cancel job test

* add exchange partition compatiable test

* add test of partition

* add more test and set go mod

* fix the conflict

* add more test of table compatible

* fix comment

* rename function

* fix wrong english spell

* add test for expression index

* add check in ddl worker

* rename word

* add global config of expression index

* add auto_random test

* comment fix

* more test added

* add failed point

* remove variable

* Update ddl/column.go

Co-authored-by: Lynn <zimu_xia@126.com>

* Update ddl/ddl_api.go

Co-authored-by: Lynn <zimu_xia@126.com>

* comment fix

* add test

* add test

* exchange auto_random

* fix range columns partition

* fix comment

* fix comment

* fix comment

* fix bug

* fix comment

* fix comment

* fix comment

* fix comment

* bug fix

* address comment

* address comment

* address comment

* bug fix

* bug fix

* sql fix

* add test of auto_random

* expand the implementation of ApplyDiff

* fix typo

* Update ddl/partition.go

Co-authored-by: Lynn <zimu_xia@126.com>

* address comment

* fix bug of exchanging partition on tiflash replica

* delete duplicate code

* reset tiflash statu

* Update ddl/ddl_api.go

Co-authored-by: Lynn <zimu_xia@126.com>

* Update ddl/ddl_api.go

Co-authored-by: Lynn <zimu_xia@126.com>

* address comment

* exchange partition init push

* fix bug of exchanging partition on tiflash replica

* reset tiflash statu

* reset mod

* address comment

* address comment

Co-authored-by: Lynn <zimu_xia@126.com>
Co-authored-by: crazycs <crazycs520@gmail.com>
Co-authored-by: tiancaiamao <tiancaiamao@gmail.com>
2020-06-28 10:16:03 +08:00
2016-04-23 10:27:13 +08:00
2017-06-05 10:58:34 +08:00
2016-04-23 10:27:13 +08:00

LICENSE Language Build Status Go Report Card GitHub release GitHub release date CircleCI Status Coverage Status GoDoc

What is TiDB?

TiDB ("Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. It is MySQL compatible and features horizontal scalability, strong consistency, and high availability.

  • Horizontal Scalability

    TiDB expands both SQL processing and storage by simply adding new nodes. This makes infrastructure capacity planning both easier and more cost-effective than traditional relational databases which only scale vertically.

  • MySQL Compatible Syntax

    TiDB acts like it is a MySQL 5.7 server to your applications. You can continue to use all of the existing MySQL client libraries, and in many cases, you will not need to change a single line of code in your application. Because TiDB is built from scratch, not a MySQL fork, please check out the list of known compatibility differences.

  • Distributed Transactions with Strong Consistency

    TiDB internally shards table into small range-based chunks that we refer to as "regions". Each region defaults to approximately 100MiB in size, and TiDB uses a Two-phase commit internally to ensure that regions are maintained in a transactionally consistent way.

  • Cloud Native

    TiDB is designed to work in the cloud -- public, private, or hybrid -- making deployment, provisioning, operations, and maintenance simple.

    The storage layer of TiDB, called TiKV, became a Cloud Native Computing Foundation member project in 2018. The architecture of the TiDB platform also allows SQL processing and storage to be scaled independently of each other in a very cloud-friendly manner.

  • Minimize ETL

    TiDB is designed to support both transaction processing (OLTP) and analytical processing (OLAP) workloads. This means that while you may have traditionally transacted on MySQL and then Extracted, Transformed and Loaded (ETL) data into a column store for analytical processing, this step is no longer required.

  • High Availability

    TiDB uses the Raft consensus algorithm to ensure that data is highly available and safely replicated throughout storage in Raft groups. In the event of failure, a Raft group will automatically elect a new leader for the failed member, and self-heal the TiDB cluster without any required manual intervention. Failure and self-healing operations are also transparent to applications.

For more details and latest updates, see official TiDB blog.

Adopters

View the current list of in-production TiDB adopters here.

Roadmap

Read the Roadmap.

Quick start

Read the Quick Start Guide, which includes deployment methods using Ansible, Docker, and Kubernetes.

Getting Help

Documentation

Architecture

architecture

Contributing

contribution-map

Contributions are welcomed and greatly appreciated. See CONTRIBUTING.md for details on submitting patches and the contribution workflow. For more contributing information, click on the contributor icon above.

License

TiDB is under the Apache 2.0 license. See the LICENSE file for details.

Acknowledgments

Description
No description provided
Readme Apache-2.0 568 MiB
Languages
Go 95%
Starlark 2.5%
Shell 1.4%
Yacc 0.7%
Jsonnet 0.2%