不可以使用关系数据库的场景
不可以使用关系数据库的场景——转载:
10件不可以使用关系数据库的场景:10 things never to do with a relational database | Application Development - InfoWorld也许能够对普通人起到方向提醒作用。
大意翻译如下:
1.搜索: 即使Oralce商店自己也不使用Oracle Text, 但是你会看到很多人使用复杂的like之类查询语句,这是非常丑陋的,兼容性相当差,
Oracle数据库获得数据的过程是艰难的,除了Oralce以外,其他数据库几乎没有真正的搜索扩展。
推荐使用类似Hibernate Search, Apache Solr, or even Autonomy.能有更好地性能。
2. 推荐: 这是很多电子商务产品最丑陋的地方,他们获取关于用户的许多数据,然后试图进行推荐。
考虑一个社交网络场景下,如果你的朋友买了袜子,我也推荐袜子给你,这是从RDBMS中获得的数据,我们会使用Join表等SQL语句多层次查询,
这在Neo4J之类图库中只需要两行即可。你可以在社交系统中使用关系数据库,但是会失去天然的实时性。
3. 高频交易:我们大多数人都认为交易系统必须RDBMS,因为它能保证事务性,对吗?错了. 高频交易者往往是采用NoSQL的第一批人,
对于HFT低延迟为王(低延迟意味快速响应,特别是大访问量情况下快速完成用户交易),当然,你可以进行高难度篮球投篮,
你也能使用关系数据库完成低延迟,但是关系数据库真的不是为这个目标设计的。.Oracle试图否定上面的结论,他通过购买TimesTen, 试图将基于内存数据库和RDBMS结合,
但是你会捡了芝麻丢了西瓜,我们看到HFT大部分使用key-value存储,泪如Riak,甚至更复杂如Gemfire.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。