7

我已经在互联网上阅读了整个 SQL 与 NoSql 的内容(花了几天的时间,所以我有权这样称呼它:))但我仍然觉得我离能够做出决定还很遥远平台我们的产品应该去。我们即将开始设计一组新的产品,这些产品主要适合 CRM/CMS 类别,我会说几个 B2B、B2C、B2E、电子商务以及其他金融和银行应用程序。所以这将是一个复杂的系统,有几十个数据库来解决不同的任务。让我们专注于 DB 区域。我发现这篇文章对于企业世界中的数据库系统特别有趣。所以实际的问题是:

是继续使用诸如 MySql 之类的旧 RDBMS 更好(是的,它必须是开源的,这是唯一的要求)还是从诸如 MongoDB/CouchDB 之类的 NoSQL 开始(我猜 Cassandra 对于 CRM 来说太可扩展了,但不是将是一个非常分布式且高度集群的系统。最多 4 个强壮的家伙可以完美地完成这项工作)???

作为附加细节,我可以说很多媒体资料和文档将参与该系统,这对于商店、市场、人力资源系统来说是必须的。并且存储的消费者将主要是网络应用程序。

将数据库后端拆分为两部分会更好吗:RDBMS 服务关系数据和 NoSQL 用于媒体存储?

您的想法以及如果您有示例或此类经验,任何帮助都将极大地帮助避免将来出现问题。所以提前谢谢你们!

4

1 回答 1

6

您可以考虑使用完全符合 ACID 的 NoSQL (NewSQL) 数据库。我会使用其中之一来处理事务性 CRM 数据。与传统的关系数据库相比,使用这些有太多好处:

  • 更好的性能
  • 无模式
  • 有些允许您完全删除 ORM 并自动使用创建的对象
  • 有些已经集成了支持 REST/JSON 的 Web 服务器,这对您来说会很好,因为您将为最终用户使用 Web 应用程序。

如果您要构建 CRM,ACID 部分非常重要。我曾经构建了一个使用 NoSQL 数据库的 CRM 系统,它的性能使得我们可以添加我们在使用传统 RMDBMS 时永远不会考虑的功能。

我喜欢您应该将媒体和文档放入 CDN,然后从您的数据库中引用它们的想法。

不过,您的开源需求可能会有点麻烦。

我写了一篇关于这个主题的文章,您可能会在选择数据库的主题上给出一些建议:

http://www.ulitzer.com/node/2636237

于 2013-08-01T07:39:37.850 回答