database - 哪个开源数据库是会计相关系统的最佳选择?

标签 database open-source accounting

<分区>

我正处于为我的公司规划和设计自定义会计应用程序的早期阶段。我的目标是将开源关系数据库用于数据存储部分,我知道有两个得到广泛支持的可靠数据库:MySQL 和 PostgreSQL。

对于需要事务、存储过程、函数和安全性的系统,对于这两个数据库中的哪一个最适合会计应用程序,是否有任何意见,或者是否还有另一个数据库是我遗漏的?

我更熟悉 MySQL 和 MS SQLServer 2005,但由于许可证成本,我正在尝试放弃后者。

让我补充一下:这不是像 Quickbooks 或 Peachtree 这样的会计需求。这基本上是一个处理我们提供的特定业务服务的会计系统。可能有两三个系统可以满足这种需求,在进行任何定制之前的价格在六位数范围内,并且需要我的小公司长期与供应商联姻。因此,我们正在内部构建应用程序。

此外,虽然我很欣赏购买与构建 的争论,但我想摆脱那个特定的宗教问题,因为购买之路已经被采用,供应商惨遭失败。有时您只需要自己完成这项工作,而这个特定的项目和预算保证了这一点。

感谢大家到目前为止的回复。

最佳答案

有四种主要的开源关系数据库管理系统可能适合此类应用程序:Postgresql、MySQL、Firebird 和 Ingres。还有其他系统,例如SQLite,但它们没有这种类型的架构,也不是真正为这种类型的工作负载而设计的。这种类型的其他一些开源数据库管理系统确实存在,但由于某些原因(例如缺乏明显的供应商 promise )似乎不太可行。具有此类问题的系统示例是 SAP-DB.

Postgresql具有所有开源数据库中最好的功能集,并支持 XA 事务,如果您的应用程序是三层系统并支持非常复杂的事务,您可能会需要它。特别是如果您想执行跨越多个数据库调用的事务,您将需要这样做。

多年来已经构建了 PostgreSQL 的多个商业变体,例如 Illustra, GreenplumEnterpriseDB. Illustra 是 PostgreSQL 的商业版本,随后被 Informix 收购。 Greenplum 是为数据仓库应用程序设计的修改版本。 EnterpriseDB 是一家提供受支持的 PostgreSQL 商业版本和一些增值软件的公司。

MySQL 5.x 有一个功能集,支持合理的功能横截面,但它不像 PostgreSQL 那样功能丰富。它有更广泛的主流接受度,并且是最容易招募熟练开发人员的开源数据库管理系统。尽管旧版本没有强大的事务支持,事务存储引擎如 InnoDB已经有一段时间了。 current politics surrounding Sun 的收购产生了 code forks和 MySQL 景观是 somewhat messy,关于 quality issues in the 5.1 release. 的争议然而,MySQL 是迄今为止最受欢迎和最著名的开源数据库管理系统,也是唯一在开源圈子之外具有显着品牌知名度的系统。

Firebird是 Interbase 的开源版本。最后我看了看,它没有 XA 支持,但如果您的应用程序设置为两层客户端-服务器系统,那就没问题了。 更新: 我找不到关于此的明确规范,但文档确实表明它支持两阶段提交,但我能找到的并没有具体说明它是否支持 XA 协议(protocol).该文档暗示 JDBC 驱动程序确实支持两阶段提交。

这个系统的一个有趣的变体是 Fyracle ,旨在提供与 Oracle 的一定程度的兼容性。这最初是作为 Compiere 的后端开发的。 ,它是针对 Oracle 构建的,并且与其紧密耦合。

Ingres现在可以通过开源许可证获得,但受到开源社区集体哈欠的欢迎。然而,它功能丰富且非常成熟——我认识一些人在 1990 年开发 INGRES 应用程序,它可以追溯到 1980 年代。

关于database - 哪个开源数据库是会计相关系统的最佳选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/411976/

相关文章:

mysql - 交易目的地外键的在线信用系统表布局

database - 如何使用 django 更新会计应用程序中的余额?

php - PHP 的 SQL 插入问题

sql - 这个电影数据库模型是否正确,是否有效?

mysql - Twitter的MySQL数据库架构是如何设计的?尽你所能

security - 英特尔 SGX 开发人员许可和开源软件

sql-server - 在远程位置之间共享数据

c++ - 开源C/C++音频到文本库

javascript - 使用 Node.JS Web 应用程序打开 Web Analytics。出现错误 'TypeError: doc is null'

php - 如何减去类型不同的行的同一列?