我正在为我的公司规划和设计一个定制的会计应用程序的早期阶段。我的目标是利用开放源码的关系数据库作为数据存储部分,并且我知道有两个广泛支持的坚实数据库: MySQL和PostgreSQL。
对于需要事务、存储过程、函数和安全性的系统,对于这两个数据库中哪一个最适合会计应用程序,还是缺少另一个数据库,有什么意见吗?
我对MySQL和MS SQLServer 2005比较熟悉,但由于许可证费用的原因,我正试图摆脱后者。
让我补充一句:这不是像Quickbook或Peachtree那样的会计需求。这基本上是一个处理我们所提供的特定业务服务的会计系统。也许有两个或三个系统,满足这一需要,定价在六位数范围内的任何定制,并将要求我的小公司结婚一个供应商的长期。因此,我们正在内部构建应用程序。
此外,虽然我欣赏Buy与Build的论点,但我还是想离开这个特定的宗教问题,因为购买之路已经走了,供应商不幸地失败了。有时候,你只需要自己做这份工作,这个特定的项目和预算就证明了这一点。
谢谢大家到目前为止的回复。
发布于 2009-01-05 00:35:56
有四种主要的开源关系数据库管理系统可能适合这类应用程序: Postgresql、MySQL、Firebird和Ingres。还有其他系统,如SQLite,,但它们没有这种类型的体系结构,并且不是真正针对这种类型的工作负载设计的。有些其他开放源码数据库管理系统确实存在,但由于某些原因,如缺乏明显的供应商承诺,似乎不太可行。有这类问题的系统的一个例子是SAP-DB。。
Postgresql拥有任何开源数据库中最好的特性集,以及对XA事务的支持,如果您的应用程序是一个三层系统,并且支持非常复杂的事务,您可能会想要这样做。特别是,如果您想要执行跨越多个数据库调用的事务,您就需要这样做。
多年来已经构建了几个PostgreSQL的商业变体,例如Illustra, 格林梅和EnterpriseDB。 Illustra是PostgreSQL的商业版本,后来被Informix收购。Greenplum是一个为数据仓库应用程序设计的改进版本。EnterpriseDB是一家提供一些增值软件的PostgreSQL商业版本的公司。
MySQL 5.x有一个特性集,它支持合理的功能横截面,但它不像PostgreSQL那样丰富功能。它得到了更广泛的主流接受,并且将是最容易招募熟练开发人员的开源数据库管理系统。虽然旧版本没有健壮的事务支持,但像InnoDB这样的事务性存储引擎已经有一段时间了。由Sun收购的当前 政坛 周遭产生了码叉,而MySQL的前景是对5.1版本中的质量问题。有争议的有点凌乱,,然而,MySQL是迄今为止最受欢迎和最知名的开源数据库管理系统,也是唯一在开源圈子之外具有重要品牌认知度的系统。
火鸟是Interbase的开源版本.最后我看了一下,它没有XA支持,但是如果您的应用程序被设置为两层客户机-服务器系统的话,就可以了。更新:我无法找到关于这方面的明确规范,但文档确实表明它支持两阶段提交,但我所能找到的并不是它是否支持XA协议。文档意味着JDBC驱动程序确实支持两阶段提交。
这个系统上的一个有趣的变体是菲拉克尔,它的设计目的是提供与Oracle的某种程度的兼容性。它最初是作为复式的后端而开发的,它是针对甲骨文构建的,并与其紧密耦合。
英格雷斯现在有一个开放源码许可,但开放源码社区对它发出了一种集体的哈欠。然而,它的功能相当丰富,非常成熟,我知道1990年开发INGRES应用的人,它可以追溯到20世纪80年代。
发布于 2009-01-05 00:35:11
我的建议?不要。最好买一个。对会计有更多了解的人已经写了很好的软件包,这些软件包已经处理了GAAP。他们拥有比你更大的用户群,这将更快地发现缺陷。这是一个经典的“买与造”。写自己的书对你的公司没有竞争优势。如果您是因为担心许可证成本而这么做的,我想说您还没有适当地考虑到开发时间。只有这样你才有理由在家里做这件事。
尽管如此,如果您担心Server授权成本,我建议首先推荐PostgreSQL或MySQL第二,作为您选择的数据库。
发布于 2009-01-05 00:53:32
我强烈同意杜芬摩和图因斯托等人的回答。重新考虑你的构建和购买决定。让我告诉你一个故事:
当我在一家中型公司工作时(国际公司,年收入超过1亿美元),首席财务官决定用甲骨文金融公司取代金融系统。只是这个套餐与这家公司使用的会计惯例不完全相符。
因此,首席财务官雇佣了一组合同程序员,并付钱给他们,让他们定制甲骨文财务人员,使他们符合首选的会计惯例。她花了12个月的时间,100万美元的程序员工资,加上软件的初始成本,只是为了复制他们想要取代的会计系统。
她说,如果她不得不再做一次,她将购买商业软件包,但调整公司的会计习惯,以适应默认的软件支持。这将是更容易,更快,更有可能成功。
因此,考虑构建您自己的自定义包的成本。还请考虑对您的公司进行维护、调试和增强该软件的持续成本。即使购买了一个6位数的商业软件包,这也可能比支付程序员开发和维护这样一个系统的费用更低。
为了更直接地回答您提出的问题,我不认为PostgreSQL和MySQL之间存在与您的项目相关的显著差异。既然您对MySQL很满意,那么您也可以这样做。
我想提供一个强制性的提醒,不要使用不精确的数据类型,如FLOAT或DOUBLE PRECISION的金融数据。
https://stackoverflow.com/questions/411976
复制相似问题