适用于CRM,CMS和其他金融系统的RDBMS与NoSQL

时间:2013-07-31 14:17:17

标签: mysql mongodb couchdb rdbms nosql

我已经在互联网上阅读了整个SQL vs NoSql的内容(花了几天就可以了,所以我有权这样称呼它:))仍然有一种感觉我远离能够决定我们的产品应该采用哪种平台。 我们即将开始设计一套主要适合CRM / CMS类别的新产品,我会说几个B2B,B2C,B2E,电子商务以及其他金融和银行应用程序。所以这将是一个复杂的系统,有许多数据库可以解决不同的任务。让我们专注于数据库领域。我发现this文章对于企业界的数据库系统特别有意义。所以实际问题是:

保持良好的旧RDBMS(如MySql)是否更好(是的,它必须是开源的,这是唯一的要求)或者从NoSQL开始,例如MongoDB / CouchDB (我猜Cassandra对于CRM来说太可扩展了,它不会是一个非常分散且集中度很高的系统。最多4个强大的人会完美地完成这项工作)???

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

将数据库后端拆分为两部分会更好:为关系数据提供RDBMS,为媒体存储提供NoSQL吗?

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

1 个答案:

答案 0 :(得分:6)

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

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

如果要构建CRM,ACID部分非常重要。我曾经构建了一个使用NoSQL数据库的CRM系统,并且性能使我们可以添加我们在使用传统RMDBMS时从未考虑过的功能。

我觉得您应该将媒体和文档放入CDN,然后从数据库中引用它们。

你的开源要求虽然可能有点明显。

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

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