美文网首页
分布式数据库评估维度分析

分布式数据库评估维度分析

作者: jeanron | 来源:发表于2021-04-11 00:01 被阅读0次

本文转载自韩锋频道,作者韩锋

近些年来,数据库产业发展迅猛,各种数据库产品层出不穷。那么如何选择一款数据库产品成为很多企业面临的问题?特别是随着数据规模、计算能力等需求,分布式数据库产品成为很多企业的新宠。那么这类数据库较传统数据库又有何差异?在数据库选型中,需要注意哪些方面?本文尝试描述数据库(特别是分布式数据库)选型需考虑维度,希望帮助企业可以做出最适合的选择。

1. 数据库评估维度概览

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

因需对比的维度很多,故将其大致做了个分类,归纳为下面脑图所示。下文将按各分类详细描述。在各对比维度分类之上,又抽象出非交互式测试与交互测试两大类。之所以做了这样的划分,是因为曾参与过多款数据库产品评测,大量的人工测试方式非常低效。这里是尝试将部分对比维度分类提取出来,可尝试使用自动化方式解决上述问题。则后者的交互式测试,则还需要人工介入;但可通过此方法固化对比维度,减少交互成本。

2. 评估维度:基本功能篇

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

  • 表达式

  • 操作符

  • 字符集:支持常规的UTF8MB4及定长字符集GBK等。

  • 函数:支持基本函数、扩展函数(如正则函数、安全函数、窗口分析函数等)、自定义函数。

  • 计算:虽然不提倡在数据库端进行计算,但如果支持计算的话,将有利于将传统数据库应用迁移到新型数据库中。在分布式架构下,这部分实现较难。

3. 评估维度:数据对象篇

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

  • 序列:对分布式数据库,需提供全局唯一、单调递增的序列对象。

  • 视图:对分布式数据库,需提供满足全局性、一致性的视图访问。扩展要求,可提供参数视图、动态视图、物化视图等能力。

  • 约束:支持常规的主键(PK)、外键(FK)、唯一(UK)、非空(NULL)、条件(CHECK),特别是分布式条件下的约束能力。此外,支持非分布键下的约束。

  • 表:支持常规的表(例如堆表、簇表)。表的存储方式是行存、列存亦或是混存。支持全局表(广播表)、ER表、追加表、只读表等特殊表类型。

  • 索引:支持多种类型索引(如B树、哈希等),支持函数索引等。对于分布式环境支持全局索引、二级索引。对于分区条件下,是否支持本地、全局分区索引。

  • 同义词

  • 数据类型:对多模场景,丰富的数据类型十分必要。此外,在金融场景中,对高精度数据类型也有特殊的要求。

  • 分片:支持的分片算法,支持自定义分片策略。在单分片键基础上,支持多字段分片或自定义分片等。

  • 分区:支持的分区类型(如HASH、LIST、RANGE等),支持复合分区。常规分区操作支持增加、删除、移动、截断、分裂、合并等。

4. 评估维度:SQL篇

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

  • DML

  • DDL

  • DQL:对于分布式数据库而言,灵活复杂的查询能力实现难度较高。很多产品在这部分都有所取舍,没有实现全集。

5. 评估维度:内核功能篇

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

  • 锁:支持乐观、悲观锁机制。提供完善的死锁检测机制。

  • 事务:支持标准的ACID能力。

  • 隔离级:提供常规的RC、RR等隔离级别,支持MVCC,提供全局一致性数据读取能力,支持强一致性的数据读取并可读到最新数据。

  • 并行:支持并行计算,已利用多核能力加速执行。

6. 评估维度:性能篇

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

  • 通用模型:支持通过常规的事务型、分析型测试标准,提供基础的性能测试指标。

  • 业务模型:通过抽象业务模型,提供近似业务访问的性能指标。

  • 其他场景:提供诸如导入导出等场景的性能数据。

7. 评估维度:安全篇

     人生基本上就是两件事,选题和解题。最好的人生是在每个关键点上,既选对题,又解好题。人生最大的痛苦在于解对了题,但选错了题,而且还不知道自己选错了题。正如人生最大的遗憾就是,不是你不行,而是你本可以。

❖ 数据管理

  • 数据加密:数据存储加密,是保证数据安全的根本方法。即使发生了数据泄漏,也不用担心数据为他人所用。针对加密的要点在于加密算法及效率,除常规加密算法外,是否支持国密算法及自定义算法?此外,最为重要的是对应用透明。

  • 数据传输:在数据传输方面,支持数据的加密传输方式。

  • 数据访问:在数据访问方面,支持行级、列级数据访问控制。

  • 生命周期管理:建立全生命周期的数据安全策略,在后续的数据归档、备份、导出直至销毁阶段均需考虑必要的数据安全。

  • 敏感数据:具备建立敏感数据识别、分级,根据不同级别采取不同策略,支持数据脱敏访问。

❖ 用户管理

  • 用户:具备唯一标识的用户名,采用满足复杂度要求的口令策略并加密存储。同时,具备多种鉴权方式。

  • 角色(组):通过角色或角色组方式,简化权限管理。支持所谓“三权分立”,即系统管理员、审计管理员、安全管理员三权分立

  • 权限:具备多种对象不同粒度的权限控制能力。

❖ 访问控制

  • 对象:针对不同对象,可设置访问、执行、变更等不同的控制权限。

  • 集群:在多个应用共享集群时,应支持多个应用间自有数据库对象的访问控制。

  • 会话:支持基于IP、端口、数据库、用户和密码的连接认证功能,会话应进行安全隔离,不同会话应具备独立的上下文。

  • 节点:分布式数据库的不同节点(如计算节点、存储节点),支持白名单信任策略,复合要求的地址才能连接访问。

❖ 安全管理

  • 密钥管理

  • 安全告警

  • 安全审计:支持安全审计的长久保存。

8. 评估维度:兼容篇

     人生基本

  • 客户端:支持标准的客户端访问方式。提供不同语言的访问驱动。

  • 应用:支持常规数据应用的访问。

  • 语法:兼容部分事实标准,例如Oracle、MySQL等。这对于业务的迁移意义很大。

  • 硬件:支持多种硬件平台,特别是国产化硬件平台。

    9. 评估维度:运维篇

         人生基本

    • 备份恢复:支持物理备份、逻辑备份。支持全量、增量备份。提供时点还原能力。提供对象级闪回能力。

    • 数据迁移:在分布式环境下,提供全局一致性的数据迁移能力。

    • 系统配置

    • 租户管理

    • 审计管理

    • 容量管理

    • 版本升级

    • 监控

    10. 评估维度:架构篇

         人生基本

    • 读写分离

    11. 评估维度:实例管理篇

         人生基本

    • 执行计划:支持分布式环境的执行计划显示。

    • 统计信息

    • 空间管理

    • 模式管理

    • 时区

    • 可扩展:支持不同层次的扩展能力,从前端接入层、计算层到存储层。

    12. 评估维度:高可用篇

         人生基本

    • 高可用:高可用包括多种维度,例如服务层高可用、数据层高可用、接入层高可用。服务高可用包括全部组件支持高可用;出现组件异常时自动恢复;在常规变更操作时(例如扩缩容)支持高可用。数据高可用,则从数据的RTO角度来考虑。接入层,则是指诸如Proxy代理组件的高可用。

    • 高可靠:数据的整体可靠性,例如常见的通过多副本技术保证,且副本间是否满足强一致等。还包括通过全量+增量+日志的备份策略,满足数据还原需求。

    • 容灾:提供单机、机架、可用区、同地域、跨地域不同层级的容灾能力。

相关文章

  • 分布式数据库评估维度分析

    本文转载自韩锋频道,作者韩锋 近些年来,数据库产业发展迅猛,各种数据库产品层出不穷。那么如何选择一款数据库产品成为...

  • 《精进》书摘7:克服天性中的选择弱势

    一、一个常用方法: 1、维度分析法:把选择的对象分解为不同的维度,然后分别就不同的维度做出评估。 2、...

  • 媒体投放效果评估分析的方法-eboR媒介监测中心

    媒体投放效果评估分析,并非是直接以产品的销售情况的好坏来评判广告投放效果,媒体投放效果评估本身就是一项多维度分析的...

  • 精进047——如何做出好选择

    最常用的方法就是维度分析法:把选择的对象分解为不同的维度,然后分别就不同的维度做出评估。拿挑选工作为例,假设现在你...

  • 促销评估的3个层次是那些,商品人员如何做?

    评估活动促销的维度很多,有的人把握不住分析的本质,分析不在“点”上;有的人就能分析到“点”上;还有的人不仅分析到“...

  • 找到自己定位的三个小步骤

    定位其实就是做选择的能力,沿着能力水平与风险评估两个维度,利用矩阵分析模型,可以找寻自己的定位策略,这是宏观维度的...

  • 超客服务之技能Pick{客户需求分析}

    客户需求分析不仅提供了客户需求细分的思考维度,更提供了客服在实际技术支持中所涉及到的项目后期需求满足绩效评估的维度...

  • 你应该加入什么样的数据分析团队?

    在这里不讨论什么类型数据分析Team更好,众说纷纭,无解!只是谈谈对于一个分析师,从哪些维度来评估、思考,进而做出...

  • 竞品分析

    选择分析维度 01.从公司维度分析 02从产品维度 03从运营维度

  • 4D分享

    A:客户效果评估 M:运营优化没信心 B:通过数据前后等维度进行对比分析证实结果 R:找回信心,明确后面优化方向

网友评论

      本文标题:分布式数据库评估维度分析

      本文链接:https://www.haomeiwen.com/subject/zkbokltx.html