如今,构建多云数据库已经是一种越来越常见的云数据库使用方式。
多年来,多云方法的采用率一直在快速增长。对于灾难恢复计划(DRP)来说,这是一个可靠的选择,而且还有许多其他优势,包括灵活性、可扩展性和高可用性。
但是,在涉及数据库部署时,有几个要素需要牢记。
让我们来探讨一下在构建多云数据库时需要牢记的10个关键注意事项,以及如何减少可能出现的一些常见问题。
1. 性能
在多云环境中,必须考虑响应时间、网络延迟、带宽以及数据库处理查询的速度等关键因素。
不同云提供商之间的数据传输可能会耗费大量时间和成本,因此拥有一个支持快速高效交换的数据库架构非常重要。
如果可能,云提供商之间的连接应该是异步的。这将提高性能,但代价是降低高可用性。在发生故障时,如果需要进行故障切换,而数据又不是最新的,就会造成数据丢失或数据不一致。
不过,这往往比接受同步复制带来的性能问题要好。同步复制时,远程节点需要先确认每条语句,然后再将其应用到主节点。
2. 高可用性和可扩展性
无论使用哪种云提供商,您都需要选择以水平或垂直方式扩展数据库:
横向扩展是通过添加更多数据库节点来创建或增加数据库集群。
纵向扩展是通过向现有数据库节点添加更多硬件资源(CPU、内存、磁盘)来实现的。
如果由于某种原因需要更多流量,您可以手动扩展这两种方式。
有些云提供商还允许自动配置,这意味着您无需担心收到多少流量,就能知道需要添加多少副本。
云提供商会根据您创建的规则为您添加。然后,您只需每月支付账单即可。
不同的云提供商提供不同级别的可扩展性,确保多云数据库能够扩展以满足不断变化的需求非常重要。
应考虑到扩展成本,因为它可能会影响总体预算。
3. 可用性和耐用性策略
一些云提供商的正常运行时间至少为 99.99%。
即便如此,最好还是检查一下不同产品的可用性和耐用性 SLA。
云提供商可能会提供价格更高的不同解决方案来实现高可用性和耐用性,根据业务情况,可能有必要使用与默认解决方案不同的解决方案。
您应该确保您的数据库始终可用(或几乎始终可用),因此您应该能够在不同地区部署数据库。如果出现严重故障,如数据中心问题,您可以切换到另一个区域,以保证系统正常运行。
请注意,如果使用同步复制,数据库在不同地理区域运行的延迟可能会成为问题。
4. 数据一致性
在多个云提供商之间保持数据一致性是一项挑战。
重要的是要考虑如何同步数据,以及是否存在可能影响性能的潜在瓶颈。
脑裂(split-brain)是多云环境中常见的问题。当不止一个主节点同时可用时,就会出现这种情况,应用程序可以在两个节点中写入数据,但应用程序或数据库技术却无法正确处理。在这种情况下,每个节点上都会有不同的信息,从而在集群中产生数据不一致性。
要解决这个问题非常困难,因为必须合并数据,但这并不总是可行的。
5. 数据主权和合规性
根据所存储数据的性质,不同国家和地区的法律可能会发挥作用。
由于不同云提供商的数据中心位于不同地点,因此了解您的数据将存放在何处以及是否受特定法律要求的约束非常重要。
云提供商应遵守隐私法和相关法规,以提供最大程度的数据保护。欧盟的《通用数据保护条例》(GDPR)对敏感数据的存储有严格规定。此外,一些欧盟成员国不允许在境外存储敏感数据。
确保您的多云设置符合适用于您业务的任何法规。
6. 安全性
安全是企业的重中之重,多云数据库也不例外。
重要的是要考虑每个云提供商提供的安全功能,包括数据加密、身份验证和访问控制。
出于安全考虑,云提供商之间的通信必须加密,而且必须限制流量只能来自已知来源,以降低未经授权访问网络的风险。为此,必须使用 VPN、SSH 或防火墙规则,或是它们的组合。
此外,云提供商应为静态数据甚至传输中的数据提供加密服务。这种加密可以保护数据在云中存储期间不被未经授权的人使用。
7. 易于管理
云提供商应提供简便的管理控制台,您可以在此配置、管理和监控在云中运行的数据库。
否则,简单的任务会变成复杂的任务,这并不合理。
8. 支持
每个云提供商都有自己的支持结构,重要的是要考虑这将如何影响您的多云数据库。这包括可用的支持级别、响应时间以及是否有专家帮助解决任何问题。
9. 成本
运行多云数据库的成本可能很高。尤其是当同一数据库在多个平台上运行时。
这可能是最关键的一点,也是最复杂的一点,因为云提供商通常会显示其成本,让人一眼看上去很便宜。
一般来说,云提供商按小时/月向您收取流量费用,而在多云环境中,根据数据的大小,发票的金额可能会很大。
10. 供应商锁定
每个云提供商的产品几乎总是比开源产品运行得更好。这是因为它是为在云提供商的基础设施上运行而设计和测试的,性能通常会比第二种产品好很多。
问题是,如果您使用的云提供商不止一家,而且您使用的是云提供商的产品,那么您很可能会遇到技术锁定问题,因为该产品只适用于一家云提供商,与另一家云提供商不兼容。
因此,尽可能避免使用内置产品,而应选择开源解决方案。
总结
在构建多云数据库时,以上几个重要的注意事项需要牢记。
通过花时间评估您的需求和可用选项,您可以确保您的多云数据库在性能、成本效益和安全性方面得到优化。
有了正确的策略,您就可以享受多云数据库带来的好处,并在当今瞬息万变的商业环境中保持竞争力。
原作者:Sebastian Insausti