最近有些忙,很久没写数据库相关的一些非技术话题了。今天的话题注定又会引起一番激烈的讨论!
事情起因是前段时间有一个朋友咨询,问某梦数据库能不能做实例部署,他们客户被原厂忽悠了,因为原厂的说法是一个物理机只能跑2个达梦实例。

实际上对于这个话题,我想只要对数据库知识有一定认识的朋友,那么一定都知道!传统主备数据库应该都可以进行多实例部署的。
当然,我这里不是为了喷达梦,数据库厂商这些年都不容易,为了多卖点license是可以理解的。
这里我们单纯的从技术来看看,能不能做。比如这里我们通过zCloud【多元异构数据库智能管理平台】创建的达梦多实例,就可以实现资源隔离!
[root@dmserver1 ~]# cat /proc/meminfo |head -5
MemTotal: 64647664 kB
MemFree: 8771532 kB
MemAvailable: 49378368 kB
Buffers: 3424 kB
Cached: 41019796 kB
[root@dmserver1 ~]# lscpu|head -10
架构: x86_64
CPU 运行模式: 32-bit, 64-bit
字节序: Little Endian
Address sizes: 43 bits physical, 57 bits virtual
CPU: 32
在线 CPU 列表: 0-31
每个核的线程数: 1
每个座的核数: 1
座: 32
NUMA 节点: 2
[root@dmserver1 ~]#
对于我这个32c/64g配置的测试环境,我们来尝试跑4个达梦主从。

同时为了验证资源隔离是否有效,比如某个实例挂掉后是否会影响其他实例,我尝试进行了一定的压力测试;当然模拟也非常简单,就是在一个实例上创建了2个大表,分别是6000w和1.6亿,然后起做个会话做hash join操作。

后面通过top我们可以看到,实际上也就dmtest4这个实例cpu比较高,且内存消耗达到了我们的限制8G,且不再增长。

除了达梦,其他国产数据库也可以这么玩吗?
答案是肯定的,除了达梦,实际上我近期还测国gaussDB集中式版本,通过在2台x86上分别部署了4套GaussDB主备。

通过cgroup进行资源隔离限制之后,4个GaussDB实例都进行benchmark压测,我发现每个实例都资源使用都还是比较均匀的。
当然,对于手工cgroup操作也比较方便,熟悉通过ps -ef |grep gaussdb获取每个实例的pid之后,加入到cgroup tasks中即可。
cd /sys/fs/cgroup/cpu/Gaussdb:omm
mkdir t1 t2 t3 t4
echo 109322 >t1/tasks
echo 116171 >t2/tasks
echo 119674 >t3/tasks
echo 136068 >t4/tasks
echo 25000 >t1/cpu.cfs_quota_us
echo 25000 >t2/cpu.cfs_quota_us
echo 25000 >t3/cpu.cfs_quota_us
echo 25000 >t4/cpu.cfs_quota_us

通过单机多实例,实际上还是应对90%的业务场景了,经济下行,这不失为一个节约成本的妙招!
申明:原厂的兄弟勿喷!
声明:如以上内容有误或侵犯到你公司、机构、单位或个人权益,请联系我们说明理由,我们会配合,无条件删除处理。
「面试跳槽、技能提升、国产化转型 必备课程」
Oracle 问题诊断系列: 数据库中高级诊断理论与实战第9讲 - 2024年见过的最低配置低oracle性能故障+ Oracle pmon进程原理解析
Oracle底层原理解析系列:Oracle异常恢复实战第13讲 - Oracle检查点机制(下)+ 恢复实战case(结合10046 trace)
5种以上开源国产数据库学习笔记系列: 国产数据库学习笔记 3- 达梦数据库的表管理+ 主流开源国产数据库关于多块读、写的支持情况
「过去的部分优秀文章」
完蛋了!最强superdome 288c/1.5T 内存+全闪阵列 居然扛不住?
MogDB,基于openGauss的增强企业发行版
围绕高性能、高可用、全密态、多数据库兼容等特点
已应用于银行、保险、证券、交易所、制造等行业上百家客户
zData X,超高性能全栈国产一体机
基于自研高性能分布式存储软件 zStorage
采用存算分离架构,是融合高性能计算
RoCE网络和数据库管理服务的数据库一体化运行平台
zCloud ,自治智能的数据库云管平台
汇聚专家知识和经验,融合行业标准实践
多元数据库纳管,实现服务化、自动化、智能化
已应用于银行、证券、保险、能源、交通制造等数百家客户
若您对MogDB/zData X/ zCloud 产品感兴趣
可联系 marketing@enmotech.com
我们将安排专人尽快与您取得联系。