数据量较大,数据库选型问题

2024 年 1 月 11 日
 afeiche

接了个新项目,数据量大概上亿,业务类型主要是订单数据,插入为主,简单的查询和统计,按公司传统的方案要不就是上 mycat,或者用 Sharding-JDBC,这些在公司内部都有一定的使用量的,不过个人想看看其他方案,简单做了一下调研,有几个备选: 1.GreenPlum ,开源,支持 OLTP 和 OLAP ,分布式数据库, 2.TiDB,公司其他项目有使用,据说对磁盘有一定的要求。 3.Oceanbase ,开源 不知道各位有没有相关的建议和使用经验。

18822 次点击
所在节点    数据库
146 条回复
test817
2024 年 1 月 12 日
clickhouse 一票,不过 doris 好像更好..但是没用过
gejigeji
2024 年 1 月 12 日
为啥不分表或分区?
tyler1128
2024 年 1 月 12 日
投 PG 一票 单表一亿 索引做好 问题不大 实在不行做个分区表
硬盘的话使用 ssd 内存给大点 性能还是很不错的 不是以前机械硬盘的时代了
RangerWolf
2024 年 1 月 12 日
@15342 只能做到最终一致性,不过延时一般不是很大。
就是自己写个脚本,把数据从 MySQL 导入 Clickhouse 里面,也不是很难写
BQsummer
2024 年 1 月 12 日
v 站数据库水平...
luobingit
2024 年 1 月 12 日
@weijancc 单表 20G 左右
noparking188
2024 年 1 月 12 日
nothingistrue
2024 年 1 月 12 日
@huangzhe8263 #96
@noparking188 #107
你要真是程序员,不应该不懂「 Mysql 兼容」是什么意思。
liuhan907
2024 年 1 月 12 日
@nothingistrue
我想问一下,MySQL 是个 C++ 开发的数据库,那请问 TiDB 在什么地方有 C++ 代码呢?
你不会想说 TiFlash 吧?
huangzhe8263
2024 年 1 月 12 日
@nothingistrue 你自己去看看两边的代码,都是完全开源的,懒得说了
ManjusakaL
2024 年 1 月 12 日
@nothingistrue TiDB 也只是做了 MYSQL 大部分协议兼容,但是有很多 MySQL 东西因为无法引用 MySQL 的 codebase ( License 问题),导致也没法做到 100%兼容 https://docs.pingcap.com/zh/tidb/stable/mysql-compatibility

而且你自己给的 wiki 你自己都不会看的吗?页面里的原文

> 对于应用程序来说,TiDB 的行为就如同一个 MySQL 5.7 服务器。用户可以继续使用所有现有的 MySQL 客户端库。因为 TiDB 的 SQL 处理层是从头开始构建的,而不是一个 MySQL 分支,所以它的兼容性不是 100%,[9]而且 MySQL 和 TiDB 之间存在已知的行为差异
ManjusakaL
2024 年 1 月 12 日
@nothingistrue

> 你要真是程序员,不应该不懂「 Mysql 兼容」是什么意思。

https://github.com/pingcap/tidb/tree/master/pkg/parser

https://github.com/pingcap/tidb/tree/master/pkg/planner

https://github.com/pingcap/tidb/tree/master/pkg/expression

要是是程序员,大家直接点,直接拿着代码出来指出来哪些是引用 MySQL codebase 就行了。反正根据我们数百 T 数据规模的集群用了几年下来以及我自己做 TiDB 的一些经验(非 PingCAP 的人),Parser ,Planner ,Analyzer ,Storage ,TiDB 和 MySQL 都是完全不一样的路线

你要真是程序员,就别搞莫须有了
KJR5OR04CnCiWf02
2024 年 1 月 12 日
@afeiche 啥项目,我带学生一起做过,一起搞一搞啊! dnggY2hlbnhvZmhpdA== ( base64 )
keshawnvan
2024 年 1 月 12 日
建议试试 PolarDB ,亿级数据的 OLTP 需求承接很简单。如果有复杂查询需求,加一个列存节点就行了,对 OLAP 场景支持的也不错。
kkstart
2024 年 1 月 12 日
@afeiche 上亿数据,MySQL 很轻松。。
@RangerWolf MySQL 从表做分析统计
dzdh
2024 年 1 月 12 日
cockroachdb
postgresql
Rorysky
2024 年 1 月 12 日
大道至简, 选 sqlite
dorothyREN
2024 年 1 月 12 日
@liprais yugabyte 可以试试, 分布式的 pg ,类似 tidb
Hozzz
2024 年 1 月 12 日
上面不懂装懂的人太多了,先问问楼主要不要支持事务;
不要,推荐 doris/starrocks 之类 OLAP 数据库,用主键模型,查询速度碾压 ck (特别是多表聚合查询);
要,没钱 tidb 社区版(加个 tiflash ,htap );有钱 oceanbase (别用社区版,BUG 多);
Sharding-JDBC/proxy/mycat 这种早点丢了,没必要弄多个组件折腾自己
hw191
2024 年 1 月 12 日
@KAKARTTO #5 够用,我们有几个表有 10 亿行,不过查起来是有点慢就是了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1007852

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX