假设新浪微博里的微博数据条数有数亿了,请问新浪现在想查询浏览量最高的前10条数据,如何做?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

假设新浪微博里的微博数据条数有数亿了,请问新浪现在想查询浏览量最高的前10条数据,如何做?

2016-06-29 10:49:05 2206 1

假设新浪微博里的微博数据条数有数亿了,请问新浪现在想查询浏览量最高的前10条数据,如何做?

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:48:52

    如果题目是

    一个GB级文件,每行一个数字(32位正整数),一共几亿个,如何快速查询最大的10个数。
    那么,这是一个算法题。

    我们学的那些数据结构和算法,只是一个思想,关键是领悟,举一反三,触类旁通。

    而你的题目,是一个工程题。

    数亿级别的项目我没有接触过,只做过百万级别的。

    首先,罗马不是一天建成的,而前十也不是突然产生的。在只有几万条数据的时候,就已经有前十了,这时的前十名很容易计算出来。当数据越多的时候,那么前十名就越发稳定。这时的前十名只需要在少量的数据中变更,而不需要再遍历整个数据群。

    在一个表里面记录排名前100的,每当访问情况变更是,就和这100条记录比较一下,如果比里面的次数多了,那么就将这条记录插入表中。然后……

    咦~~ 怎么这么熟悉啊。还记得排序算法里面有个插入排序吗?别把知识学死了。

    看看 SF 的榜单,综合、月榜、周榜、日榜,就明白了。

    回到你的问题,第一种情况,设计合理,那么在网站的运行过程中,前十名已经出来了。

    第二种情况,最初只是记录的浏览次数,现在领导访问,说要看看前十名,那么完了,我觉得只能用笨方法了。

    或者,在数据库里面记录“浏览次数的数量级”,我上一个项目就用了这个方法:

    万以下 0
    万级 1
    十万 2
    百万 3
    ……
    找前十的时候,前面的可以直接忽略。

    0 0
相关问答

1

回答

查询的话有没有呢? 因为目前我们生产的数据库量比较大。并且我们正在在做数仓。这个灰度时期我们开发需

2022-11-08 18:39:18 150浏览量 回答数 1

1

回答

设计文娱大脑面向应用侧的中间层是如何实现了面向业务领域的数据组织方式?

2021-12-10 21:31:58 562浏览量 回答数 1

1

回答

如何查看MaxCompute每个分区存储的数据大小?

2020-05-27 12:56:49 2403浏览量 回答数 1

1

回答

【Java问答学堂】10期 es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?

2020-04-28 14:16:56 2443浏览量 回答数 1

1

回答

移动数据分析如何查看日志?

2020-03-28 17:11:30 425浏览量 回答数 1

2

回答

Java ftp上传文件,每上传一定的数量的文件后,程序就会开始报上传超时,文件就开始无法上传

2019-09-17 00:48:24 778浏览量 回答数 2

3

回答

[@小川游鱼][¥20]有没有专门介绍Java数据结构和算法的书籍或技术文章?

2018-12-16 16:31:13 3342浏览量 回答数 3

1

回答

购买域名已经在线付款,我公司财务重复付款,请问如何解决

2017-12-24 03:10:44 971浏览量 回答数 1

2

回答

java程序中怎样用文件存储数据

2016-06-02 14:20:25 3235浏览量 回答数 2

1

回答

请问谁有C#数据库编程实例?java,c的话也可以!!!急求在线等!!

2016-03-23 13:26:37 2287浏览量 回答数 1
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
QQ 空间百亿级流量的社交广告系统海量实践
立即下载
QQ空间平台百亿级流量广告系统海量服务实践
立即下载
新浪广告系统服务化优化
立即下载