数据库的开销与结构文件的比较?

时间:2017-02-23 12:22:42

标签: database performance file database-performance file-format

假设我有一个文件,只需将相同结构类型的缓冲写入一遍又一遍地复制到本地磁盘上的文件中(字面上按原样复制结构,非直接进入文件缓冲区)。也说我也只是从头到尾顺序读取这个文件,所有的数据。我只有一个文件的作者,但可能有很多同时读者,但写作永远不会与阅读并发(文件总是在任何人阅读之前完成)。 “Schema”演变只是由文件开头的版本号处理,因此您可以知道结构的大小。

我可以访问任何数据库的网站,查看巨大的功能列表。我找不到的是所有开销的列表 - 与平面文件相比,数据库必须采取哪些额外步骤来提供这一大功能集?它们通常会对性能产生多大影响?假设每个结构实例都是数据库中表中的一行,如果我可以将X吞吐量写入磁盘并使用文件版本从磁盘读取Y吞吐量,那么吞吐量的合理期望是什么?从数据库? 0.9 * X和0.9 * Y?更差?更好?

为了让球滚动,我可以预期的成本(但不知道真正的大小)是两阶段提交导致额外写入,索引导致额外写入,以及额外开销以开始读取和写入形式连接到数据库并发送查询。可能还在等待复制(在文件的情况下,你只需依靠你拥有的常规备份机制,例如每晚rsync)。

0 个答案:

没有答案