使用专有数据库系统构建应用程序的优缺点

war*_*ren 8 4d-database

我很长一段时间以来一直对4D SAS的数据库产品感兴趣,但几乎没有触及它.

在考虑用于应用程序开发的工具,特别是需要数据库组件的工具时,在考虑MySQL和PostgreSQL等开源工具与4D或Pervasive SQL等专有解决方案时应该注意什么?

SO社区对4D,Pervasive,FilemakerPro等各种数据库工具有什么好的(和坏的!)体验?

任何糟糕的经历?

小智 2

4D 是一个仅限 MacOS/Windows 的跨平台专有数据库系统,具有独立和客户端-服务器版本。您最好将其与仅适用于 Windows 的 Alpha Five.com 软件进行比较。我已经使用它 17 年了,它为我和我的部门提供了非常好的服务。从我的头顶掉下来...

优点:

  1. 界面和代码与数据引擎紧密相连,这使得丰富的跨平台用户界面的开发变得非常快速和容易。
  2. 专有的关系数据引擎以及本机客户端界面在两个平台上本机运行(但需要多用户许可证)。自我关系很有帮助(但有时会妨碍)。
  3. 可以通过 SOAP 和 ODBC 以及 SQL 驱动程序访问外部系统(有限)。
  4. 可以通过 SOAP 或 http 请求和网页从外部系统访问 4D。
  5. 基于 Pascal 的本机过程编程语言,易于学习。
  6. 适合中小型部门的优秀工具。
  7. 最新版本接受 SQL 命令子集和原始数据访问,因此它的向后兼容性记录非常好。
  8. 4D 中的安全性很简单。
  9. 您可以构建解决方案并通过多种方式进行部署,并且不受是否安装 MS Access 的限制。

缺点:

  1. 接口和代码与数据引擎紧密相关,这可能会导致抽象和“黑盒”编码的使用受到限制,除非您将其作为开发的目标。
  2. 编译为一个整体结构文件,强制重新启动以进行单个修复。
  3. 语言仍然只是过程性的——这使得面向对象的程序员更难接受。每种方法都需要 4D 中的单独“文件”,因此您不能在单个例程中包含多个函数或过程 - 这需要一些时间来适应。
  4. 虽然公司看起来状况良好,不断成长和发展,但你永远不会知道,因为他们对自己的情况保密。
  5. 公司从未真正进行过自我营销——相信其开发人员基础能够传播信息并通过站点部署和产品升级来发展产品。网站显然只对已经使用该产品的开发人员有用——它根本无法吸引新用户。
  6. 产品升级似乎始终关注该工具如何更好地服务于开发人员,而不是这些开发人员的客户。
  7. SQL 缺乏视图、复合索引和其他常见的 SQL 功能。
  8. 当用户请求特定数据列的报告时,我通常必须编写另一个程序来提供该特定数据 - 我不能总是只查询数据并生成文本文件。
  9. 无法像基于 Web 浏览器的应用程序一样轻松地处理新的操作系统版本。旧版本在 Mac OS 10.6 上损坏,最新版本需要最新的 Mac OS 10.6。Windows 7 上尚未经过认证的版本。

我学习 ASP.NET 已经快一年了,学习 Ruby on Rails 也花了几周时间。虽然 SQL 数据存储很简单,但用户界面却很困难——但是当您的应用程序通过操作系统升级仍然可以运行时,这是值得的。如果最新版本出现问题,您始终可以使用旧版浏览器。

我建议您考虑其中任何一个,具体取决于您有多少资金可用于实施该项目——Rails 是两者中更便宜的一个。然后,任何具有 Web 浏览器的系统都可以访问数据,并且您可以根据需要动态修复界面页面,而不是为了一次简单的更新而关闭整个系统几分钟。这些技能将来可能会更畅销。