Database 高性能查询-请提供建议

Database 高性能查询-请提供建议,database,nosql,Database,Nosql,假设我有数百万个用户配置文件,有数百个字段(姓名、性别、首选宠物等…) 您希望在配置文件上进行搜索 例:所有年龄在x和y之间、喜欢蝴蝶、讨厌巧克力的个人资料 你会选择数据库吗 假设你有一个类似Facebook的负载。 速度是必须的。 开放源码者优先 我读了很多关于Cassandra,HBase,Mongo,Mysql。。。我只是不能决定….这一切都是关于使用有效索引的。 如果有特殊查询,请为该查询创建索引 例如,制作一个指数年龄、爱蝴蝶、憎恨蝴蝶 如果你有一个像facebook这样的高流量网站,

假设我有数百万个用户配置文件,有数百个字段(姓名、性别、首选宠物等…)

您希望在配置文件上进行搜索

例:所有年龄在x和y之间、喜欢蝴蝶、讨厌巧克力的个人资料

你会选择数据库吗

假设你有一个类似Facebook的负载。 速度是必须的。 开放源码者优先


我读了很多关于Cassandra,HBase,Mongo,Mysql。。。我只是不能决定….

这一切都是关于使用有效索引的。 如果有特殊查询,请为该查询创建索引

例如,制作一个指数年龄、爱蝴蝶、憎恨蝴蝶

如果你有一个像facebook这样的高流量网站,你需要的不仅仅是sql优化。例如,memcaching,实现了一个搜索引擎,如vespa或lucene/solr,实现为集群。负载平衡器、多台具有64gb ram的服务器、raid磁盘和许多其他服务器技术

mysql、postgresql、sqlite和oracle等数据库的问题在于,索引可以用于静态搜索,但不灵活。Ex如果您希望对未编入索引的列合并搜索,则不会使用索引。例如,如果您包括一个额外的参数,如性别或其他类似的位置。。您必须创建更多索引。。。lucene/solr和一个真正的搜索引擎通过这种方式更加有效,因为你可以根据自己的喜好进行任意组合。。。你所要考虑的是一个列是被索引的,而不是它与其他列一起被索引的


所以,脸谱网……还有很长的路要走,伙计;)

数百个与其他行共享的字段意味着您可能会受益于某种规范化。