使用NoSQL数据库的电子商务网站

最近我读了很多'NoSQL'数据库,比如CouchDB,MongoDB等。我见过的大多数网站都是基于文本的网站,比如纽约时报和Source forge。

我想知道您是否可以将此应用于付款是一个巨大问题的网站。 我正在考虑以下问题:

  • 你可以如何保护数据
  • 这些系统是否提供简单的备份/恢复机制?
  • 事务如何处理提交/回滚
  • 我阅读了以下涵盖某些方面的文章:

  • 我可以在CouchDB中执行事务和锁吗?
  • 基于文档的数据库与关系数据库的优点/缺点
  • 在这些帖子中,如果涵盖了交易的方面。 但是不包括安全和备份问题。 有人可以在这个问题上谈一谈吗?

    如果可能的话,是否有人知道一些已成功实施基于文档的数据库的电子商务网站。


    编辑:2013年3月

    我最初发布了一篇关于我在MongoDB和电子商务上撰写的文章的链接,但我不再同意我在那里提出的所有观点。 我仍然相信MongoDB的文档数据模型可以很好地用于电子商务网站的目录管理端,也可能用于购物车。 但是很明显,事务很重要,MongoDB不会给你这些。 这个问题的答案与次数最高的选票有很多值得考虑。

    这是对那些感兴趣的原始文章:

    http://kylebanker.com/blog/2010/04/30/mongodb-and-ecommerce/(archive.org链接)


    使RDBMS非常缓慢的开销保证了原子性,一致性,隔离性和耐用性,也被称为ACID。 其中一些属性对于处理金钱的应用程序非常重要。 灯光熄灭时,您不想失去单笔订单。

    NoSQL数据库通常会牺牲部分或全部ACID属性以换取大幅度降低的开销。 对于很多应用程序来说,这没什么问题 - 如果在灯光熄灭时几个“diggs”丢失,那没什么大不了的。

    对于电子商务网站,您需要问问自己您真正需要什么。

  • 你真的需要RDBMS无法提供的性能水平吗?
  • 你需要RDBMS提供的可靠性吗?
  • 老实说,#2的答案可能是“是”,这就排除了大部分NoSQL解决方案。 除非你处理与amazon.com相当的流量水平,否则RDBM甚至在适中的硬件上都可能会满足你的性能需求,尤其是如果你限制自己进行简单的查询和正确的索引。 这使得答案#1“否”。

    但是,您可以考虑将RDBMS用于交易数据,并将NoSQL数据库用于非关键数据,例如产品页面,用户评论等。但是,您可以使用两倍的数据存储软件进行安装,以及两个数据存储区中的数据必须在代码中进行管理 - 不会将您的NoSQL数据库与您的RDBMS连接起来。 这可能会导致不必要的复杂程度。

    最后,如果RDBMS提供您必须具备的可靠性功能,并且它对您所遇到的各种负载具有可接受的性能,那么RDBMS可能是最佳选择。


    处理财务信息是SQL真正适合工作的领域之一。 大多数NOSQL系统旨在通过接受更高的数据丢失或不一致风险来提高可扩展性。 他们也倾向于在所有记录上运行报表的能力有限,因为在典型的大型网站上,您只需索引中足够的数据就可以查找并显示单条记录 - 其余部分可能完全无法访问,除非知道所查看的记录对于。

    在处理资金时,任何数据不一致都是一个大问题,如果您需要比单个SQL Server可以提供的更多可伸缩性,那么您就有足够的资金来承担更高的SQL扩展成本。 另外,如果您不使用sql,那么您可能会错过从sql获得的即席报告 - 几乎所有您想要的关于销售历史的信息都是从sql获取的,但可能需要基于对象的复杂自定义代码商店。

    链接地址: http://www.djcxy.com/p/86385.html

    上一篇: commerce websites that use NoSQL databases

    下一篇: What scalability problems have you encountered using a NoSQL data store?