在开发 Web 或桌面时,开发人员应该从 SQLite、MySQL、MS SQL 等切换
3 回答
这取决于你在做什么。如果出现以下情况,您可能会切换:
- 您需要更高的可扩展性或更好的性能——比如从 SQLite 到 SQL Server 或 Oracle。
- 您需要访问更具体的数据类型。
- 您需要支持只运行特定数据库的客户。
- 您需要更好的 DBA 工具。
- 您的应用程序正在使用不同的平台,您的数据库不再运行,或者它的库不再运行。
- 你有能力/时间/预算来实际做出改变。根据具体情况,迁移可能是一个比项目中的所有内容更大的项目。像这样的迁移是引入不一致或丢失数据的好地方,因此需要非常小心。
切换的原因还有很多,这完全取决于您的要求和数据库的属性。
您应该在里程碑 2.3433 切换数据库,在树突 8,151,215 的左分支之前 3ps。
当你有理由这样做时,你应该切换数据库,这是我的建议。如果您现有的数据库性能符合您的预期,支持您的生产系统对其施加的负载,具有您的应用程序所需的功能并且您不厌倦它,为什么要更改?但是,如果您发现您的应用程序无法扩展,或者您正在设计具有高负载或可扩展性要求的应用程序,并且您的研究表明您当前的数据库平台在该领域很弱,或者如前所述,您需要一些特定数据库具有的空间分析或功能,你去吧。
另一个考虑因素可能是使用与数据库无关的 ORM 工具,该工具可以让您通过简单的配置设置自由地试验不同的数据库平台。那是我们考虑在数据库部门尝试新事物的触发因素。如果我们的应用程序可以处理 ORM 可以处理的任何数据库,那么当开源数据库在我们需要的性能水平上也能正常工作时,为什么还要为商业数据库支付许可费呢?
不过,最重要的是,对于数据库或任何其他技术,我认为没有“业务规则”会告诉您何时该切换 - 您的场景会告诉您该切换了,因为您的解决方案中有一些东西不会完全正确,如果你不在那个时候,就不需要改变。
BrianLy 一针见血,但我还要补充一点,您最终可能会在不同的开发级别使用不同的数据库。开发人员在针对他们的个人开发服务器进行编码时,在他们的工作站上使用 SQLite,然后使用不同的数据库工具在登台和/或生产站点上使用 SQLite 并不少见。
当然,如果您使用特定于某个数据库工具(例如 PostGreSQL 中的 PostGIS)的扩展或功能,那么显然这不起作用。