课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据存储是企业在搭建数据库系统的时候需要重点关注的功能应用之一,而今天我们就通过案例分析来了解一下,为什么文件系统不适合在数据库服务器中加载。
文件系统的好处就是实现起来是相对简单的,有很多开源的实现可以参考,而且它对小块数据写入优化做的非常好,会将小块数据合并,并批量写入。
文件系统所提供的功能远远多于存储引擎的需求。例如文件系统提供的ACL功能,Attribute功能,多级目录树功能,这些功能对于一个专用的存储引擎来说,都是不需要的。这些额外的功能经常会产生一些PerformanceOverhead,尤其是一些全局锁,对性能影响非常严重。
大部分文件系统在设计的时候,都是面向单一磁盘的设计方式,而不是面向多块磁盘的。而一般存储服务器上都会部署10块,甚至更多的磁盘,而且有可能是SSD,有可能是HDD,也可能是混合部署。
很多文件系统在异步IO上支持的并不好,尽管支持异步IO的接口,但实际使用过程中,偶尔还是会有阻塞的情况发生,这也是文件系统里一个非常不好的地方。
文件系统为了保证数据和元数据的一致性,也会有Journaling的设计。但这些Journaling也会引入写放大的问题。如果服务器上挂载了多个文件系统,单个文件系统的Journaling也无法做到跨文件系统的原子性。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。