mysql - Mysql 数据库大小增长超过 4 TB?Azure 最多支持 4 个
问题描述
几天前,我被要求在这种特殊情况下寻求帮助。在 Azure 上设置的 MYSQL 数据库的大小达到 4 TB。我以前建立过数据库并为它们开发过,但我并不是真正的 dba。
根据他们的问题,Azure 的大小限制是 4 TB(它会在几个月内翻倍,但幸运的是它不会像那样继续增长)。我和他们谈过获得一些数据,但他们显然需要所有 10 年的数据。他们不想从 Azure 迁移或使用 MYSQL 以外的东西。他们向我指出的一件事是,特别是 1 个表的大小几乎为 2 TB。
不幸的是,我还没有获得访问数据库的权限,但我只是想问问在这种情况下我的选择。我对此进行了一些研究,并看到了诸如 MYSQL 分片之类的东西。这是唯一的选择吗?可以在 Azure 上完成吗(我在 Azure 上看到了 SQL 服务器的 SQL 分片文章,但没有看到 Mysql 的文章)。例如,我可以将一些表分区到另一个 MYSQL 数据库中吗?
我想我只是在寻找有关如何继续前进的建议。任何类似这样的链接都值得赞赏。
谢谢
解决方案
简单的答案
4TB 不是 MySQL 的限制,所以 Azure 限制了你。切换到另一个服务。
未来的问题
但是...... 4TB 充满了问题,尤其是对于非 dba。
- 过大的数据类型(浪费磁盘空间)
- 缺乏规范化(浪费磁盘空间)
- 需要汇总表(如果是数据仓库)
- 次优索引(性能)
- 摄取速度(在加载新数据时陷入困境)
- 查询速度
- 分区以帮助清除(如果您最终要清除“旧”数据)
- 分片(这是一个与所有其他讨论一样大的讨论)
所有这些都可以解决,但我们需要查看架构、查询、数据流、整体架构等。
推荐阅读
- javascript - Javascript > HTML 滚动按钮在页面顶部时不会消失
- vue.js - 如何在手表中调用自定义函数?
- javascript - 如何以编程方式破坏剑道网格?
- c# - 尽管 EditText 的 InputType 是 ClassText,但允许文本输入
- c# - 如何获取当前的测试夹具属性
- reactjs - React MaterialUI v3.7 知道在输入下会出现帮助文本,如何设置高度?
- javascript - 当我使用 .value 获取输入值时,它返回 Undefined
- java - 为任何双精度生成本地化、全精度输出的 MessageFormat 模式是什么
- xamarin - 北欧Dfu库的Xamarin绑定
- c++ - Cpp,强制执行预处理器评估顺序