目前单位有一个业务,前期数据库选型,数据量巨大,单张表数据起步有 1.5 亿个,以前没怎么接深入接触过数据库,起初还说就用我们常用的 Mysql 什么的,由于我们数据量巨大,而且需要最后的表越少越好,发现用 Mysql 不太适合。后面看到 MongoDB 貌似符合要求,所以过来向各位老师评估一下是否可行,或者更加适合的数据库也欢迎各位老师提提建议哈,这个跪谢大家了~
![]() | 1 zhoudaiyu PRO Postgre ? |
![]() | 2 realpg PRO 可选型的比较多 取决于你们的专业运维擅长啥…… 你选了一个你们运维 DBA 都不精通的 这种中等规模数据量的优化一窍不通是没用的 如果考虑商业数据库 选择更多 |
3 Lunaleeguo OP @realpg 好的,谢谢老哥建议哈,我们这边运维对 Mongo 还是比较熟悉的,考虑到以后这个数据量可能有个 10 倍的扩张,所以想提前规划考虑一个能满足这个数据量,查询起来速度也比较快的数据库。当然首先考虑的是一些比较常用大众点的,这样遇到问题查起来也比较方便。 |
![]() | 4 realpg PRO |
![]() | 5 realpg PRO 哦不是 KV 的 习惯就发出去了 是 NOSQL 的 |
6 Lunaleeguo OP @zhoudaiyu 好的,谢谢老哥,我先研究下你说的这个 |
7 opengps 2019-11-21 08:11:22 +08:00 via Android 这东西完全看业务,我早期版本 gps 轨迹用 SQL server 存了一个月数据 1. 5 亿无问题。不过考虑版权问题后来及时改了 |
![]() | 8 tinybaby365 2019-11-21 08:25:05 +08:00 via iPhone 业务没说清楚 OLAP,OLTP,还是兼顾? |
9 Lunaleeguo OP @realpg 嗯嗯,对的,前面忘说了,业务上 KV 存储的也是更适合一些,所以我们暂定是用 MongoDB,如果后面实在找不到性能更优的就打算用这个了 |
![]() | 10 heiheidewo 2019-11-21 08:33:39 +08:00 KV 存储的话,可以考虑 leveldb , 毕竟不用太占内存,当然土豪可以忽略 |
11 Lunaleeguo OP @heiheidewo 好的,谢谢老哥建议,看了一下 LevelDB 一般是多机主备的形式搭建集群,我们目前只有一台机器了,哭瞎⊙⊙ |
![]() | 12 fancy111 2019-11-21 09:12:15 +08:00 花钱买 oracle 不好吗? |
13 lzxz1234 2019-11-21 09:24:39 +08:00 考虑下 TiDB,天生集群,而且兼容 MySQL |
14 gemini767 2019-11-21 09:29:56 +8:00 via iPhone MySQL 完全 hold 住,分库分表现成组件那么多,后期迁移也方便。不过也要看 dba 熟悉了 |
![]() | 15 murmur 2019-11-21 09:31:32 +08:00 单表 1.5 不手动分表可能只有 oracle 了,oracle 可以直接配分区 |
![]() | 16 zjsxwc 2019-11-21 09:36:14 +08:00 mysql 可以的,公司全用 mariadb 的路过 |
17 Lunaleeguo OP @murmur 哈哈哈,可惜经费有限,而且现在机器也只有一台,不少朋友推荐了很多很优秀的分布式数据库,也没法去实施 |
![]() | 18 javapythongo 2019-11-21 11:42:37 +08:00 postgre |
![]() | 19 sadfQED2 2019-11-21 12:08:51 +08:00 via Android 我们 mysql 单表 16 亿数据,为啥不行呢 |
![]() | 20 tailf 2019-11-21 12:15:56 +08:00 花钱买 Oracle 是一个不错的选择 |
21 srx1982 2019-11-21 13:02:05 +08:00 我们单表 20 亿数据也是用的 mysql,表做了一下分区 |
![]() | 22 zjsxwc 2019-11-21 15:45:35 +08:00 查了下确定楼主是来乱带节奏的吗 MySQL MyISAM 单表最大 64PB,InnoDB 单表最大 64TB mongoDB MMAPv1 单 Collection 最大 32TB PostgreSQL 单表最大 32TB Oracle 只要硬盘和操作系统允许就是无限 |
![]() | 23 FenixVu 2019-11-21 15:57:48 +08:00 1.5 亿 mysql 完全没问题吧 |
![]() | 24 hhyvs111 2019-11-21 16:03:11 +08:00 分表就好了,单张表不要超过 1000 万 |
![]() | 25 fuis 2019-11-21 17:18:57 +08:00 pg 和 mongo 随便选一个,我喜欢 pg |
![]() | 26 miemiekurisu 2019-11-21 17:30:42 +08:00 用什么数据库要看你想干嘛,根据业务和系统需要去选,你这什么前提都没有,只有个数据量,那随便挑哪个都可以。mysql 和 mongodb 都不是一个应用方向的东西 |
![]() | 27 cco 2019-11-21 17:35:04 +08:00 Hbase 其实也可以考虑,但是你没有说你们的应用场景。。 比如复杂查询关系? |
![]() | 28 areless 2019-11-21 18:39:37 +08:00 via Android 取值的多,就用 hash 索引。模糊查询多就全文本索引。大于小于多,就 b 叉索引。没有 mysql 不行的,只怕你不会用。那个数据库啊分布式遍地开花的过往,是特殊年代产物~~~机器破,用的人多~~~大家都瞎折腾,搞出一套套不规范的东西。 |
![]() | 29 tab16360 2019-11-21 18:50:19 +08:00 via Android es 不香吗 |
![]() | 30 v2hh 2019-11-21 19:17:34 +08:00 业务场景,不说别人怎么给你合理建议 |
31 Lunaleeguo OP @miemiekurisu 前面确实没有说清楚哈,业务偏向于 OLTP,目前初步是使用 mongoDB |