1、TXSQL数据库详解TXSQL简介TXSQL的性能优化TXSQL的功能优化TXSQL的企业级特性目录TXSQL简介1腾讯云 国内领先的云服务供应商计算存储数据库安全TencentDB(CDB)腾讯云数据库服务完善的数据库服务自主可控的管理应用兼容多种数据库引擎海量数据库实例,支持PB+存储CDB 现网客户TXSQL 云数据库服务的核心Access clustersInstance clusterTXSQLTXSQLTXSQLStorage clusterRouteSafetyHADatabase enginesReplicationStorage TengXunMySQL(TencentMyS
2、QL)自研的MySQL 分支 基于官方MySQL版本TXSQL的演进之路TXSQL 5.1TXSQL 5.5TXSQL 5.6Bugfix for 5.1Bugfix for 5.5Features needed by OSS Bugfix for 5.6Features needed by OSSFeatures from DBA&business Read and Write Optimization.TXSQL 8.0(coming soon)Bugfix for 5.7Features needed by OSSEncryptionAuditThread pool.TXSQL 5.7T
3、XSQL的性能优化2Redo log的优化:双缓冲区mtr_commitTrx_1Trx_2Trx_mmtr_commitlog_write_up_toflush and sync redo log protected by log_sys-w_mutex and switch bufmtr_commitredo log writebuf1Trx_nlog_get_lsnread log_sys-lsnbuf2Redo log优化效果Readview的深度优化read view 存在的问题?整个创建过程一直持有 trx_sys-mutex 锁需要遍历 trx_sys-trx_list(5.5)
4、或trx_sys-rw_list(5.6)read_view 的内存在每次创建中被分配,事务提交后被释放并发较大,活跃事务链表过长时,会在trx_sys-mutex 上有较大的消耗TXSQL 解决上述问题的方法在 trx_sys下维护一个全局的事务ID的有序集合在 trx_sys下维护一个有序的已分配序列号的事务列表,记录拥有最小序列号的事务,供purge 时使用减少不必要的内存分配参照 5.7 的实现,在 5.6 中将 ro_trx_list 移除0200004000060000800000282565121000originaloptimized
5、05000250030003500400045005000originaloptimizedLock_log split at mastertable_map_log_eventcacheMasterLock_log split for sql thread and io threadsemi-sync built in at slavetable_map_log_event cacheSlaveReconstruct IO threadsemi-sync built in at master半同步复制优化并行复制0000040
6、000500006000070000800009000012345678logical_clocktablemasterTXSQL的功能优化3异步删除大表优化目标:实现方法:1.重命名IDB文件2.在后台线程中逐步truncate该文件(每次128M)3.最终删除该文件避免在删除大表时产生IO尖刺优化select.offset n limit mrow_search_for_mysqlrow_sel_get_clust_rec_for_mysqlrow_sel_store_mysql_recsub_selectevaluate_join_recordQuery_result_send:send
7、_dataoffset-问题:内部数据格式转换耗费了大量的CPU时间优化:将offset计算下沉到InnoDB,减少不必要的开销ALTER TABLE NO_WAIT|TIMEOUTALTER TABLE table NO_WAIT|WAIT nDROP TABLE table NO_WAIT|WAIT nTRUNCATE TABLE table NO_WAIT|WAIT nOPTIMIZE TABLE table NO_WAIT|WAIT nRENAME TABLE table_src NO_WAIT|WAIT n TO table_dst秒加字段(instant add column)只修
8、改数据字典信息,避免数据拷贝即时完成,无需等待*注:即将在txsql5.7的新版本内核中发布来自腾讯游戏团队,获得官方认可并已合入官方8.0TXSQL的企业级特性4TXSQL 线程池listener thread(pollfd).wroker threadwroker threadhigh_prio_queuequeuethreadpool_handle_requesthandle_eventget_eventhandle_eventget_eventclientclientclientclient0000040000500006000070000326400thread_pool=offthread_pool=onTXSQL 审计TXSQL 数据加密KMS:Key Management Serviceby Tencent CloudCAM:Cloud Access Management Serviceby Tencent CloudKeyring_kms集成 KMS&CAM withMySQL TDE实现 Keyring 接口Kerying 插件keyring_file:文件方式存储秘钥keyring_okv:秘钥由ORACLE Key Vault管理KMS PluginCAMKMSTHANK YOU!