我有一个奇怪的问题...... 我想知道如何在数据库中维护聊天数据。 我一直在使用php-mysql应用程序,它将用户的聊天数据存储在数据库中。
现在我的问题是,如果聊天数据增加,比如数百万条记录,如何存储? mysql是否支持它,或者有任何限制或负担?
以gmail聊天为例。我可以无限聊天,也可以检索我以前的所有聊天数据。怎么可能?
任何人都可以回答这个典型的myne问题吗?
答案 0 :(得分:5)
聊天历史并不是那么重量级。如果我计算每条消息大约100个字节,每分钟6条消息,每天5小时,(这是一个非常健谈的聊天),永久,作为最坏的情况,这将给出大约61MB每位用户每年(!)。 这意味着有100万个健谈的聊天者(非常无法提供),你需要大约58TB或数据存储。
假设这是一个最坏情况的计算,我会从最大1TB存储开始,设置数据库,看看情况如何。对于一个非常年轻的服务来说,快速发展是非常不可能的。
另外,我个人不建议使用Windows系统来做这样的事情,除非你非常了解你在做什么。 Debian发行版上的MySQL将存储数十亿条记录,并且可能由于较少的操作系统级限制而更快地执行此操作(有关详细信息,请参阅MySQL文档,应该有关于Windows限制的部分)。
答案 1 :(得分:1)
MySQL将愉快地存储数百万甚至数十亿条记录;但是有些数字类型是不够的:see this表示数字类型的最大值。正如您所看到的,最好将BIGINT UNSIGNED
用于例如自动增量场。
性能可能会成为大型表的一个问题,但这主要可以通过索引解决(意思是“在类似情况下,我看到性能下降到100GB左右”)。
答案 2 :(得分:-1)
Google根据其要求设计了大量自定义存储空间。我建议您更具体地确定您的要求并确定您需要的平台。