原文链接:https://www.percona.com/blog/some-things-to-consider-before-moving-your-database-to-the-cloud/
作者:Michael Patrick
在将数据库环境迁移到云之前,您应该首先考虑一些注意事项。云的一些吹捧带来了一些风险或负面影响。让我们来看看其中的几个。
首先,考虑您是否会面临供应商锁定。许多人选择开源数据库正是为了避免这种情况。然而,有趣的事实是,您实际上可以在没有意识到的情况下被锁定。许多云提供商都有自己的流行数据库平台版本,例如 MySQL、PostgreSQL、MongoDB 等。这些版本可能正在使用这些数据库系统经过精心设计的版本。
虽然将数据迁移到环境中通常很容易,但通常会修改应用程序以适应这些数据库平台的独特方面。在某些情况下,这可能会利用添加的特殊功能,而其他时候它甚至可以通过额外的开发来处理欠缺的功能。这可能会发生,因为云版本通常可能基于较旧的代码库,这些代码库可能不包含 DBMS 的所有最新功能集。这使得从云端迁移更具挑战性,因为它可能需要更改代码才能返回。从这个意义上说,您可能会被锁定在特定的云数据库中,甚至没有意识到这一点。
此外,如果您需要重新设计应用程序以使用云平台,请考虑额外的时间和资源成本。它可能不像简单地迁移那么简单。相反,您将需要进行大范围的测试,并可能重写代码以使其正常工作。
许多人迁移到云的一个常见原因是为了节省成本。由于不需要太多的基础设施、员工等,一些云提供商节约了 50% 或更多的成本。虽然这是可能的,但您的成本也可能会增加。通过轻松创建和配置新服务器,可以轻松快速地启动更多实例。当然,这些实例中的每一个都会增加您的成本。如果没有适当的监督和管理支出的人,每月的成本可能会增加!
除了纯粹的服务器实例数量之外,存储和网络是很容易增加成本的。尽管现在存储成本相对便宜,但想象一下,当团队设置额外的测试服务器并留下大量备份和数据集时会发生什么。而且您必须支付网络成本,因为这些大型数据集从服务器传输到服务器。曾经在您的本地数据中心中基本上“免费”的服务器互连网络现在正在产生成本。
此外,由于“便宜”的存储成本,归档变得不再那么重要。这是一把真正的双刃剑,因为当数据集未正确存档时,不仅成本会增加,而且性能也会下降。数据库通常会在查询这些庞大的数据集时失去性能,并且更新索引的额外时间会对性能产生负面影响。
另外,失去控制。在您的本地数据库中,您可以完全控制数据。安全是您的责任。毫无疑问,云提供商已经围绕安全控制构建了他们的系统,这可能是一个巨大的优势。您必须考虑的是,您真的不知道谁在管理存储您数据的系统。你失去了对人性方面的洞察力,这是不容忽视的。
此外,如果您的应用程序组件将位于另一个云中或将保留在本地,您必须考虑网络延迟对您的应用程序的影响。不同的组件不再位于同一个数据中心。它们可能在地理上分散在全球各地。同样,这可能是一个好处,但它也带来了性能成本。
您还需要考虑是否需要对员工进行再培训。当然,今天大多数人都熟悉云,但几乎可以肯定的是,您将改变一些不支持您管理服务器方式。毫无疑问,他们的日常工作方式将会改变。如果做得好,这种转变可以证明是有益的,因为它允许您的 DBA 更多地关注数据库性能,而不是设置和配置服务器、管理备份、监控等。
迁移到云现在风靡一时,本文当然不是要劝阻您这样做。相反,我们的想法是在采取行动之前考虑一些后果,以确定它是否真的符合您的最大利益,并帮助您避免一些陷阱。




