有老哥搞过国产化数据库吗 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
a1oyss0925
V2EX    程序员

有老哥搞过国产化数据库吗

  •  
  •   a1oyss0925 2024-08-12 18:23:42 +08:00 3567 次点击
    这是一个创建于 423 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前有个项目要给单位私有化,项目技术栈是 springboot+mysql+redis ,单位那边主要是数据库选型是海量数据库,redis 和服务器倒是没啥问题。

    网上查了下发现这数据库是基于 postgres 的,问题是这玩意完全没用过,问老哥们几个问题:

    1. 之前服务是 mysql ,数据源也就只有一个,有必要创建多个 schema 吗,还是创建数据库只用 public 就行了。
    2. 创建用户啥的流程不是很了解,看网上教程就是先创建用户,再创建数据库并且设置 owner ,但是我设置好之后发现没有权限写入数据,大伙平常使用都是怎么使用的
    3. 还有就是 mysql 到 postgres 怎么做数据迁移啊
    17 条回复    2024-08-14 09:37:02 +08:00
    yingha
        1
    yingha  
       2024-08-12 20:18:27 +08:00   1
    直接问厂家,他们会把你伺候的服服帖帖
    boshok
        2
    boshok  
       2024-08-12 20:53:42 +08:00   1
    上周刚联系过海量的客服,非常非常奇葩的一个产品,打客服电话还无人接听,官网下载不到任何产品/组件,连驱动都下载不到。唯一解就是联系他们公司,由销售或工程师对接,工程师说:下载必须得登记公司主体和联系电话。
    hello321
        3
    hello321  
       2024-08-12 21:54:13 +08:00
    万里数据库=mysql8.0
    mark2025
        4
    mark2025  
       2024-08-12 23:00:46 +08:00
    还有就是 mysql 到 postgres 怎么做数据迁移啊
    ====
    mysql SQL 迁移要注意:GROUP BY 字段和输出字段关系。mysql GROUP BY 字段在 输出区域内可以直接输出字段,pg 则输出区域必须使用聚合函数。
    nxforce
        5
    nxforce  
       2024-08-12 23:37:01 +08:00   1
    数据库不怕国产照抄,最怕国产瞎改。。总有某些地方坑一把自己,然后网上找不到解决方法,一定需要对方工程师出马才行,必须每年交维保费。
    Nicklove
        6
    Nicklove  
       2024-08-13 08:59:02 +08:00
    @boshok 国产数据库、中间件等的特色,官网啥都下不到
    dododada
        7
    dododada  
       2024-08-13 09:48:38 +08:00
    搞过昆仑 db ,pg 和 mysql 的混合体,其实就是命令适配。然后我们做插件开发适配,搞了很久都不行,后来发现有个函数,只有函数名,没有实现。。。,神奇的是,加了 hook 绕过去之后,居然能跑
    ixx
        8
    ixx  
       2024-08-13 09:53:17 +08:00   1
    “海量”是名字啊,我以为是数据级别
    a1oyss0925
        9
    a1oyss0925  
    OP
       2024-08-13 09:58:48 +08:00
    @yingha 我试试

    @boshok 还好是有驱动,在 mvnrepository 上能找到,而且我看官网是适配 postgres 的驱动的,甚至于连上数据库服务器直接使用 psql 都能进(海量自己的叫 vsql )

    @mark2025 目前项目基本没写 sql ,用的 mp ,底层应该会做适配吧
    CloudnuY
        10
    CloudnuY  
       2024-08-13 10:01:07 +08:00
    @joyhub2140 适配过好几个品牌的国产数据库,某仓 V8 魔改了好几个地方,全都踩坑了
    zdl0929
        11
    zdl0929  
       2024-08-13 10:03:06 +08:00   1
    还有就是 mysql 到 postgres 怎么做数据迁移啊
    ---
    刚好做了一些探索,可以参考下:
    由于 mysql 导出的导出 sql 类型的数据,sql 中表名和字段名的表示方式不同,不推荐 sql 文件形式导入。

    1. 导出 csv 数据
    select * from a into outfile "a.csv" character set utf8 fields terminated by ',' optionally enclosed by '"' lines terminated by '\r\n';

    2. 修改字段名的,使用文本编辑器打开文件,修改文件中的字段名

    3. 导入 csv 数据
    copy a from 'a.csv' DELIMITER ',' CSV;

    另外需要注意下:csv 导入数据会丢失空字符串,变为 null ,可能引起业务代码空指针异常,自行处理。例如:可以提前将空字符替换为特定字符,导入后替换回去。

    当然步骤略麻烦,最终我们是做了个迁移程序,思路其实类似上面,只是载体不是 CSV 直接通过程序,麻烦的其实是第二步,要做各种映射、转换、兼容。
    a1oyss0925
        12
    a1oyss0925  
    OP
       2024-08-13 10:09:06 +08:00
    @zdl0929 上午研究了下,用 pgloader 迁移到自己本地数据库了
    datafeng
        13
    datafeng  
       2024-08-13 10:36:48 +08:00
    如果代码里面大量编码了 sql ,迁移起来工作量不小吧。。
    hekkowoerld
        14
    hekkowoerld  
       2024-08-13 11:48:36 +08:00
    @boshok 提前登记好,出了问题,拿你们灭口
    CheckMySoul
        15
    CheckMySoul  
       2024-08-13 14:02:52 +08:00
    海量有自己的迁移工具 mysql-->海量库,兼容的话要么用海量提供的驱动(类似使用 pgsql ),要么可以让海量开 mysql 兼容模式,有个 3307 端口可以连,连进去显示 mysql 5.7
    a7851578
        16
    a7851578  
       2024-08-13 15:26:48 +08:00
    为啥要跨数据库产品迁移呢? mysql 创业公司也有几家的
    9dP06m83vIV00l72
        17
    9dP06m83vIV00l72  
       2024-08-14 09:37:02 +08:00
    好几波用户提交需求期望袋鼠支持国产数据库系统,基于用户量和付费前景考虑暂时未支持;

    袋鼠数据库工具 已经支持 不同数据库 Schema 转译,比如从 SQLite <--> MySQL <--> PostgreSQL <--> SQL Server <--> MariaDB 。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5223 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 05:48 PVG 13:48 LAX 22:48 JFK 01:48
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86