大数据
文章平均质量分 70
飞鸟真人
这个作者很懒,什么都没留下…
展开
-
使用2G内存求20亿个数字中出现次数最多的N个
1)分为80块,分块读取1G,排序后保存到文件,其中只保存每个数字的次数;2)对80个文件归并排序,可以写到一个大文件里,每个文件的滑动块大小为25MB;注意,归并的同时,就可以知道当前最大次数的数字,所以可以不写入合并的大文件;1)分块读取和排序:将20亿个数字分成80块,每块1GB大小,这样确保了每个小块可以在内存中进行排序,同时最大限度地减少了内存的使用。2)压缩存储:在每个小块中,只保存每个数字出现的次数,而不是保存所有数字。这样可以大大减少文件的大小,确保每个文件不超过2GB的限制。原创 2024-05-10 21:43:54 · 347 阅读 · 0 评论 -
消息存储与同步策略设计
优点:以用户为中心比以会话为中心(tinode)的好处就是消息管理更加容易;每个用户的数据相对集中,可以快速的找到并一次性同步给客户;缺点:数据需要存储2份;优点:群聊使用读扩散,存储数据量少;缺点:读扩散,如果用户反复离线与上线,需要读取离线数据,对scylladb压力比较大;原创 2024-04-02 22:15:24 · 872 阅读 · 0 评论 -
从零开始写一个APM监控程序(一)协议
它支持多种语言,包括 Java、.NET、Node.js、Go 等,可以跟踪分布式系统中的请求流,并提供详细的性能数据和可视化的监控工具。采集数据的部分分为探针和SDK两种,比如是JAVA和dotNet有虚拟机的,可以使用hook技术来拦截自己需要的方法,如果是编译型语言基本上使用的是SDK,程序员插码的方式实现。它通过收集、分析和报告应用程序的性能数据,帮助开发人员和系统管理员更好地了解应用程序的运行状况,识别潜在的性能问题,并进行优化。对收集到的数据进行分析,以识别性能瓶颈、错误和潜在的优化点。原创 2023-11-18 16:28:52 · 774 阅读 · 0 评论 -
scyllaDb在centos8上试用
centos scallyDb 试用,兼容cassandra原创 2022-10-14 09:12:26 · 543 阅读 · 0 评论 -
cassandra4.0.6试用
目前很多IM的数据存储都是使用mysql,比如teamGram, OpenIMSdk,但是mysql水平扩展十分麻烦,而新的列数据库,有clickhouse, hbase, cassandra,其中cassandra十分适合IM数据存储,原因是:使用id分区,使用id以及时间戳聚合,这样可以完成以用户为中心的数据存储与查询原创 2022-10-11 15:01:41 · 575 阅读 · 0 评论