Is your feature request related to a problem? Please describe.
仅使用postgresql数据库,仅仅为了存储Nacos的配置信息,而再加入mysql数据库。
Describe the solution you'd like
修改需涉及跟涉及跟数据源及CRUD操作相关的类,并增加nacos-postgres.sql数据库脚本。
思路1:直接修改BasicDataSourceServiceImpl,根据url,自动判断是mysql或postgresql数据库;
思路2:增加一个新类,实现DataSourceService接口;并修改DynamicDataSource的getDataSource方法。
都需要涉及sql的兼容性修改、测试。
建议:
1、postgresql没有read-only模式,checkMasterWritable直接返回true;
2、postgresql10之后,直接支持generated by default as identity类型,暂时只支持10之后的版本;
3、derby数据库的schema.sql比nacos-mysql.sql多了几张app打头的表,暂时还不知道这几张表的作用?
4、将dbcp换成HikariCP或者Druid连接池?
Describe alternatives you've considered
是否还需要支持其他数据库,譬如:oracle?
Additional context
目前只是初步想法,欢迎大家提出建议。
@qdlake 👍 我觉得拓展存储是个好建议,现在的确有几个用户是有反应想用oracle。
@TsingLiang @yanlinly @xuechaos 是否还需要增加一个类似于com.alibaba.nacos.naming.healthcheck.MysqlHealthCheckProcessor的健康检测处理器类?
Multiple storage will certainly be supported later.
We will discuss it later.
希望能添加PostgreSQL数据库支持
希望数据库连接池换成HikariCP,该数据库连接池较druid更轻量级;
@TsingLiang Any update after half year?Thanks.
@xuzhenen 建议抽象 DB 层接口方式提供更方便扩展,源码写死 mysql 不可取
或许需要维护多种数据库的sql语句(某些sql语句涉及了数据库的方言),目前正在考虑直接将sql拎出代码层,使用mybatis进行多数据库支持
@chuntaojun 抽象一层然后 orm 层可以插件化,默认一种实现可以考虑下 https://github.com/baomidou/mybatis-plus 目前已支持主流数据库适配
大家使用的oracle数据库版本是多少
大家使用的oracle数据库版本是多少
普遍10g+吧
作为微服务得核心基础设施,单纯依赖mysql真的不好,希望能支持更多得数据库
希望支持更多得数据库,或者留出入口自己适配也行
我的应用目前主要还是使用postgresql,目前为了nacos单独维护了一个mysql库
支持postgresql的建议提了一两年了,很多人因为不支持其他数据库用不起来,postgresql、oracle、sqlserver这几个最流行的还是有必要支持的,不知道社区怎么计划的?
社区应该把计划提上日程
这个是什么时候,去做呢,我觉得spring boot 里面对驱动判断,它自动选择dataSoure类型,这个可以参考.
Most helpful comment
希望能添加PostgreSQL数据库支持
希望数据库连接池换成HikariCP,该数据库连接池较druid更轻量级;