Heim >Datenbank >MySQL-Tutorial >开源数据库迁移之前需要做哪些功课
当了解开源RDBMS关系型数据库管理系统的优势之后,你安装了MySQL数据库来为Web应用提供注册、订阅和 电子商务 服务。单单是数据库可靠性远不足以满足你的业务需
当了解开源RDBMS关系型数据库管理系统的优势之后,你安装了MySQL数据库来为Web应用提供注册、订阅和电子商务服务。单单是数据库可靠性远不足以满足你的业务需求,最好要能访问源代码而且产品是免费的。
现在你开始评估未来的增长和项目业务需求,犹豫是否需要将数据迁移到更可靠的商业软件系统上去,例如SQL Server或Oracle。
然而,商品软件产品不是免费的,除非你使用Express免费版本,现在许多软件厂商都能提供这种免费版本。例如,你可以下载SQL Server Express , Oracle Database XE 或 DB2 Express-C,这些软件可以免费使用。他们并不开源,但你不用付费。商业产品的免费版本不如付费版本那么健壮,也没有那么多的功能,但是他们却有开源软件所没有的功能。同时,免费的商业产品在某些方面不能与他们的开源软件的相应产品竞争。在考虑转换之前,这里有几个重要的问题要考虑 。
你要考虑使用什么环境?常常是当前数据库环境决定你能对系统做什么改变。例如,SQL Server只能运行在Windows环境下;而你可能用的是Linux系统。但是,假如你想要将数据库安全与Windows安全集成,假如MySQL不支持Windows模型,转换到SQL Server就是你最好的解决方案了。
有许多这样的因素需要考虑。免费的商业软件产品在内存、数据库大小和能使用的CPU等方面有限制。例如,Oracle Database XE和SQL Server Express都有4G数据库大小的限制。也有其他因素的限制,如是否支持某种应用程序接口,可扩展性需求或可用性需求。
你的RDBMS应该具有什么功能?当决定是否放弃从开源RDBMS转向商业软件时,首先需要熟悉不同数据库系统的功能。大多数RDBMS的内核都很相似,无论是开源产品还是免费的商业软件版本。它们都遵循美国国家标准协会ANSI的SQL标准,支持ACID事务(原子性,一致性,独立性和持久性),提供安全性,包括存储过程和触发器,支持复制和分区,提供索引以及许多其他功能。
其实并非所有的产品都是一样的。例如SQL Server Express有很多功能都是MySQL所不具备的,SQL Server有 Management Studio、配置管理器、报表服务器、在线备份和自动调优等功能。而MySQL支持不同的存储引擎,提供分区选项,更容易安装。选择MySQL,看重的是它能运行在任何操作系统上,是开源的,而且数据库的大小只受主机操作系统文件大小的限制。弄清楚哪种产品支持哪种功能,并决定这些功能中哪些是你必须要的,这才是关键。
实施需要做什么?这可能是在决定是否迁移到商业软件的决策中最重要的问题。免费的商业产品提供了开源软件所没有的功能,这是迁移到更健壮商业软件版本比较平滑的迁移路径。例如,你的组织可能想在明年开始实施扩展的商务智能分析。为此,你想要有一个系统,这个系统能处理必要的数据抽取、转换和加载(ETL)操作,支持日益增长的数据仓库,提供在线分析处理并提供扩展的报表分析功能。
无疑你能用不同的开源软件产品将许多这些功能集成起来。ETL产品如Pentaho Data Integration和Talend Open Studio都是强大的开源工具,可以用来迁移数据。然而,像SQL Server这样的产品,不仅包括数据库引擎,也有它自己的分析服务、报表服务和集成服务,提供可伸缩的解决方案,能做长期计划和后续实施无缝的过程。所以SQL Server Express可能是不错的选择。
从哪儿开始?开源RDBMS的迁移没有一个简单的答案。每个系统都有它自己的优缺点,免费的商业软件并不一定就便宜。你必须要考虑到计划和实施不同组件所需要的时间,了解并发现对这些组件的支持,集成不同的战略和系统。在某些情况下,解决方案可能是清晰的。如果你买了Microsoft的产品,正在使用Microsoft的工具,运行.net应用 ,SQL Server可能就是最好的解决方案。但是,如果你运行的是Linux服务器,支持的是PHP应用,你可能发现开源软件如PostgreSQL更能满足你目前的需求。然而,即使是这种情况,也不那么容易。你必须要考虑产品的限制和功能,同时还要考虑未来的需求。只有这样你才能做出正确的决策。