2008-10-05 45 views
6

在几乎所有的项目中,数据库系统的选择几乎都是自动的。如果你编写的是“在Microsoft堆栈中”,你将使用SQLServer,在Linux世界中默认是MySQL,对于企业内部项目大多数商店已经决定采用某种默认方式,如Oracle或IBM DB2。在一个项目中,是否有数据库系统的选择?

你有什么想法?

回答

1

我的客户往往规定,我们将使用什么数据库引擎。我们定期对非SQLServer dbs编写.net应用程序。从长远来看,对客户来说更好,因为他们能够维持他们所知道的。

0

我一个GOV合同工作,而我们在“Microsoft堆栈”的代码,因为政府得到甲骨文的自由和希望我们使用,而不是我们不能使用SQL Server。

2

我尝试了所有三种方法。我仍然使用MySQL作为网站,但对于内部项目,我宁愿选择Firebird或Postgres。

的原因是,他们都是免费的(既作为啤酒和语音),更臃肿(火鸟安装程序只有几MB,例如),仍然做的工作非常出色。

你得到的主要好处是,同样的事情鳞嵌入式企业水平,所以没有“的第一次尝试是免费的,但你付出了很多后来的”样的背后故事。我已经看到200+ GB的Firebird数据库在embedded application I make中工作得像1MB一样好。

0

在我所工作过的大多数环境中已经使用了各种栈。我没有看到任何“堆栈锁定”效应。当没有其他规范给出时,Microsoft堆栈确实倾向于使用SQL Server,LAMP支持MySQL,但我并不认为它是一种强大的债券。三个主要的公司在那里我曾在过去的几年中:

医疗软件公司:ASP.NET C#堆栈上的IIS使用MySQL 投资银行:Java程序与Sybase,Oracle和DB2 主要软件供应商* NIX(和):使用PostgreSQL的RHEL上的Java

我认为大多数优秀的商店都是以项目为基础来评估他们对项目的需求,并且不单单选择数据库产品来完成他们的堆栈集成。如果是这样,Oracle不会是最大的DB制造商,而DB2将比它小得多。

0

也许它关于comfot。 MS SQL Server Express版本附带Visual Studio,因此可以更容易地设置应用程序以使用SQL Server。使用Linux的人一秒钟就可以安装MySQL,SQLite或PostgreSQL,也许这是因为他们不需要Windows来运行DBMS。公司项目是另一回事,应该没有安慰,并期待DBMS的功能。

1

那些似乎是顺理成章的选择,如果客户端或商店有没有偏好。如果您不能100%确定部署环境,则最好在多个数据库上测试您的应用程序以确保您没有使用某个特定数据库的任何特殊功能。如果您确定必须使用将您“锁定”到数据库中的特殊功能,最好早点知道它,并做出明智的决定,而不是陷入使用未知的功能陷入特定数据库的陷阱。

1

我不知道,我同意的选择是如此添油加醋在Unix世界。 Postgres和MySQL一直在脚踏实地,选择并不像你看起来那么清晰。也就是说,他们在Unix上有很多其他的数据库(例如,sqlite为许多嵌入式系统提供支持,甚至在桌面上占有一席之地(例如,在Fedora的YUM包配置中)。

0

这取决于您所追求的项目类型以及使用该技术的企业可以接受哪些平台。

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

从雇主查找具有技能集的人的角度来看,MS SQL服务器在拥有内部开发部的企业中更为普遍。

相关问题