Git Product home page Git Product logo

tencent / tendbcluster-tendb Goto Github PK

View Code? Open in Web Editor NEW
84.0 10.0 34.0 368.12 MB

TenDB is the data node of TenDB Cluster.

License: GNU General Public License v2.0

Shell 0.46% CMake 0.80% Makefile 0.12% C++ 62.78% C 25.57% Perl 1.21% Roff 0.09% M4 0.01% Vim Script 0.01% Emacs Lisp 0.01% Java 3.52% Python 0.29% CSS 2.07% HTML 0.18% Batchfile 0.01% Objective-C 0.86% Pascal 0.22% NASL 0.93% PHP 0.79% Assembly 0.07%

tendbcluster-tendb's Introduction

TenDB Cluster

TenDB Cluster is a MySQL distributed relational database solution developed and maintained by Tencent Game CROS DBA team. It consists of three core components: TSpider, TenDB and Tdbctl.

TSpider is the proxy layer of TenDB Cluster. It is a customized version developed by Tencent Game CROS DBA based on MariaDB 10.3.7. It mainly improves and customizes the distributed MySQL storage engine of spider; TSpider github page

TenDB is the data layer of TenDB Cluster. It is a customized MySQL branch developed by Tencent Game CROS DBA based on Percona Server 5.7.20. It provides some greate features internally for business operations; TenDB github page

Tdbctl is the control layer of TenDB Cluster. It is developed by Tencent Game CROS DBA team based on TenDB (mainly reuse TenDB's own SQL parsing capabilities and MGR capabilities). It is providing cluster routing management, cluster DDL operating, cluster monitoring and some other cluster capabilities. Tdbctl github page

Introduction to TenDB Cluster

TenDB Cluster is a MySQL distributed relational database solution developed and maintained by Tencent Game DBA team. The main features include: transparent database/table sharding, high-availability, online scaling. With these features, developers can focus on the development and operation of their product without caring about data sharding logic. Also, in the case of massive concurrency, there is no need to care about the load pressure of the DB storage layer.

Quick Start

More detail see chapter: Quick Deployment With Docker Compose

For details, see https://tendbcluster.com/

Flexible Deployment

It is recommended to use TSpider + TenDB + Tdbctl to deploy TenDB Cluster.
However, developers can also flexibly deploy TenDB Cluster according to their own online situation. Currently, companies use TSpider + Tencent Cloud RDS or TSpider + AWS RDS to deploy TenDB Cluster clusters.

Contact us

For any questions or discussions about TenDB Cluster, please feel free to give us feedback via issues:
TSpider: https://github.com/Tencent/TenDBCluster-TSpider/issues
TenDB: https://github.com/Tencent/TenDBCluster-TenDB/issues
Tdbctl: https://github.com/Tencent/TenDBCluster-Tdbctl/issues

Roadmap

For details, see chapter Roadmap

License

TenDBCluster is licensed under the GNU General Public License Version 2, except for the third-party components listed below. Copyright and license information can be found in the file TenDBCluster-License.

Acknowledgements

Thanks to MariaDB and Percona for their outstanding contributions to the MySQL open source ecosystem, it was on the shoulders of the predecessors that TenDB Cluster was born.
In addition, special thanks to the outstanding developers, contributors. For details, see https://tendbcluster.com/book-en/Documentation/acknowledgements-en.html

tendbcluster-tendb's People

Contributors

agopi avatar akopytov avatar alfranio avatar bjornmu avatar bkandasa avatar blaudden avatar david-zhao avatar evgeniypatlan avatar frazerclement avatar gkodinov avatar gl-sergei avatar gurusami avatar harinvadodaria avatar hrvojem avatar jdduncan avatar jhauglid avatar laurynas-biveinis avatar marcalff avatar nacarvalho avatar percona-ysorokin avatar phulakun avatar prohaska avatar roylyseng avatar stewartsmith avatar thirunarayanan avatar tplavcic avatar vaintroub avatar vasild avatar yoshinorim avatar zmur avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tendbcluster-tendb's Issues

mysqlbinlog support filter binlog_events by field values

TenDB have enhanced mysqlbinlog to filter binlog row_events.
It's useful to track the change of some record, and no need to scrape the rows from massive output of mysqlbinlog. Just use --filter-rows options to filter rows out, and its result can be applied to mysqld.
Work with --flashback options, the binlog_event is reverted. That's:

  1. WRITE_ROWS_EVENT is converted to DELETE_ROWS_EVENT
  2. DELETE_ROWS_EVENT is converted to WRITE_ROWS_EVENT
  3. Exchange the before and after image for UPDATE_ROWS_EVENT

This feature need binlog_format=ROW and binlog_row_image=FULL. You can use --query-event-handler and --filter-statement-match-[handler] to tell mysqlbinlog how to handle QUERY_EVENT.

Combine this options together, mysqlbinlog flashback support specific records rollback in a short time.

Read this docs to get more info: https://tendbcluster.com/book-cn/Documentation/tendb/mysqlbinlog-flashback.html

TSpider节点和TDB节点数据不一致的处理方式

通过TSpider操作建库建表过程中服务器异常崩溃了,恢复服务后发现上次操作的库在spider节点和db节点产生了不一致
image
image
无法直接清除该库
image
尝试修改TSpider节点全局变量ddl_execute_by_ctl=OFF后再次操作提示
image
请问这种情况一般是如何产生的/可以通过什么方式处理

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.