TiDB 3.0 GA、安定性とパフォーマンスの向上

TiDBはPingCAP自己開発したオープンソースの商用グレードのデータベース、オンライン拡張弾力性レベルのサポート、およびエコ互換のMySQLプロトコル、革新的な実装のOLTPとOLAPの統合で、リレーショナル・データベース、データの信頼性、可用性、セキュリティ、およびその他の機能を分散しています。

TiDB 3.0リリースが大幅に大規模クラスタ、ストレージノードクラスタのサポート150 +、300 +、長期安定運転のTBの記憶容量の安定性を向上させることができます。大幅ANALYZE EXPLAIN、導入ビューINFORMATION_SCHEMA内のユーティリティ複数のシステムを備え、ユーザーを最適化するために、運用コストを削減使いやすさをご紹介し、SQLトレースが好きです。パフォーマンスの面で、特に、OLTP性能、2.1から3.0までは、前記TPC-C性能、劇的約4.5倍、Sysbench性能約1.5倍増加したOLAPの態様では、TPC-Hの表示を行ってもよい実現による50G Q15、従ってTPCを-H 22 Geのクエリは正常に実行することができます。新しい機能は、窓関数、ビュー(実験的特性)、パーティションテーブル、プラグインシステム、悲観的ロック(実験的な機能)を増加させます。

プレス時間の時点でTiDBは、本番環境と長期安定動作中に500人の以上のユーザー、等の金融、保険、製造、インターネット、ゲーム、の分野をカバーするビジネストランザクション、データ・セット、歴史家や他のシーンが関与しています。リレーショナルデータベース利用できる「百花」は記述するために、さまざまなシナリオにアピールするのではなく、任意のリレーショナルデータベースの最も基本的な要求は、データの信頼性、システムの安定性、拡張性、セキュリティ、使いやすさと、変更されません。ソートTiDB驚きの3.0どのような私たちの足跡に従ってください。

 

まず、大規模なクラスタの安定性を高めるために、

2.1バージョン3.0と比較して、有意に大規模なクラスタ、単一ノードストレージクラスタのサポートの安定性を高める150 +、300以下のようにメイン最適化点の長期安定運転の+ TBの記憶容量:

ラフトのコピーとの間1.最適化ハートビート・メカニズムは、クラスタ上の寒データの負担を減らし、活動地域のレベルに応じて心拍数を調整します。

2.ホット以上の構成パラメータ、高い優先度を使用するための政策支援をスケジュール、およびホットスケジューリングの精度を向上させます。

3. PDスケジューリング最適化プロセスは、制限機構はシステムの安定性を改善し、スケジューリングを提供します。

4.新規GCに分布関数は、GC、システムの安定性を向上させるために大きなクラスタの時間を短縮GCの性能を改善します。

 

第二に、クエリプランの安定性を高めるために、

我々はすべて知っているように、ビジネス・クリティカルなデータベースのクエリプランの安定性、次のように、クエリの最適化計画の安定性を高めるための様々な手段を使用してTiDB 3.0バージョン:

1.新しいファースト、機能を分析し、統計情報の収集のスピードを向上させ、消費や設備へのクラスタリソースの影響を減らします。

2.インクリメンタルは、消費や設備へのクラスタリソースの負荷の低減、単調に速度を上げ収集索引統計を強化するための新機能を分析します。

3.クエリプランの安定性を高めるために、コスト見積もりの​​精度を向上させ、CM-スケッチ、CM-スケッチハッシュの衝突が大きく見積もりにつながる容易に統計のTopNを追加します。

4.スカイライン剪定フレームの導入、による統計情報の遅れの安定性に容易にするための統計クエリプランに過度の依存を防止するために規則を使用するには、最適なクエリプランの選択が生じた場合ではない、問合せ計画を改善します。

クエリプランは、クエリプランの安定性を高めるために、正確な手動バインディングクエリプランがないとき5.新しいSQL計画管理機能がサポートされています。

 

第三に、システムパフォーマンス、TPC-Cのパフォーマンスを向上させるための約4.5倍、約1.5倍の性能Sysbench

1. OLTP

Sysbenchポイントを選択し、更新インデックスの3.0と2.1のバージョンと比較すると、更新非指数は、約4.5倍の約1.5倍のリフト、TPC-Cのパフォーマンスを改善しました。主な最適化のポイントは以下のとおりです。

1. TiDB連続的に最適化されたSQLのアクチュエータであっが順次参加選択NOT EXISTSにように最適化されたサブクエリ参加ポリエピトープ最適化する際に、セミ参加アンチ。

2.最適化インデックスは、ロジックに参加インデックスは、オペレータに参加して、コスト見積もりの​​精度を向上させるシーンに及びます。

3. TiKV 批量接收和发送消息功能,提升写入密集的场景的 TPS 约 7%,读密集的场景提升约 30%。

4. TiKV 优化内存管理,减少 Iterator Key Bound Option 的内存分配和拷贝,多个 Column Families 共享 block cache 提升 cache 命中率等手段大幅提升性能。

5. 引入 Titan 存储引擎插件,提升 Value 值超过 1KB 时性能,缓解 RocksDB 写放大问题,减少磁盘 IO 的占用。

6. TiKV 新增多线程 Raftstore 和 Apply 功能,提升单节点内可扩展性,进而提升单节点内并发处理能力和资源利用率,降低延时,大幅提升集群写入能力。

 

2. TiDB Lightning

TiDB Lightning 性能与 2019 年年初相比提升 3 倍,从 100GB/h 提升到 300GB/h,即 28MB/s 提升到 85MB/s,优化点,如下:

1. 提升 SQL 转化成 KV Pairs 的性能,减少不必要的开销。

2. 提升单表导入性能,单表支持批量导入。

3. 提升 TiKV-Importer 导入数据性能,支持将数据和索引分别导入。

4. TiKV-Importer 支持上传 SST 文件限速功能。

 

四、提升系统安全性

RBAC(Role-Based Access Control,基于角色的权限访问控制)是商业系统中最常见的权限管理技术之一,通过 RBAC 思想可以构建最简单“用户-角色-权限”的访问权限控制模型。RBAC 中用户与角色关联,权限与角色关联,角色与权限之间一般是多对多的关系,用户通过成为什么样的角色获取该角色所拥有的权限,达到简化权限管理的目的,通过此版本的迭代 RBAC 功能开发完成。

IP 白名单功能(企业版特性):TiDB 提供基于 IP 白名单实现网络安全访问控制,用户可根据实际情况配置相关的访问策略。

Audit log 功能(企业版特性):Audit log 记录用户对数据库所执行的操作,通过记录 Audit log 用户可以对数据库进行故障分析,行为分析,安全审计等,帮助用户获取数据执行情况。

加密存储(企业版特性):TiDB 利用 RocksDB 自身加密功能,实现加密存储的功能,保证所有写入到磁盘的数据都经过加密,降低数据泄露的风险。

完善权限语句的权限检查,新增 ANALYZE,USE,SET GLOBAL,SHOW PROCESSLIST 语句权限检查。

 

五、提升系统易用性

1. 新增 SQL 方式查询慢查询,丰富 TiDB 慢查询日志内容,如:Coprocessor 任务数,平均/最长/90% 执行/等待时间,执行/等待时间最长的 TiKV 地址,简化慢查询定位工作,提高排查慢查询问题效率,提升产品易用性。

2. 新增系统配置项合法性检查,优化系统监控项等,提升产品易用性。

3. 新增对 TableReader、IndexReader 和 IndexLookupReader 算子内存使用情况统计信息,提高 Query 内存使用统计的准确性,提升处理内存消耗较大语句的效率。

4. 制定日志规范,重构日志系统,统一日志格式,方便用户理解日志内容,有助于通过工具对日志进行定量分析。

5. 新增 EXPLAIN ANALYZE 功能,提升SQL 调优的易用性。

6. 新增 SQL 语句 Trace 功能,方便排查问题。

7. 新增通过 unix_socket 方式连接数据库。

8. 新增快速恢复被删除表功能,当误删除数据时可通过此功能快速恢复数据。

 

六、增强 HTAP 能力

TiDB 3.0 新增 TiFlash  组件,解决复杂分析及 HTAP 场景。TiFlash 是列式存储系统,与行存储系统实时同步,具备低延时,高性能,事务一致性读等特性。通过 Raft 协议从 TiKV 中实时同步行存数据并转化成列存储格式持久化到一组独立的节点,解决行列混合存储以及资源隔离性问题。TiFlash 可用作行存储系统(TiKV)实时镜像,实时镜像可独立于行存储系统,将行存储及列存储从物理隔离开,提供完善的资源隔离方案,HTAP 场景最优推荐方案;亦可用作行存储表的索引,配合行存储对外提供智能的 OLAP 服务,提升约 10 倍复杂的混合查询的性能。

TiFlash 目前处于 Beta 阶段,计划 2019 年 12 月 31 日之前 GA,欢迎大家申请试用。

 

七、未来规划

未来我们会继续投入到系统稳定性,易用性,性能,弹性扩展方面,向用户提供极致的弹性伸缩能力,极致的性能体验,极致的用户体验。

稳定性方面 V4.0 版本将继续完善 V3.0 未 GA 的重大特性,例如:悲观事务模型,View,Table Partition,Titan 行存储引擎,TiFlash 列存储引擎;引入近似物理备份恢复解决分布数据库备份恢复难题;优化 PD 调度功能等。

性能方面 V4.0 版本将继续优化事务处理流程,减少事务资源消耗,提升性能,例如:1PC,省去获取 commit ts 操作等。

弹性扩展方面,PD 将提供弹性扩展所需的元信息供外部系统调用,外部系统可根据元信息及负载情况动态伸缩集群规模,达成节省成本的目标。

 

八、社区概况

我们相信战胜“未知”最好的武器就是社区的力量,基础软件需要坚定地走开源路线。截止发稿我们已经完成 41 篇源码阅读文章。TiDB 开源社区总计 265 位 Contributor,6 位 Committer,在这里我们对社区贡献者表示由衷的感谢,希望更多志同道合的人能加入进来,也希望大家在 TiDB 这个开源社区能够有所收获。

 

TiDB 3.0 GA Release Notes:https://pingcap.com/docs-cn/v3.0/releases/3.0-ga/

 

おすすめ

転載: www.oschina.net/news/107836/tidb-3-0-ga
おすすめ