目录
单机数据库定义
单机数据库一般指的是在单机上运行的数据库,即运行在一个节点的数据库,它可以利用位于系统中心的服务器统一管理所有的共享资源,并处理来自用户的请求。单机数据库积累了大量的实践经验,在强一致性、稳定性、迁移成本和运维管理方面都更胜一筹,而且各资源独立,应用隔离性好,数据安全性高。
然而其高可用受到较大限制(节点宕机 时不能提供服务),因此衍生了一主多备(备机不支持读)和一写多读的数据库。一主多读相比于一主多备的优势在于主机可以提供事务的读写服务,其他备节点获得主节点的实时数据备份,并且对只包含读数据需求的用 户提供服务。这种集中式架构,可以很好的保证强一致性,提升度扩展能力。同时,备节点作为主节点的备份,保障了数据库的可用性。
单机数据库优点
-
简单性:数据集中存储和处理,无需处理多个节点之间的协作,架构设计简单,易满足ACID事务需求;
-
可靠性:集中式数据库发展时间长,产品在容灾设计、系统运维等方面都有较成熟的解决方案,稳健可靠易维护。
单机数据库缺点
-
性能扩展:面对海量的数据存储需求,集中式数据库想要提升性能只能依赖硬件的提升(纵向扩展),在扩展空间方面具有局限性;
-
成本高昂:高性能的硬件(服务器等)意味着高价,这为企业增添了成本负担。
单机数据库代表
-
单机OLTP数据库
支持单机、一主多备、一写多读的数据库业界代表包括MySQL、PostgreSQL、openGauss、 MogDB等。传统的Oracle、DB2、SQL Server也支持类似部署。
一写多读OLTP数据库
-
单机OLAP数据库
单机的计算资源受限,处理庞大数据分析十分困难,对复杂分析更无法应对,因此OLAP数据库很少单机和集中式架构。
-
单机HTAP数据库
单机HTAP数据库一般是通过一台主机同时支持行存和列存,内存中进行行转列,从而支 持HTAP。而一写多读数据库则是通过日志将主机数据传递给备机,备机将其转为列存,从而 支持HTAP。目前的HTAP的业界代表是MySQL HeatWave。
如何鉴别单机数据库
单机数据库在单机上运行,因此较容易识别。鉴别一写多读、一主多备、多写主要通过备 机是否可读,备机读和主机读的时延,以及备机是否可以写来区别,也可以通过增加写的压力 进行区分。
相关资料
文档:数据库系统的分类和评测研究
文档:2021年中国数据库行业研究报告
单机数据库适用于数据量少、对服务可靠性要求不高的场景。一般都是shared everthing 架构,即共享所有计算资源(CPU、RAM、Disk)和数据。在数据庞大到单机无法高效处理的应用场景中,可以选择集中式架构或者分布式架构,来扩展数据库服务。