以Twitter的数据模型为例:
用户A关注N个其他用户,每个用户都发布了N个不同的帖子。帖子有时间戳。
是否有数据存储或图形数据库支持有效读取用户A正在关注的用户的最新N个帖子?
最好将帖子按排序顺序存储(如Cassandra ColumnFamily或Redis ZSET)。
此外,在不同计算机上分片数据的能力至关重要。
答案 0 :(得分:1)
您的选项可能是...... RDF数据库(AKA三重商店/四元商店)并尝试SPARQL查询图表并从您的数据中检索子图。另请参阅SPARQL by example。
可扩展到数十亿三元组或四元组的是4store,它是用C语言编写的,允许跨段进行数据分片,它充分利用了商品集群或多核架构。有许多客户端库可以与Java,perl,Python,...进行交互。
答案 1 :(得分:1)
看看Neo4J,它应该完全符合您的需求。但是有一个建议使用它的REST interface,因为它让你可以自由地选择你的武器和编程语言,并抽象出直接使用Java绑定的很多复杂性