数据架构选型必读:2021上半年数据库产品技术解析( 五 )

  • 产品易用性:在V3.1版本 , OceanBase数据库在产品易用性上做了很多工作 , 包含日志梳理、视图管理和升级 。
  • NoSQL
    RocksDB发布6.19.x及6.20.x版本
    近期 , RocksDB分别发布了6.19.x和6.20.x版本 。 2个大版本主要修复了一些Bug及一些使用行为上的变化 , 新功能上主要围绕BackupEngine和BlobDB展开 。
    关于修复的具体内容 , 请参阅官网(https://github.com/facebook/rocksdb/releases) , 除此之外 , 在以下所列的功能点进行了更新:
    • 添加了将BackupEngine备份作为只读数据库打开的功能 , 使用BackupEngine::GetBackupInfo()提供的BackupInfo::name_for_open和env_for_open和include_file_details=true;
    • 添加了对集成BlobDB的BackupEngine支持 , 当共享表文件时 , 在备份之间共享Blob文件 。 由于当前的限制 , blob文件始终使用kLegacyCrc32cAndFileSize命名方案 , 并且增量备份必须读取数据库中的所有blob文件并对其进行校验和 , 即使对于已备份的文件也是如此;
    • 向BackupEngine::CreateNewBackup(WithMetadata)添加了一个可选的输出参数 , 以返回新备份的BackupID;
    • 添加了BackupEngine::GetBackupInfo / GetLatestBackupInfo用于查询单个备份;
    • 尽管用于启用它的API预计会发生变化 , 但根据SST架构(与版本>= 6.15.0兼容) , 使功能区过滤器成为长期支持的功能;
    • 为BlobDB的新实现支持压缩过滤器 。 添加FilterBlobByKey()到CompactionFilter. 子类可以覆盖此方法 , 以便压缩过滤器可以确定在压缩期间是否必须读取实际的blob值 。 使用新的kUndeterminedinCompactionFilter::Decision表示需要进一步的操作来让压缩过滤器做出决定;
    • 向BackupEngine::GetBackupInfo添加一个选项以包含每个备份文件的名称和大小 。 特别是在备份之间存在文件共享的情况下 , 这提供了对备份空间使用情况的详细洞察 。
    NewSQL
    TiDB发布5.0版本
    4月8日 , TiDB发布5.0版本 , 在性能、稳定性、易用性、高可用与安全合规等方面都取得了很大进步 , 并增加了多个企业级特性 , 在OLTP Scale的基础上实现了一栈式数据实时分析的需求 , 关键特性如下:
    • TiDB通过TiFlash节点引入了MPP架构 。 这使得大型表连接类查询可以由不同TiFlash节点共同分担完成 。 当MPP模式开启后 , TiDB将会根据代价决定是否应该交由MPP框架进行计算 。 MPP模式下 , 表连接将通过对JOIN Key进行数据计算时重分布(Exchange操作)的方式把计算压力分摊到各个TiFlash执行节点 , 从而达到加速计算的目的 。 经测试 , TiDB 5.0在同等资源下 , MPP引擎的总体性能是Greenplum 6.15.0与Apache Spark 3.1.1两到三倍之间 , 部分查询可达8倍性能差异 。
    • 引入聚簇索引功能 , 提升数据库的性能 。 例如 , TPC-C tpmC的性能提升了39% 。
    • 开启异步提交事务功能 , 降低写入数据的延迟 。 例如:Sysbench设置64线程测试Update index时, 平均延迟由12.04ms降低到7.01ms , 降低了41.7% 。
    • 通过提升优化器的稳定性及限制系统任务对I/O、网络、CPU、内存等资源的占用 , 降低系统的抖动 。 例如:测试8小时 , TPC-C测试中tpmC抖动标准差的值小于等于2% 。
    • 通过完善调度功能及保证执行计划在最大程度上保持不变 , 提升系统的稳定性 。
    • 引入Raft Joint Consensus算法 , 确保Region成员变更时系统的可用性 。
    • 优化EXPLAIN功能、引入不可见索引等功能帮助提升DBA调试及SQL语句执行的效率 。
    • 通过从TiDB备份文件到Amazon S3、Google Cloud GCS , 或者从Amazon S3、Google Cloud GCS恢复文件到TiDB , 确保企业数据的可靠性 。
    • 提升从Amazon S3或者TiDB/MySQL导入导出数据的性能 , 帮忙企业在云上快速构建应用 。 例如:导入1TiB TPC-C数据性能提升了40% , 由254 GiB/h提升到366 GiB/h 。

      特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。