Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在项目中,是否有数据库系统的选择?_Database - Fatal编程技术网

Database 在项目中,是否有数据库系统的选择?

Database 在项目中,是否有数据库系统的选择?,database,Database,在几乎所有的项目中,数据库系统的选择几乎是自动的。。如果您在“Microsoft堆栈”中进行编码,您将使用SQLServer,在Linux世界中,默认值是MySQL,对于公司内部项目,大多数商店已经决定使用一些默认值,如Oracle或IBM DB2 您的想法是什么?我的客户经常规定我们将使用什么数据库引擎。我们定期针对非SQLServerDBS编写.net应用程序。从长远来看,这对客户更有利,因为他们可以维护他们所知道的东西。我从事政府合同的工作,虽然我们在“Microsoft堆栈”中编写代码,

在几乎所有的项目中,数据库系统的选择几乎是自动的。。如果您在“Microsoft堆栈”中进行编码,您将使用SQLServer,在Linux世界中,默认值是MySQL,对于公司内部项目,大多数商店已经决定使用一些默认值,如Oracle或IBM DB2


您的想法是什么?

我的客户经常规定我们将使用什么数据库引擎。我们定期针对非SQLServerDBS编写.net应用程序。从长远来看,这对客户更有利,因为他们可以维护他们所知道的东西。

我从事政府合同的工作,虽然我们在“Microsoft堆栈”中编写代码,但我们不能使用SQL Server,因为政府免费获得Oracle,并希望我们使用它。

我尝试了这三种方法。我仍然在网站上使用MySQL,但对于内部项目,我宁愿选择MySQL或Postgres

原因是它们是免费的(就像啤酒和演讲一样),没有那么臃肿(比如Firebird安装程序只有几MB),而且仍然做得很好


你得到的主要好处是,同样的东西可以从嵌入式扩展到企业级,因此没有“第一次尝试是免费的,但你以后会付出很多”这样的故事。我见过200+GB的Firebird数据库的工作性能与一个数据库中的1MB数据库一样好。

我工作过的大多数环境都使用了各种堆栈。我没有看到任何“堆栈锁定”的效果。当没有给出其他规范时,微软的堆栈确实支持SQL Server,LAMP支持MySQL,但我不认为它有那么强的联系。我在过去几年中工作过的三家主要公司:

医疗软件公司:使用MySQL的IIS上的ASP.NET C#堆栈 投资银行:Java on*NIX与Sybase、Oracle和DB2 主要软件供应商(也是这里提到的主要数据库供应商之一!!):RHEL上的Java和PostgreSQL


我认为大多数优秀的商店都会逐个项目评估他们的需求,而不是仅仅根据堆栈集成来选择数据库产品。如果是这样的话,Oracle将不会是最大的数据库制造商,而DB2将比它小得多。

也许它是关于comfot的。MS SQL Server Express edition附带了visual studio,因此更容易设置与SQL Server一起使用的应用程序。使用linux的人习惯于在一秒钟内安装MySQL、SQLite或PostgreSQL,这可能是因为他们不需要windows来运行DBMS。企业项目是另一回事,不应该有舒适感,而应该寻找DBMS功能。

如果客户或商店没有偏好,这些似乎是合乎逻辑的选择。如果您对部署环境没有100%的把握,最好针对多个数据库测试您的应用程序,以确保您没有使用某个特定数据库的任何特殊功能。如果您确实决定必须使用一种特殊功能将您“锁定”到数据库中,那么最好尽早了解它,并做出明智的决定,而不是落入使用一种功能的陷阱,这种功能会在不知情的情况下将您锁定到某个特定的数据库中。

我不知道我是否同意在Unix世界中这种选择是如此简单。Postgres和MySQL总是针锋相对,选择并不像你说的那么清楚。也就是说,它们在Unix上使用了大量其他数据库(例如,sqlite为许多嵌入式系统提供了动力,甚至在桌面上也有一席之地(例如,在Fedora的YUM package configuration实用程序中)。

这将取决于您从事的项目类型,以及使用该技术的企业可以接受哪些平台

良好的数据库设计——第三种标准形式——将是大多数情况下评判您的标准。大型企业可能会迫使您将Oracle与MS堆栈一起使用。中型企业很可能会使用SQL Server,但如果他们是来自Claritas等数据源的人口统计数据的消费者,则Oracle将与该应用程序捆绑在一起

从雇主寻找具有技能的人的角度来看,MS SQL server在拥有内部开发部门的企业中更为普遍