想知道哪种技术对网店的典型产品目录有更好的效果。我正在撰写关于企业环境中的nosql的硕士论文,我认为,我很长一段时间都专注于文档存储。阅读大量的文章,其中推荐文档存储,因为它的灵活性,这是需要建模的数千种不同的产品。但据我所知,像卡桑德拉这样的专栏家族商店也提供了同样的灵活性。
我最喜欢使用cassandra的想法是,nosql-database.org对它的评论(标记了最有趣的特性):
大规模可伸缩、分区行存储、无主从体系结构、线性规模性能、无单一故障点、跨多个数据中心和云可用性区域的读写支持。API /查询方法: CQL和Thrift,复制:点对点,用: Java编写,并发性:可调一致性,Misc:内置数据压缩,MapReduce支持,主/辅助索引,安全特性。
最后,我重点构建了一个高可用性和可扩展的多店系统原型,该系统利用了多标记持久性,说K/V存储用于会话、文档存储或列-系列存储( Product ),可能用于库存/定价的关系数据库管理系统( RDBMS ),如Sadalage和Fowler在他们的书"NoSQL Destilled“中提到的。
如果可能的话,为你的答案提供科学论文或其他可靠来源。
谢谢!
发布于 2013-06-12 14:39:35
文件商店的跟腱鞋跟
斯图尔特·哈洛韦提到文档存储是最大的模式锁定解决方案,它太不灵活了,我对此表示赞同。长沙发/蒙戈和其他人试图通过提供解决办法来创建辅助标识、能力和必要性,以了解普通的对象ids等,从而缓解这一问题。当然,如果考虑到版本控制(即向系统添加“时间”变量),文档存储就会迅速失败,无法提供平滑的支持和时间传输。
专栏商店:问题相关性
Cassandra是构建“可伸缩”/“分布式”系统的一个非常有吸引力的解决方案,并以Netflix为例,在AWS中可以启动500个Cassandra节点几分钟,所有请求都会碰到Cassandra铃声。
然而,鉴于你的问题中所述的问题,卡桑德拉将是不必要的过度杀戮。这不仅仅是因为它比“其他人”更复杂,或者因为在面向列的商店之上创建一个坚实的数据模型在精神上更加困难,而且还因为“产品目录”问题并不是一门火箭科学。如果您希望稍后添加机器学习来预测/识别/等.,则可以这样做,但是目录本身并不是这样,例如PostgreSQL这样的简单存储可以轻松地解决这个问题。
对NoSQL的简单渴望
如果您真的想在产品目录中使用NoSQL,我肯定会考虑3种解决方案来适合您的原型:
实践与理论
NoSQL的两篇经典论文第一次使NoSQL在实践中成为现实,这两篇论文是迪纳摩和BigTable。我认为数据体是DB宇宙中的下一个进化步骤,它引入了一个混合数据模型,该模型具有真正的指示符和关系,没有模式锁,并且所有事物都是不可变的:安全的时间旅行、缓存、本地db值等等。
实际上,如果它不是一个硕士论文,取决于实际问题的规模和定义,我将在数据体和PostreSQL之间选择解决目录、库存、定价等问题。
发布于 2013-07-25 08:25:00
到目前为止,我认为列族存储并不适合产品调用。这是因为产品中经常包含一些种类的收藏,如标签,音乐唱片的追踪表,不同尺寸的衣服等等。
卡桑德拉支持集合现在,但他们是不可搜索的!例如,这是标记必须具有的特性。相反,例如,MongoDb提供了在嵌套数组中搜索$in运算符.
我不想说在Cassandra中模拟产品calalog是不可能的,但我认为在文档存储中这样做要直接得多。
https://stackoverflow.com/questions/17063534
复制相似问题