首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当涉及多个数据库时,Server是否并行写入日志文件?

当涉及多个数据库时,Server是否并行写入日志文件?
EN

Stack Overflow用户
提问于 2014-10-08 17:31:37
回答 2查看 1.4K关注 0票数 0

现在,我在Stack溢出和其他站点上读了相当多的文章,对于Server来说,提供一个数据库多个日志文件无助于提高性能。许多人分别说,将一个数据库分割成多个数据库并不能提高性能,但他们没有解释原因。我的一位同事坚持认为,使用多个数据库实际上可以提高性能,因为他说,如果使用多个数据库,日志文件可以并行编写,从而减少了与事务日志相关的IO瓶颈。不幸的是,我在网上找不到任何东西--不管是在网上还是其他网站--来明确支持这一立场。

我正在开发的web站点和相关Windows服务将获得大量数据库流量,因此有人告诉我,我需要将数据库分成多个较小的数据库,以便事务日志不会造成瓶颈(例如,三个单独数据库中的三个访问频繁的表可以同时更新)。我对此犹豫不决,因为我会失去使用外键的能力,从而失去引用完整性。

我向我的同事发送了许多链接,其中指出多个数据库不能提高性能,但他回复说:

https://dba.stackexchange.com/questions/62344/multiple-transaction-log-files-and-performance-impact

请注意最上面的答案是如何断言“事务日志写入是连续的。任何时候只有一个日志文件将被写入,因此拥有多个文件--本身--不可能更改数据库的I/O模式。”

有谁能说明一下事务日志IO如何跨多个数据库工作,以及顺序日志记录实际上是否是每个数据库的限制?

EN

回答 2

Stack Overflow用户

发布于 2017-02-16 19:08:34

下面是另一个可能有用的链接:https://www.sqlskills.com/blogs/jonathan/an-xevent-a-day-23-of-31-how-it-works-multiple-transaction-log-files/

它的要点是,至少在Microsoft SQL Server中,您可以看到使用了一个日志在移动到下一个日志之前被填充的事件(它甚至不会在多个日志之间交替日志记录),这实际上阻止了性能的提高。

我认为可能有一些边缘的情况下,高度分散的日志文件(即。在许多小型VLFs和电池备份缓存控制器中,与碎片和串行远程软件相关的写操作会被控制器并行化,但我想不出一个现实的场景,它比在RAID设置中使用相同的控制器和驱动器具有性能优势。

票数 0
EN

Stack Overflow用户

发布于 2015-03-18 17:31:32

Server需要每个数据库都有一个顺序日志文件,以维护它的ACID属性。虽然您可以创建第二个日志文件,但除非在紧急情况下(如驱动器空间不足),否则您不应该创建第二个日志文件,此时您没有更好的选择。

您可以亲自了解server如何处理测试服务器上的第二个日志文件。在活动工作负载下,查看资源监视器或Perfmon之类的内容,创建第二个日志文件。在分配和初始化时,您将看到少量的活动,然后引擎将忽略新文件,因为虚拟日志文件链将保留在原始文件中(只要该文件是健康的)。如果您在日志文件中有写争用,那么您希望将单个文件放在一个单独的专用驱动器上,该驱动器是为顺序写入I/O性能而优化的,可能是Raid 10。

有关预先写入日志记录和多个日志文件的更多信息,请参见以下文章:https://technet.microsoft.com/en-us/library/ms186259%28v=sql.105%29.aspx http://www.sqlskills.com/blogs/paul/multiple-log-files-and-why-theyre-bad/

扔掉外键通常是个坏主意。Server可以主动使用多个数据库(而不是日志)文件,甚至可以将特定的对象粘贴到特定的文件中,并将单个表划分为不同的文件。

真正取决于您的I/O模式是如何配置的。当然,对于您的情况,如果您的数据不需要ACID属性,而且您的写性能是最重要的,那么您可以使用某种NOSQL数据库。为了将hadoop引入Server系统,微软已经做了很多工作。

通常建议使用多个数据库文件,查看Paul关于sql技能的博客以获得更多信息。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26262922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档