大家工作中是否有用到分布式数据库 Apache ShardingSphere 呢? ShardingSphere-JDBC 还是 ShardingSphere-Proxy ,不过是用到了还是打算用都可以留言下,把你问题发出来康康
1
Masoud2023 2023-09-21 11:00:14 +08:00
这个没得选吧,Java 生态做分库分表除了这个还有更好的选择吗...
表示想用,目前在学习 |
2
Masoud2023 2023-09-21 11:00:51 +08:00
学习 JDBC ,Proxy 听着挺牛逼,但是实际工程上感觉似乎实践有点少?
|
3
mightybruce 2023-09-21 11:05:44 +08:00 1
首先这个不是分布式数据库,只是个分库分表的中间件。
第二,这个除了 proxy 以外 只能对接 java 语言 第三,这些组件出现较早,并不适合云原生。 在过个十年,这些都会被淘汰,NewSQL 比如 tidb, oceanbase, polardb 才是真正的分布式数据库,而不是依赖 mysql 的组件。 |
4
mmdsun 2023-09-21 11:06:53 +08:00
@Masoud2023
最好的选择就是不用分表分库,上云数据库或者自建 PostgreSQL 等这种分布式能力较好的数据库 |
5
Masoud2023 2023-09-21 11:13:13 +08:00
@mmdsun #4 云数据库怎么弄数据量大起来都会有性能瓶颈摆在那吧?
|
6
SoviaPhilo 2023-09-21 11:16:06 +08:00
建议不要分库分表, 使用冷热分离的思路应该更利于维护。
另外,如果你的项目要国产化, 就更不能使用分库分表了。 |
7
zjcKD OP 遇到问题欢迎来贴上上反馈和交流
|
8
zjcnb 2023-09-22 09:02:04 +08:00
sharding-JDBC 更好,适合程序员。它是否支持 Etcd 、nacos 等配置中心,如果修改了配置,只能重启应用吗?支持在配置中心修改,直接生效吗,比如某个逻辑数据源里面增减物理数据源了
|
9
Aresxue 2023-09-22 11:46:49 +08:00
ShardingSphere-JDBC 是客户端分表,一般用分库分表基本上用它的比较多(对程序员更可见也不依赖中间件),ShardingSphere-Proxy 是代理层中间件和 dbProxy 比较类似,允许定义全局表、分片表、序列这些,但如 3 楼所说这些大概率都是些中间产物,未来真正的分布式数据库会淘汰掉它们,当然从学习和实现业务的角度来说学一学倒也无妨。
ps: 很多大数据量的表的产生来自于最早的设计问题,一般适合分库分表的都是些流水表 |
10
zjcKD OP @Masoud2023 遇到问题欢迎交流哈
|