2

我想知道 Google Cloud SQL 中如何定义低级 I/O 操作,至于他们的数据存储,他们已经定义了对于一个 INSERT 或 UPDATE 执行多个低级 I/O 操作。SQL 也一样,如果是,这些是什么,另外,如果我的数据在 Cloud SQL 中的多台服务器上复制,我是否会支付复制费用,例如,如果我的数据分布在 5 台服务器上,那么我的 1 次插入是否等于到五个 I/O 操作?

4

1 回答 1

4

操作被定义为对 read() 或 fsync() 的调用。如果有大量缓冲数据,write() 也可以触发操作。您可以在 strace 下运行 mysqld 以了解查询将触发多少操作。例如,一个简单的查询,如

INSERT INTO t VALUES (42);

大致会产生

write(logfile, 42);
fsync(logfile);
write(datafile, 42);
fsync(datafile);

所以这将算作两个操作。复制包含在成本中,因此这仅算作两个操作,而不是 2 * num_replicas。

于 2012-11-30T08:23:44.147 回答