请教一道系统设计的题目

发布于 2022-10-15 07:34:49 字数 472 浏览 24 评论 0

题目描述:一个日志系统,需要存储和维护。每条记录由url ip time 三个段组成。

设计一个系统,容量是1000亿条这样的记录。同时要求支持以下两种查询:

1.输入任意时间,url,给出访问量

2.输入任意时间,ip,给出该ip访问的url数目

我的想法:

假设每条记录有64B,那么1000亿大概有6400GB,

所以文件肯定要分开存储,而且肯定要用上hash,以加速查询。并且将hash的结果再次对2000求余,存储到2000个文件中。

如果单纯对url进行hash,查询2就没那么高效了。

所以再建立一个记录ip的文件,其内容是ip,url文件名这样的键值对,可以根据ip找到相应的文件。

平时在系统设计方面确实没有什么功底, 这样的题目也无从下手,请教CU高手指点一下。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

め七分饶幸 2022-10-22 07:34:50

最简单扔给数据库做

没有你我更好 2022-10-22 07:34:50

回复 2# JohnBull

    哦对了 ,时间的精度是分钟。

辞慾 2022-10-22 07:34:50

回复 4# freebarque

    这个。。。出题人应该不是这个意思吧

阳光的暖冬 2022-10-22 07:34:50

回复 2# JohnBull

    什么是符号链接?

謸气贵蔟 2022-10-22 07:34:50

回复  JohnBull

    哦对了 ,时间的精度是分钟。
zhanglistar 发表于 2011-05-09 15:43

每分钟一个子目录,里面用一个文件保存这一分钟的原始记录,用你喜欢的方法建2个索引(IP和URL),OK了,最好每次查询都在那个目录下保留一份cache。

王权女流氓 2022-10-22 07:34:50

回复  JohnBull

    什么是符号链接?
zhanglistar 发表于 2011-05-10 08:53

忽略!我一开始看错要求了

初熏 2022-10-22 07:34:50

回复 8# JohnBull

   “ 每分钟一个子目录,里面用一个文件保存这一分钟的原始记录,用你喜欢的方法建2个索引(IP和URL),OK了,最好每次查询都在那个目录下保留一份cache。“

     有以下两个问题想请教:
   
     1.每分钟一个目录的话,那么一共就有60个目录,可是每个目录里的文件可能依然很大。而且如果查询的输入时间跨越几个甚至几十个目录,这样的话查询效率会很高吗?  

    2.如何建立cache呢?

捶死心动 2022-10-22 07:34:49

本帖最后由 JohnBull 于 2011-05-09 00:02 编辑

提示:善加利用符号链接。(看错了,这里用不上...)

PS:时间的精度是什么?

梦萦几度 2022-10-22 07:34:49

记录应该是以时间排序列的吧。
如果是这样,首先以时间来过虑,其结果应该就在可处理范围内了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文