假设微信有 14 亿日活,一年一个人需要 10mb 存储空间,那么一年需要 1.3 万 t 存储,如果算 1t ssb 存储 1000 人民币,那就一年需要 1300 万人民币。实际很多数一年聊天记录到 1mb 都难,再使用一些压缩技术,存储成本更低了。
聊天记录基本上不需要全文索引这些,只要按用户进行索引和存储就行了,用一些 nosql 就行了,而且可以用 hdd ,甚至使用归档存储,那么感觉一年几十万人民币就能搞定存储。如果要加上实时的按用户查询,那就用 hdd ,分用户进行存储,使用类似 ssdb 这样的 nosql ,也很快。
我看到一些计算方法说要几十亿、几百亿的存储成本,这个计算完全不合理,每个人的聊天记录,大部分都是群聊的图片、视频。
1
Seanfuck 2023-06-30 11:06:50 +08:00
“实际很多数一年聊天记录到 1mb 都难”,怎么得出这结论的?手机上的聊天数据动不动就是几十 G
|
2
x86 2023-06-30 11:07:58 +08:00
我觉得应该后端检测,命中敏感词关键字各类判定的存着等审计,其它没什么卵用的就存用户手机上拉倒。
|
3
chenjia404 OP @Seanfuck #1 有没有可能这些是图片和视频,尤其是群聊,用户自己发的文字没有这多。
|
4
Seanfuck 2023-06-30 11:47:59 +08:00
@chenjia404 只存文字没什么意义,现在聊天内容里图片语音视频占的比例很高。
|
5
jim9606 2023-06-30 13:56:06 +08:00 via Android
如果是纯文字,哪怕积累几年也是占不了多少空间的。但实际上大部分都是图片表情语音,这些体积很难压下来的。
别忘了早期微信宣称比起 qq 优势是可以发语音不需要会打字。 |
6
lilei2023 2023-06-30 14:04:16 +08:00
纯文本的没多少,好多是图片,视频之类的,比较占空间
|
7
56rhcrivs55TVKdX 2023-06-30 14:09:07 +08:00
我不知道你算的对不对, 但是按照我的经验, 贵的从来不是存储, 而是流量
|
8
aptupdate 2023-06-30 14:15:44 +08:00
一年 10MB 大部分人是不可能的,就算压缩也不可能。
因为聊天记录不止文字,随便发几张图就超过 10MB 了,还有大量的语音、视频文件。 但是话说回来 telegram 却能做到,只是单纯的因为杜罗夫财大气粗? |
9
OutOfMemoryError 2023-06-30 14:16:58 +08:00
我前两天给我安卓下的聊天记录拉出来了(纯 sqlite db ),不包含图片。附件,大概 1.2G 一年的聊天记录
|
11
OutOfMemoryError 2023-06-30 14:17:52 +08:00
@OutOfMemoryError 补充一下,图片、转发的消息和其他东西在 sqlite db 里面都是以 xml 格式呈现的
|
12
xmumiffy 2023-06-30 14:18:42 +08:00 via Android
微信存是存了,只不过为啥要给你查,这没好处。反正现在没有第二个可以和微信竞争的聊天工具
|
14
jujusama 2023-06-30 14:22:53 +08:00
re. telegram
|
15
deorth 2023-06-30 14:24:20 +08:00 via Android
因为微信没做图片 id ,发一次存一份,要存就炸了
|
16
zgw0 2023-06-30 14:26:03 +08:00
存储成本不高,但是开放给用户查的话,这个成本就高了
|
17
maskerTUI 2023-06-30 14:37:11 +08:00
纯文字的 10mb 应该够了,但是很多是语音、图片、视频,这些才是存储的大头,另外需要配置 raid ,配置容灾。
|
19
danikeng7890 2023-06-30 14:48:12 +08:00
不是说没有存聊天记录吗?
|
20
nothingistrue 2023-06-30 14:56:10 +08:00
你应该先区分个人聊天跟群聊,然后要看成本和收益的对比,不能只看成本。
个人聊天的成本毫无意义,因为他所属清晰,收钱毫无障碍,成本永远能被收益覆盖掉。但微信为什么不干呢,看看你的微信聊天记录里面,有多少个人聊天有多少群聊就知道了。 群聊方面,微信这种随意拉群的特点,直接导致群聊的内容归属模糊,收益为零,这时候还考虑什么成本高低,有成本都懒得搞。 |
21
hello00001 2023-06-30 15:23:29 +08:00
微信保存全部聊天记录的成本取决于多个因素,包括用户数量、消息数量、存储需求和数据管理策略等。
首先,我们需要考虑用户数量。根据微信官方数据,在 2021 年,微信的月活跃用户数超过了 12 亿。如果我们假设这个数字保持不变,那么一年的用户数量可能接近或超过 14 亿。 其次,我们需要考虑消息数量。根据微信的使用情况和研究数据,用户之间的消息交流非常频繁。然而,具体的消息数量因用户行为而异。为了简化计算,我们可以假设每个用户每天平均发送和接收 10 条消息。这样,一年的消息数量可能达到大约 5110 亿条( 14 亿用户 × 365 天 × 10 条消息)。 关于存储需求,每条微信消息通常包含文本、图片、视频和其他附件等不同类型的数据。为了简化计算,我们可以假设平均每条消息的数据大小为 1MB 。这样,一年的存储需求可能达到大约 5110TB ( 5110 亿条消息 × 1MB )。 然而,微信可能会采用各种数据管理策略来减少存储成本,例如数据压缩、归档、存储分级等。因此,实际的成本可能会有所不同。 总的来说,保存全部一年的微信聊天记录的大致成本可能是相当高的,需要考虑到存储设备、数据中心和数据管理等多个方面的费用。具体的成本估算需要考虑更多细节和实际情况,因此以上只是一个粗略的估计。 |
22
burymme11 2023-06-30 15:23:40 +08:00
如果把图,语音都转了文字再存储归档呢?
|
23
lincanbin 2023-06-30 16:04:19 +08:00
你对数据的估算非常离谱。
|
24
leonhao 2023-06-30 16:09:46 +08:00
能有多大,telegram 有腾讯有钱?
|
26
4D1ULExi1z1Boii9 2023-06-30 17:02:00 +08:00
@Seanfuck 几十个 g 中基本都是文件,文件七天过期,过期就删了不存了呀
|
28
tu9oh0st 2023-06-30 17:17:27 +08:00
电脑备份吧,然后手机中的一定要备份,电脑备份不确定能否是跟手机一样的,我换了几次手机都是用手机备份的
|
29
laommmm 2023-06-30 17:30:36 +08:00
手机上聊天记录,一年至少几 G 。。。。。。。。。
|
30
snw 2023-06-30 17:47:29 +08:00 via Android
@aptupdate
telegram 超过一定人数的群,聊天数据是共用的,所以就算文件发到 20 万人的大群,服务器上也只会存一份。表情贴纸也都是共用的,相同的 gif 也会共用。 只有微信这种智障,一份文件转发 50 次就重复存 50 份,直接把存储塞爆。 |
32
wxf666 2023-07-01 19:18:48 +08:00
@OutOfMemoryError #11 应该有不少是索引吧
|
33
LRf5sETzOgzGvk6u 2023-07-02 10:51:26 +08:00 via iPhone
都理解的不对,微信可以说就是吧每个用户设备当服务器端了,比如换设备等情况,是不是需要旧设备扫码或者好友发信息给你?你就可以把这个行为理解成一个命令,微信在本地一直拉屎也和这个有关系,一个视频发群里,群里 32 个人,那么就等于存了 32x32 份视频。。有的时候登陆明明找了时间条件符合的人帮忙验证,可是就不成功,根本原因就是从这个人的本地数据里找不到和你微信有关的,每个人都是微信的服务器☺️
|