首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL社交网站-数据库设计、数据增长和硬件

MYSQL社交网站-数据库设计、数据增长和硬件
EN

Database Administration用户
提问于 2012-09-08 22:31:54
回答 1查看 4.1K关注 0票数 2

Introduction

我有一个系统,大约一百万用户(社区为基础)。它有大约6000组(固定,没有变化)。但目前还没有针对这些团体的讨论板。

建筑论坛

我们正在为上述小组建立一个讨论论坛。每组有12个类别(固定,永不改变)。讨论论坛就像Facebook的墙。我们将有12个脸谱墙为每组(一个墙为一个类别)。

数据库设计

对于上述特性,我有12个主表(每个类别)和12个注释表(每个类别)。共计24张表格。

所有的表都有相似的结构(主表和注释表)。

代码语言:javascript
复制
CREATE TABLE `tdb_forum` (
  `id` int unsigned NOT NULL AUTO_INCREMENT,
   group_id mediumint unsigned NOT NULL,  
 ..... Other columns .....
 ) 
 CREATE TABLE `tdb_forum_comment` (
   `id` int unsigned NOT NULL AUTO_INCREMENT,
    forum_id int unsigned NOT NULL ,  
  ..... Other columns ..... )

我将使用MySQL 5.5和InnoDB

数据增长预期

由于有100万用户准备在启动后立即使用它,主表中的人平均每天输入1条,评论表中的人平均有4条。因此,每个月的评论表达到6000万个月的记录。

硬件我计划

基础硬件

代码语言:javascript
复制
Intel Xeon E3-1230 (3.20GHZ 8MB Cache)
16GB DDR3 ECC
Primary Disk: Hardware Raid-1
2x2000GB 7.2k RPM SATAII RE4 64MB Cache

附加选项

代码语言:javascript
复制
  Hardware RAID Controller : Adaptec 2405 - 128MB Cache - 4 Ports
    Chassis : Standard SuperMicro Rackmount
    Public Port Speed : 100Mbs Public
    Public Bandwidth : 10TB Premium Transfer
    IP Addresses : 8 IP Addresses
    Control Panel : cPanel / WHM

问题我有

  1. 由于每个表的数据增长为6000万个(每月),我是否应该为每个组创建一个单独的数据库(6000个数据库),拥有所有的12个表,所以在将来我不需要进行任何分区或切分?如果我的代码能够很好地处理所有的数据库连接,那么在读写过程中它将是直接的。即使是未来的增长(最多1500万用户),我也不会有任何问题。但是有6000个数据库,您认为备份和复制这样的问题吗?
  2. 对于主表和注释表,是否可以将int作为ID,或者可以将其更改为BigInt或任何其他建议?
  3. 你认为我的硬件对最初一百万用户的平均使用是好的吗?还是我租的太多了?如果是的话,什么是我的情况下最好的硬件,至少在第一年?
EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-09-23 02:49:53

你需要大幅度增加内存的数量。根据你期望的负载,如果不是128或256,我希望至少有64次演出。考虑到大多数数据库很快就会变得陈旧,我想说,一个数据库应该很好。我有几十亿行的表,它们都是OLTP。假设它们是MSSQL,而不是MySQL,但是想法是相同的。

票数 3
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/23937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档