如果一台服务器里,放上百万个数据库会怎样? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
stanhou
V2EX    数据库

如果一台服务器里,放上百万个数据库会怎样?

  •  
  •   stanhou 2016-01-06 08:01:31 +08:00 3344 次点击
    这是一个创建于 3641 天前的主题,其中的信息可能已经有所发展或是发生改变。

    都是很小的数据库,表结构都一样,大多数都不经常访问。表结构也是万年不需要改变的。
    然后会不会还有其它问题?

    25 条回复    2016-01-07 09:32:00 +08:00
    lxrmido
        1
    lxrmido  
       2016-01-06 08:18:44 +08:00   1
    数据库只是文件
    c742435
        2
    c742435  
       2016-01-06 08:27:17 +08:00
    内存不够?
    wuxqing
        3
    wuxqing  
       2016-01-06 08:37:31 +08:00
    数据库系统通常会把数据库相关的文件集中放到某个目录下,所以我个人觉得上百万个数据库对应的就有几百万(甚至几千万)个文件( pgsql 是每个数据库一个文件夹)在一个目录下,这样速度会慢。当然大多数不经常访问,估计影响不大,常用的数据库会被缓存
    zonghua
        4
    zonghua  
       2016-01-06 08:51:02 +08:00 via iPhone
    oracle 的话一个数据库就是一个实例的进程和文件
    Admstor
        5
    Admstor  
       2016-01-06 09:00:13 +08:00
    单目录下百万级文件数会有性能问题
    Livid
        6
    Livid  
    MOD
    PRO
       2016-01-06 09:03:06 +08:00
    最简单的验证方法就是写一个程序在这台服务器上建 100 万个这样的测试数据库或者表,然后就知道瓶颈在哪里了。
    hienchu
        7
    hienchu  
       2016-01-06 09:05:45 +08:00 via iPhone
    不经常访问应该没问题
    shakoon
        8
    shakoon  
       2016-01-06 09:28:09 +08:00
    为什么要建这么多库?一个实例下建百万个用户不行吗,表都在一个库里。
    Cassius
        9
    Cassius  
       2016-01-06 09:32:39 +08:00
    然后回头就又要优化数据库么。。。
    rainysia
        10
    rainysia  
       2016-01-06 10:37:47 +08:00
    碰见过类似的一个数据库设计.
    是目前还没起来的汽配市场.
    俄罗斯人设计的.每年每个车型一个库, 按照发动机, 地盘这样分了表, 里面存上原厂目录(就是该款车的每个零部件的型号,size,price,图纸,锚点之类的). 想想多少库

    之前看那个 DB, 是 sqlserver,大概有 7T, 只包括了欧洲近 60 年来的车型(中国和美国是另外两套标准, 所以没数据). 图纸单独存另外一个服务器.

    更新一次细节比如锚点要大概 24 小时
    Neveroldmilk
        11
    Neveroldmilk  
       2016-01-06 11:18:10 +08:00
    要看你的服务器 I/O 吞吐能力和运算能力,基本上这样搞都是自虐。
    clino
        12
    clino  
       2016-01-06 11:19:40 +08:00
    上百万个 sqlite 文件是不是就行了?
    xiaosu
        13
    xiaosu  
       2016-01-06 11:24:15 +08:00
    过来凑个热闹
    Tink
        14
    Tink  
    PRO
       2016-01-06 11:28:15 +08:00 via iPhone
    sqlite+1 啊,一切皆文件
    laoyuan
        15
    laoyuan  
       2016-01-06 11:48:15 +08:00
    表结构,加一个 table_id 字段汇总到一个表里不就完了
    stanhou
        16
    stanhou  
    OP
       2016-01-06 13:05:39 +08:00
    数据库是 Mysql/innodb
    @shakoon 用的 php 程序,提供 saas ,每个实例都要新建一组表

    @laoyuan 我最先就考虑这个方法,比如在所有 tables 加一个 site_id,但是要修改很多代码,而且查询条件也会增多,所以就想能不能用这种“暴力”的方法。
    wizardoz
        17
    wizardoz  
       2016-01-06 13:06:24 +08:00
    打开方式不对
    ooh
        18
    ooh  
       2016-01-06 13:10:09 +08:00   1
    会不会上灰尘?
    winkidney
        19
    winkidney  
       2016-01-06 13:44:06 +08:00   1
    @Cassius 发现一只休斯,也是默默怒摸!
    SmiteChow
        20
    SmiteChow  
       2016-01-06 15:17:58 +08:00
    表中加 user_id, 提供多租户。
    SmiteChow
        21
    SmiteChow  
       2016-01-06 15:19:26 +08:00
    基于 MySQL 实现云数据库服务的设计与实现 - 中国科技论文 ...
    SmiteChow
        22
    SmiteChow  
       2016-01-06 15:22:09 +08:00   1
    iugo
        23
    iugo  
       2016-01-06 15:36:41 +08:00
    @zonghua PostgreSQL 也是.
    stanhou
        24
    stanhou  
    OP
       2016-01-06 15:45:33 +08:00
    @SmiteChow 我才知道“多租户”这个关键词
    xiamingchong
        25
    xiamingchong  
       2016-01-07 09:32:00 +08:00
    必然会有问题,最好开多个实例,每个实例下放一些数据库
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2784 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 14:51 PVG 22:51 LAX 06:51 JFK 09:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86