【问题标题】:How to manage databases with limited amounts of data如何管理数据量有限的数据库
【发布时间】:2011-08-12 04:46:46
【问题描述】:

您好,我正在 Dreamweaver 中构建一个社交网络,使用 php 和 sql 作为我的服务器语言来与我的数据库进行交互。我将使用 godaddy.com 来托管我的网站,他们说他们会给我无限的 mysql 数据库,但它们每个只能是 1gb。我想为用户信息(如姓名和电子邮件)指定一个数据库,这些信息将包含在一个巨大的表中。然后在数据库 2 中,我想给每个用户自己的表,其中包含他们所有的 cmets。每条评论我都会添加一行数据。很快我就会用完数据库 2 上的空间,不得不创建一个充满 cmets 的数据库 3。每次我用完旧数据库的数据时,我都会继续创建新数据库的过程。问题是数据库 2 上的人仍在制作 cmets,并且仍在创建更多数据供我存储。我不想限制人们可以存储多少 cmets。我希望他们能够在不删除旧 cmets 的情况下创建任意数量的 cmets。关于做什么或从这里去哪里的任何建议。我怎么解决这个问题?另外,有没有办法通过代码找出数据库还剩下多少存储空间。

【问题讨论】:

  • 找一个新的主机。
  • 根据主机的任意限制编写代码是很荒谬的,有几百万个主机,如果你认真地做任何事情,你应该看看其中一个 vpn 选项。
  • @Dagon 肯定是指 VPS 选项。
  • 更改您的托管服务提供商。否则你就是在为失败做准备。开发具有 1GB 数据库大小限制的社交网站是荒谬的。
  • doh yup VPN,只是为了跟踪许多 TLA(三个字母的首字母缩略词)

标签: php mysql sql database-design database-schema


【解决方案1】:

您可以运行以下 sql 语句来确定以 MB 为单位的数据库大小。

SELECT table_schema "Data Base Name", SUM( data_length + index_length) / 1024 / 1024 
"Data Base Size in MB" FROM information_schema.TABLES 
where table_schema='apdb'
GROUP BY table_schema ;

+----------------+----------------------+
| Data Base Name | Data Base Size in MB |
+----------------+----------------------+
| apdb           |          15.02329159 |
+----------------+----------------------+
1 row in set (0.00 sec)

在上面的示例中,apdb 是数据库的名称。

【讨论】:

    【解决方案2】:

    我认为 1Gb 的数据对于您的社交网络来说应该绰绰有余。如果您的网络变得非常非常大,您可以随时将您的应用程序移到其他地方。

    让我们进行计算: 说:一开始有 10.000 个用户(与 Facebook 相比,这似乎很低,但要获得 10.000 个用户注册需要很长时间)。

    10.000 x 500(?) bytes of information = 5Mb of data
    

    每个用户赚取 100 cmets。评论的平均大小为 100 字节。这也假定了一个活跃的社区。​​p>

    10.000 x 100 x 100 = 100Mb of data
    

    您仍然在 1Gb 数据库限制范围内。

    一旦达到 1Gb:更换托管服务提供商,或开始付款...

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 2011-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-07
      • 1970-01-01
      • 2012-02-25
      • 1970-01-01
      相关资源
      最近更新 更多