首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Lunaleeguo
V2EX  ›  程序员

向各位老师请教一下数据库选型问题哈

  •  
  •   Lunaleeguo · 60 天前 via Android · 2148 次点击
    这是一个创建于 60 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前单位有一个业务,前期数据库选型,数据量巨大,单张表数据起步有 1.5 亿个,以前没怎么接深入接触过数据库,起初还说就用我们常用的 Mysql 什么的,由于我们数据量巨大,而且需要最后的表越少越好,发现用 Mysql 不太适合。后面看到 MongoDB 貌似符合要求,所以过来向各位老师评估一下是否可行,或者更加适合的数据库也欢迎各位老师提提建议哈,这个跪谢大家了~

    31 回复  |  直到 2019-11-22 09:25:57 +08:00
    zhoudaiyu
        1
    zhoudaiyu   60 天前 via iPhone
    Postgre ?
    realpg
        2
    realpg   60 天前
    可选型的比较多
    取决于你们的专业运维擅长啥……
    你选了一个你们运维 DBA 都不精通的 这种中等规模数据量的优化一窍不通是没用的

    如果考虑商业数据库 选择更多
    Lunaleeguo
        3
    Lunaleeguo   60 天前 via Android
    @realpg 好的,谢谢老哥建议哈,我们这边运维对 Mongo 还是比较熟悉的,考虑到以后这个数据量可能有个 10 倍的扩张,所以想提前规划考虑一个能满足这个数据量,查询起来速度也比较快的数据库。当然首先考虑的是一些比较常用大众点的,这样遇到问题查起来也比较方便。
    realpg
        4
    realpg   60 天前
    @Lunaleeguo #3
    还有 你提到的 MYSQL MONGODB 这俩完全都不是一个类型的
    前面是关系的,后面是 KV 的
    你要结合你业务的查询和写入类型 确认是否适合
    realpg
        5
    realpg   60 天前
    哦不是 KV 的 习惯就发出去了 是 NOSQL 的
    Lunaleeguo
        6
    Lunaleeguo   60 天前 via Android
    @zhoudaiyu 好的,谢谢老哥,我先研究下你说的这个
    opengps
        7
    opengps   60 天前 via Android
    这东西完全看业务,我早期版本 gps 轨迹用 SQL server 存了一个月数据 1. 5 亿无问题。不过考虑版权问题后来及时改了
    tinybaby365
        8
    tinybaby365   60 天前 via iPhone
    业务没说清楚 OLAP,OLTP,还是兼顾?
    Lunaleeguo
        9
    Lunaleeguo   60 天前 via Android
    @realpg 嗯嗯,对的,前面忘说了,业务上 KV 存储的也是更适合一些,所以我们暂定是用 MongoDB,如果后面实在找不到性能更优的就打算用这个了
    heiheidewo
        10
    heiheidewo   60 天前
    KV 存储的话,可以考虑 leveldb , 毕竟不用太占内存,当然土豪可以忽略
    Lunaleeguo
        11
    Lunaleeguo   60 天前 via Android
    @heiheidewo 好的,谢谢老哥建议,看了一下 LevelDB 一般是多机主备的形式搭建集群,我们目前只有一台机器了,哭瞎⊙﹏⊙
    fancy111
        12
    fancy111   59 天前
    花钱买 oracle 不好吗?
    lzxz1234
        13
    lzxz1234   59 天前
    考虑下 TiDB,天生集群,而且兼容 MySQL
    gemini767
        14
    gemini767   59 天前 via iPhone
    MySQL 完全 hold 住,分库分表现成组件那么多,后期迁移也方便。不过也要看 dba 熟悉了
    murmur
        15
    murmur   59 天前
    单表 1.5 不手动分表可能只有 oracle 了,oracle 可以直接配分区
    zjsxwc
        16
    zjsxwc   59 天前
    mysql 可以的,公司全用 mariadb 的路过
    Lunaleeguo
        17
    Lunaleeguo   59 天前 via Android
    @murmur 哈哈哈,可惜经费有限,而且现在机器也只有一台,不少朋友推荐了很多很优秀的分布式数据库,也没法去实施
    javapythongo
        18
    javapythongo   59 天前
    postgre
    sadfQED2
        19
    sadfQED2   59 天前 via Android
    我们 mysql 单表 16 亿数据,为啥不行呢
    tailf
        20
    tailf   59 天前
    花钱买 Oracle 是一个不错的选择
    srx1982
        21
    srx1982   59 天前
    我们单表 20 亿数据也是用的 mysql,表做了一下分区
    zjsxwc
        22
    zjsxwc   59 天前
    查了下确定楼主是来乱带节奏的吗

    MySQL MyISAM 单表最大 64PB,InnoDB 单表最大 64TB
    mongoDB MMAPv1 单 Collection 最大 32TB
    PostgreSQL 单表最大 32TB
    Oracle 只要硬盘和操作系统允许就是无限
    FenixVu
        23
    FenixVu   59 天前
    1.5 亿 mysql 完全没问题吧
    hhyvs111
        24
    hhyvs111   59 天前
    分表就好了,单张表不要超过 1000 万
    fuis
        25
    fuis   59 天前
    pg 和 mongo 随便选一个,我喜欢 pg
    miemiekurisu
        26
    miemiekurisu   59 天前
    用什么数据库要看你想干嘛,根据业务和系统需要去选,你这什么前提都没有,只有个数据量,那随便挑哪个都可以。mysql 和 mongodb 都不是一个应用方向的东西
    cco
        27
    cco   59 天前
    Hbase 其实也可以考虑,但是你没有说你们的应用场景。。 比如复杂查询关系?
    areless
        28
    areless   59 天前 via Android
    取值的多,就用 hash 索引。模糊查询多就全文本索引。大于小于多,就 b 叉索引。没有 mysql 不行的,只怕你不会用。那个数据库啊分布式遍地开花的过往,是特殊年代产物~~~机器破,用的人多~~~大家都瞎折腾,搞出一套套不规范的东西。
    tab16360
        29
    tab16360   59 天前 via Android
    es 不香吗
    v2hh
        30
    v2hh   59 天前
    业务场景,不说别人怎么给你合理建议
    Lunaleeguo
        31
    Lunaleeguo   58 天前 via Android
    @miemiekurisu 前面确实没有说清楚哈,业务偏向于 OLTP,目前初步是使用 mongoDB
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3425 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 38ms · UTC 01:11 · PVG 09:11 · LAX 17:11 · JFK 20:11
    ♥ Do have faith in what you're doing.