目前单位有一个业务,前期数据库选型,数据量巨大,单张表数据起步有 1.5 亿个,以前没怎么接深入接触过数据库,起初还说就用我们常用的 Mysql 什么的,由于我们数据量巨大,而且需要最后的表越少越好,发现用 Mysql 不太适合。后面看到 MongoDB 貌似符合要求,所以过来向各位老师评估一下是否可行,或者更加适合的数据库也欢迎各位老师提提建议哈,这个跪谢大家了~
1
zhoudaiyu 2019-11-21 07:49:43 +08:00 via iPhone
Postgre ?
|
2
realpg 2019-11-21 07:56:03 +08:00
可选型的比较多
取决于你们的专业运维擅长啥…… 你选了一个你们运维 DBA 都不精通的 这种中等规模数据量的优化一窍不通是没用的 如果考虑商业数据库 选择更多 |
3
Lunaleeguo OP @realpg 好的,谢谢老哥建议哈,我们这边运维对 Mongo 还是比较熟悉的,考虑到以后这个数据量可能有个 10 倍的扩张,所以想提前规划考虑一个能满足这个数据量,查询起来速度也比较快的数据库。当然首先考虑的是一些比较常用大众点的,这样遇到问题查起来也比较方便。
|
4
realpg 2019-11-21 08:03:56 +08:00
|
5
realpg 2019-11-21 08:05:07 +08:00
哦不是 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 +08: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
|