18项火眼金睛 - 评估一款数据库

简介:

标签

PostgreSQL , 数据库评估


背景

不论你是投资方、还是CTO或者架构师,如果你需要在非常核心的场合选择一款数据库产品,或者你要投资一个数据库产品或团队,本文一定会为你提供一个很好的指导。

现在的数据库分类在dbranking上已经分得很细:

https://db-engines.com/en/ranking

Complete ranking  
Relational DBMS  
Key-value stores  
Document stores  
Graph DBMS  
Time Series DBMS  
RDF stores  
Object oriented DBMS  
Search engines  
Multivalue DBMS  
Wide column stores  
Native XML DBMS  
Content stores  
Event Stores  
Navigational DBMS  

本文主要评估的是关系数据库,关系数据库又分:

OLTP:在线事务处理  
  
OLAP:分析型数据库  
  
HTAP:混合数据库(既能支持在线事务,又能支持在线分析)  

评估数据库产品的18项火眼金睛

1、SQL兼容性

SQL语法(多维分析、窗口、子查询、CTE、DDL事务、触发器、规则、事件触发器)

并发控制能力

事务隔离级别支持

支持的数据类型

支持的操作符

支持的索引

客户端语言接口

服务端编程接口

分区表能力

管理GUI,管理接口,管理函数,管理视图等

2、优化器能力

基于成本的执行计划

基于遗传算法的执行计划

多少种数据访问方法

支持哪些SQL 重写规则

支持哪些执行节点并行

支持哪些JOIN算法

支持哪些排序算法

3、扩展能力

并行能力(单机并行、多机并行)

存储能力(行存、列存储、压缩、堆存、树存)

扩展性 - scale up 能力

扩展性 - scale out 能力

数据复制能力

4、运算能力

向量计算

JIT

FPGA、GPU 计算扩展能力

5、内核扩展能力

内核扩展能力(自定义UDF,IDX,OP,TYPE,窗口,聚合,外部数据源,PL扩展接口)

6、可靠性、可用性、稳定性

多副本能力

备份能力

恢复能力(时间点恢复、并行备份恢复等能力)

容灾能力

越界回退能力

HA能力

崩溃恢复能力

7、安全性(认证方法、加密类型、透明加密类型、透明加密存储)

8、其他特性

(流计算、图计算、GIS能力、推荐算法、时序、NOSQL、搜索、等)

估值

9、内核开发语言、模型、平台兼容性、产品软肋

C,

线程模型、进程模型、

Linux,unix, windows, ...

有哪些产品设计、架构方面的软肋。

10、代码成熟度、完成度

11、roadmap

12、主要代码贡献者

13、性能

tpc-b, tpc-h, tpc-ds, tpc-c, sysbench(oltp), TCO

14、应用场景、案例

15、生态

商业生态:高校、数据库厂商、技术服务厂商、云厂商、用户群体、应用开发商、语言生态、投资方生态

社区状态

社区活跃度

与其他生态的融合能力,hadoop, spark, ....

16、未来发展潜力

17、成本

学习成本

开发成本

运维成本

管理成本

18、开源许可

开源许可很重要!!!

参考

https://db-engines.com/en/ranking

https://www.postgresql.org/docs/10/static/index.html

https://wiki.postgresql.org/wiki/PostgreSQL_derived_databases

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
ly~
|
存储 监控 安全
如何评估云数据库的安全性?
评估云数据库安全性需关注基础架构与物理安全、网络基础设施、电力与冷却系统;访问控制与身份验证,包括多因素身份验证、基于角色的访问控制、身份验证强度;数据加密,涉及传输加密、存储加密、密钥管理;备份与恢复,涵盖备份策略、恢复测试、异地备份;安全审计与监控,如审计日志、实时监控、漏洞扫描与渗透测试;合规性,包括法规遵循、认证与合规证明;以及云服务提供商的信誉与技术支持。
ly~
642 4
|
存储 监控 测试技术
如何评估数据库性能?
【8月更文挑战第15天】如何评估数据库性能?
489 1
|
存储 关系型数据库 MySQL
mysql 查看数据库及表大小以及数据库扩容评估
mysql 查看数据库及表大小以及数据库扩容评估
723 4
|
存储 NoSQL 大数据
NoSQL数据库在大数据处理场景下如何评估其性能?
【6月更文挑战第10天】NoSQL数据库在大数据处理场景下如何评估其性能?
506 2
|
存储 NoSQL 大数据
如何评估不同NoSQL数据库的性能?
【6月更文挑战第10天】如何评估不同NoSQL数据库的性能?
233 1
|
运维 数据挖掘 测试技术
如何评估数据库的成本效益
【5月更文挑战第21天】 如何评估数据库的成本效益
542 3
|
数据库
数据库的稳定性如何评估
数据库的稳定性如何评估
821 8
|
存储 大数据 测试技术
矢量数据库的性能测试与评估方法
【4月更文挑战第30天】本文探讨了矢量数据库的性能测试与评估方法,强调其在大数据和AI时代的重要性。文中介绍了负载测试、压力测试、容量测试、功能测试和稳定性测试五大评估方法,以及实施步骤,包括确定测试目标、设计用例、准备环境、执行测试和分析结果。这些方法有助于确保数据库的稳定性和高效性,推动技术发展。
|
SQL Java 数据库
JSP教学质量评估系统myeclipse开发sql数据库web结构计算机java编程
JSP 督导视角下的教学质量评估系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
290 0

热门文章

最新文章