带有潜在数十亿条记录的ORM使用

问题描述:

我前几天想到这个,像Twitter这样的应用程序处理数百万用户。我正在考虑“跟随”功能如何工作,数据库中用户的最大数量可以跟随数据库中用户数量最少的用户(他自己)。带有潜在数十亿条记录的ORM使用

如果这是一个ManyToMany双向映射,它将创建一个可能有数十亿条记录的关系表。以及ORM如何检索这些记录?例如,如果用户A跟随20,000用户,ORM会为该用户加载20,000条记录,还是会使用分页方法?我可以用小的记录集处理JPA/ORM(例如,< 10条记录),但是这超出了我的想法,即如何编写软件来支持大型记录集。对不起,这个问题不是特定的,但我正试图获得有关这方面的架构性想法。在业余时间,我将对数十亿条记录进行一些测试,但希望首先从社区获得一些意见。

+1

恩,恩,也许ORM不是用来做这件事的锤子? – Yehonatan 2010-10-06 04:44:41

+0

IIRC Hibernate默认会延迟加载这些集合。不管底层技术如何,多对多的关系都是可以避免的。 – CurtainDog 2010-10-06 04:57:12

+0

好东西..这几乎类似于在java中开发第一款手机应用程序,由于内存和处理器速度有限,我们不得不抛出许多OOP概念。现在要处理极高的大容量记录集,我们将从RDBMS移开..不错的文章..谢谢。 – 2010-10-06 05:33:23

该解决方案不使用关系数据库:)并使用NoSQL代替。你可能会觉得这很有用:http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with-ryan-king