这种可移植性水平对于那些设计为“云原生”的新应用程序尤其有益,应用程序本身通过设计获得了更多的可移植性。通过容器运行的云原生应用程序的兴起 Kubernetes 将应用程序与基础设施提供商分离。可移植性和在任何地方运行的能力正在成为云原生应用程序设计的期望。
但是,开源和应用程序设计提供的这种 巴哈马电话号码数据 可移植性的价值可能会因数据库即服务产品的增长而被抵消或掩盖。许多云提供商提供的 DBaaS 产品类似,但并不完全相同,这限制了可移植性。Amazon Aurora 与不同版本的 MySQL 存在功能差异和兼容性问题。它们很接近,但不是 100% 相同……因此 Aurora 声称是“开源兼容”。 MySQL 或 PostgreSQL DBaaS,就会使迁移到另一个供应商甚至您自己的托管版本变得更加困难。这可能是也可能不是问题,具体取决于您的应用程序所需的可移植性级别。如果您愿意在单个云提供商上运行,其中许多 DBaaS 产品都可以通过加快管理和部署速度来提供良好的价值。
除了技术差异之外,许多数据库供应商现在还通过转向非开源数据库许可证来保护他们的“即服务”收入来源,以防止云提供商窃取业务并将其原创成果货币化。
服务器端公共许可证 (SSPL) 就是一个明显的例子。MongoDB 创建此许可证是为了阻止其他人创建与 MongoDB 竞争的“即服务”产品(特别是他们的 Atlas 产品)。而且 MongoDB 并不是唯一一家。Elastic 最近出于同样的原因更改了他们的许可证。这些举措限制了用户的选择。最终的结果是,我们现在不再提供开源软件,而是有单个供应商提供收费的自动管理数据库。