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

2024 年 1 月 11 日
 afeiche

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

18825 次点击
所在节点    数据库
146 条回复
nothingistrue
2024 年 1 月 12 日
@ManjusakaL #111 你要觉得照着别人的代码,用其他语言另写一套不算二开,你高兴就好。
Hozzz
2024 年 1 月 12 日
@nothingistrue 太典了,哥,真的;头一次看到拿源码贴脸上还在说 tidb 二开 mysql 的人,hhhhh
有空建议去读下 tidb 的优化器 和 mysql 优化器源码,不丢人
mysterycai
2024 年 1 月 12 日
@nothingistrue 知道为啥好多人反驳你,而且没有人帮你说话吗? 多研究研究再来对线比较好。如果说 tidb 是直译 mysql 代码,那没得说。关键是 tidb 只是兼容了 MySQL 协议而已,懂吗
zoharSoul
2024 年 1 月 12 日
才上亿, mysql 轻轻松松
mayerer
2024 年 1 月 12 日
@kuituosi #19 全面全能
Exception615
2024 年 1 月 12 日
Doris 投一票
ManjusakaL
2024 年 1 月 12 日
@nothingistrue DB 最关键的 planner ,优化器,存储之类的都是完全独立的路线了,还搁这“照着别人的代码,用其他语言另写一套”呢。笑死了
rrdssb
2024 年 1 月 12 日
@q11391 doris 你们是怎么解决高并发统计分析类查询的,不是点查哦
nothingistrue
2024 年 1 月 12 日
@Hozzz #122 第一,二开不丢人。第二,二开不是抄袭,就是要在基础上做修改的,而多次修改之后共同的痕迹会越来越少,这时候不能再用源代码对比来做反证。

@mysterycai #123 第一,请溯源看看我的第一个回复,那只是在对回答楼主。第二,就按对线算吧,在二开这一点上,利益无关、没目的、不求认同、闲着无事随性恢复,这是立于不败位置的(你们要是揪着「二阶段提交效果存疑」这一点,或者后面的 Oceanbase 来对线,那还有赢的可能)。


最后跟所有拿源码说事的人来个总回复:
一,完全屏蔽原软件的代码、文档即其他任何开发资料,只靠其对外演示功能做开发,这是静室开发。
二、在许可或者不许可的情况下,在原软件的开发资料基础上做开发,是二次开发。
三、遵循开源协议,在源代码的基础上拉分支直接做开发,这也是二次开发,不过会将其更精确的叫做开源项目分叉。
四、当你再说 Mysql 兼容的时候,别说重头开发,就是静室开发一个跟 Mysql 兼容的数据库,好好想想这个难度有多大,再好好想想就算难度能克服,那跟「照着 Mysql 画瓢( Mysql 又允许你画瓢)」相比是否又有必要。
五、二次开发不丢人,二次开发了还不承认就丢人了,这相当于牛顿说自己是自立而不是站在巨人肩膀上的。
q11391
2024 年 1 月 12 日
@rrdssb 高并发的统计分析,这个应该需要 Kylin 或者 druid 吧?按楼主的情况 mysql 当事务数据库用,doris 当简单的数仓做数分用,没问题的
mightybruce
2024 年 1 月 12 日
@nothingistrue 有点搞笑,那么多人都说了, 你怎么还这么头铁。tidb 是 newsql , 其设计是在 google spanner F1 论文的实现 来对关系事务做支持。
tidb mysql 兼容的 mysql 传输的协议 和 sql 语法,而不是什么二开。
另外 tidb 设计理念就和 mysql 没有关系,
存储引擎层用 rust 写的 tikv, TiKV 的 KV 存储模型和 SQL 中的 Table 无关
查询层则是用 golang 写的。
Hozzz
2024 年 1 月 12 日
@nothingistrue 那你拿出二开的证据啊,说了一大堆理论,证据在哪,别扯大道理;兼容很难?只要表现一样,底层实现可以完全不同;照你神逻辑,ob 企业版也是 oracle 二开的咯?
Hozzz
2024 年 1 月 12 日
@nothingistrue 你以为国产数据库啥都是 opengauss 那样,拿个 pg 源代码不停改改改?
MuSeCanYang
2024 年 1 月 12 日
sql server 一亿跟闹着玩似的。
flmn
2024 年 1 月 12 日
查询不复杂的话,mysql 或者 pg 能够应付了,上 ssd 盘
lenmore
2024 年 1 月 12 日
推荐 Oceanbase ,4.2 版本,运维能力强的就用社区版,完全够用了。
对 MySQL 协议的兼容、运维工具等都比 TiDB 好。配置要求也不恐怖,对比 TiDB 友好很多。
liuhan907
2024 年 1 月 12 日
@nothingistrue
第一次见到源码贴脸还这么嘴硬的。那我再给贴脸一下,MySQL 这个单机数据库是要如何照抄一个分布式存储和事务的 TiDB 出来?你可别给我说 X-A 协议,笑掉大牙的事情。
sxyclint
2024 年 1 月 12 日
区区过亿,连表都不用分,我们在客户环境,pg 单表 5 个亿,加上索引,一点问题都没有
nothingistrue
2024 年 1 月 12 日
@Hozzz #132 你要真对薄公堂的话那我就废功夫去找证据。现在这种场景,就当我阴谋论吧,没必要再浪费功夫了,这根楼主的主题已经偏好远了。

@liuhan907 #137 你赢了。

@mightybruce #131 你的第一句话不予评论。后面的是到现在那么多对话中唯一的干货。
sngxx
2024 年 1 月 12 日
预估一下数据量,mysql 或 mysql+分库分表就可以了。简单的查询和统计,走从库够用吧。
TiDB 聊胜于无的东西。
大规模数据,比如有几十张表要联合分析你再上 clickhouse ,用 canal 工具把数据同步到 kafka 再到 clickhouse 。

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

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

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

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

© 2021 V2EX