数据库到底该不该容器化?

科技   2024-10-14 12:30   上海  

上周,我在我们各个数据库交流群发起了一个话题:

数据库到底该不该容器化?


收集到这些讨论(当然也欢迎大家继续在留言区讨论):

@徐涛

到底要不要容器化,其实还看应用场景,一些快速迭代的轻量级还是很实用的,但是如果是体量大的数据库集群环境就会变得比较复杂了

在 I/O 密集的应用中影响会大一点,因为容器化本来就会带来一定的额外开销。


@奋斗

容器化数据库性能还有损耗,我们一个项目就是容器化部署。


@和谐

主要看技术,会就应该容器化,如果不会弄就说不应该搞。


@记忆

问题是为啥要容器化,是考虑到弹性扩容吗?


@🍃

我们之前的压测结果 Docker部署的性能差5%内,8.0比5.7忘了差多少,现在Docker部署5.7的方式跑了很久了。


@橘子

你买的那些RDS背后不都是吗?


@糠

个人感觉容器化可以,但是上K8S没必要。


@入一

还是要看业务场景和K8S的运维能力,容器化本身没有问题,毕竟各大厂商的RDS也都在用了。


@zxx

没有最完美的方案,只有最合适的方案。讨论这个问题,我觉得还是需要看企业的背景以及实力。

一旦上云,后面涉及到的复杂度就比纯物理机高好几个数量级。如果没有成熟的容器运维团队,仅仅依靠几个DBA真的很难搞定。


@俊赛潘安,才比管乐

我觉得 RDS不是 K8S调用的应用容器,应该是用其他工具管理的系统容器(lxc)。


@yl安

容器服务有问题搞崩数据库,然后没什么信息能查,会有这样的问题;

相比多套一层服务,裸机部署更稳定吧。除非容器有其他的优点吸引你。


@保鹏

看项目大小,数据量吧。


@豆汁儿

数据量、QPS、TPS等因素。


@云中书客

开发环境,小项目测试环境可以容器化,生产项目还是不要搞容器化好。运维起来不方便。


@微风细雨

阿里云RDS,腾讯云MySQL,都是容器化的吧,要配合 K8S编排才牛逼,光 Docker 没啥用。

看公司数据库规模吧,几千套 MySQL 集群可以考虑容器化。


以上就是收集到的一些讨论。

那容器化究竟有哪些好处和缺点呢?

容器化的好处

提高资源利用率:这个也是考虑容器化的主要原因,一台物理机上部署多个数据库实例,并且能实现一定程度上的资源隔离。

简化部署:通过 Docker和 K8S等工具,可以很快启动一个数据库实例。

标准化:可以通过容器镜像,保证数据库实例的环境一致性。


容器化的缺点

复杂度增加:增加了一层组件,增加了容器层面的运维、监控等工作。

容器本身的资源消耗:容器自身需要消耗部分内存和磁盘资源。


投票

最后,欢迎大家参与投票,其实我也好奇现在哪种情况最多。


MySQL数据库联盟
关注后,回复“高可用”,可获取8篇MySQL高可用文章
 最新文章