【发布时间】:2017-12-22 14:07:09
【问题描述】:
我在使用 Google Cloud SQL 时遇到了一个奇怪的情况。
我正在将 15.7Gb mysql 数据库迁移到 Google 云。我完全按照文档所说的那样遵循了迁移过程。一切都很完美。在此过程中绝对没有问题,我的应用程序运行良好。这里唯一的问题是谷歌云上显示的数据库使用的大小比原始数据库大得多。现在我有一个 39Gb 的 sql 数据库,来自一个 15.7Gb 的数据库。
经过一些研究和测试,我得出结论,这是 Google 统计数据的方式。
我只是想知道是否有人有任何想法,或者可以确认我在说什么。
感谢您的回答。
【问题讨论】:
-
在迁移之前您是如何计算数据库端的?如果您只是计算用于迁移的 sql 转储而不是文件系统上的实际数据,那么这可能会导致差异,尤其是在您大量使用索引的情况下。
-
非常感谢您的回复@JNevill!实际上,我的源数据库托管在 Rackspace 上,我无法连接到系统并查看使用了多少空间。界面告诉我使用的是 15.7Gb。没有什么告诉我他们是如何计算的。我所做的一些调查是我已经计算了通过 mysql 查询使用的空间,在这种情况下。源和谷歌云目标中的空间几乎相同,因此我想说这个案例已经结束。
-
有趣的是,rackspace 报告的数据库大小会如此不同,因为它们都会对磁盘上的物理空间感兴趣(我猜)。奇怪。
-
我的想法完全正确。如果账单变少,我不能抱怨,但我看到两个提供商之间的定价计算有点不同。
-
你在 Rackspace 上启用了二进制日志吗? Cloud SQL 默认启用它们,并且在初始导入期间它们将占用大量空间,因为正在更改大量数据。修剪日志 7 天后,使用量将下降(假设您没有其他任何东西可以显着增加它们)。如果不需要二进制日志,您可以随时关闭它们。 (禁用/重新启用它们也会修剪它们)。