我觉得这必须在其他地方问,但我找不到正确的搜索词来找到答案。如果这是副本,请在其他地方指出正确的答案。
像Facebook,Twitter,Tumblr这样的服务,我相信还有一大堆其他的服务可以让你关注其他用户。然后,他们的帖子会出现在墙上或仪表板上。我想知道,有了这么大的数据集,这些服务怎么能这么快地拉取帖子。我假设他们不是在使用SQL服务器,也不是在做以下事情:
SELECT * FROM `posts` WHERE `poster_id` IN ( super long list of users being followed ) ORDER BY `date` LIMIT 10;
因为
我需要在数据库中存储相当多的二进制数据(MS SQL),并通过EF与此数据库交互。不幸的是,EF不支持FILESTREAM (更准确地说,没有流支持)。
因此,我决定将数据存储在块中。Chunk只是一个实体类型:
public class Data
{
public int Id { get; set; }
public Collection<Chunk> Chunks { get; set; }
}
public class Chunk
{
public int Id { get; set; }
public int DataId { get; set; }