一对多类型的关联策略,其中"many"方条目以百万为单位



给出一个类比:类似Twitter的场景,在这个场景中,一个人可以被大量的人(一对多)跟踪,

我能想到的的几种选择

  1. 使用一些带有延迟加载的OR映射工具。但是,当你访问关系的"追随者"方面时,它仍然会加载所有数据,甚至很难加载。所以这不是一个合适的选择。

  2. 不要维护一对多关系(或者不使用任何or映射)。在单独的调用中获取"Followers"端,并以编程方式处理分页等。

  3. 卸载将大数据提取到某个搜索堆栈(Lucene/Solr),该堆栈可以更好地处理大数据。但这将在数据库更新和索引更新之间引入一些延迟。

请分享您的想法/建议以及任何可能的工具库。堆栈由Java、MySQL组成。

数百万对于RDBMS来说应该不是问题,因为它是为这些情况设计的。

有时还建议取消规范化而不是规范化,以优化应用程序的性能。这是专门针对具有非常高的读取和非常低的写入统计信息的应用程序的。

最新更新