V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cookii
V2EX  ›  Java

打算做一个 Docker 应用,用 Java 写,数据存储选型求有经验的大佬分析。

  •  
  •   cookii · 2025 年 6 月 27 日 · 2876 次点击
    这是一个创建于 203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    面向普通人,不考虑把程序做复杂化,考虑用嵌入式数据库,比如 H2 ,开箱即用,一个镜像即可搞定。

    主要是用来储存用户的一些配置信息,还有程序的运行日志(日志可能会到 100k/day 级别),定期清理日志(90day/180day?)

    目前有几个疑问:

    • H2 用在这种场景下会不会容易出问题?比如容器异常退出、掉电啥的会导致文件损坏、打不开之类的?
    • 有没有别的更稳妥的嵌入式方案推荐?

    目标是让程序尽可能的可靠,可以容忍日志丢失之类的情况,但程序至少需要正常运行。

    19 条回复    2025-06-28 21:51:00 +08:00
    FrankFang128
        1
    FrankFang128  
       2025 年 6 月 27 日
    Java 怎么会不复杂化?
    cookii
        2
    cookii  
    OP
       2025 年 6 月 27 日
    @FrankFang128 不是指程序和语言本身的复杂性,而是部署和使用起来不要复杂。
    LazyYum
        3
    LazyYum  
       2025 年 6 月 27 日
    只要写的 java 程序没 bug ,不会不稳定。 问题是数据不持久化吗?如果不需要持久化数据,只需要考虑内存够不够用就行
    Vraw5
        4
    Vraw5  
       2025 年 6 月 27 日
    配置信息存个 yaml 不行嘛,这样还能挂载出来手动改配置文件,如果只是给程序用也可以用 sqlite 。
    日志直接前台展示就行了,怎么清理是 docker 的事儿
    cookii
        5
    cookii  
    OP
       2025 年 6 月 27 日
    @LazyYum 要考虑到断电的情况,是需要持久化的。
    cookii
        6
    cookii  
    OP
       2025 年 6 月 27 日
    @Vraw5 准确的说要记录,而不是程序日志,需要做汇总统计,然后 web 展示的。
    LazyYum
        7
    LazyYum  
       2025 年 6 月 27 日
    不用担心,成熟的数据库不会有这 bug 。
    Vraw5
        8
    Vraw5  
       2025 年 6 月 27 日
    @cookii #6 审计数据?
    yinxs2003
        9
    yinxs2003  
       2025 年 6 月 27 日
    不清楚为啥不用 Sqlite ,我 python 用 sqlite 感觉挺稳定的,语法也简单
    yinxs2003
        10
    yinxs2003  
       2025 年 6 月 27 日
    顺便,我对 Java 写的 H2 这种数据库印象不太好,说不出来为啥
    cookii
        11
    cookii  
    OP
       2025 年 6 月 27 日
    @yinxs2003 #9 sqlite 也可以,也在考虑之中。
    qclown
        12
    qclown  
       2025 年 6 月 27 日
    无脑 sqllite 完事,数据库文件直接放容器里,或者映射到宿主机上(下次还能复用)。
    ala2008
        13
    ala2008  
       2025 年 6 月 27 日
    数据要映射出来,或者数据库单独部署
    ca2oh4
        14
    ca2oh4  
       2025 年 6 月 27 日
    不懂就问 docker 应用是什么东西
    flmn
        15
    flmn  
       2025 年 6 月 27 日
    数据库就用 SQLite 吧,久经考验了。
    duzhuo
        16
    duzhuo  
       2025 年 6 月 27 日
    我觉得你得先写出来再考虑容器化的事,直接 sqlite 映射出来完事
    cookii
        17
    cookii  
    OP
       2025 年 6 月 27 日 via Android
    @duzhuo 准备用 quarkus 做,肯定是交付镜像的
    julyclyde
        18
    julyclyde  
       2025 年 6 月 28 日
    为啥会在业务设计都还没做的情况下,就先定性为 docker 应用?
    感觉和上海人只要一看到坏事就先定性为外地人类似情况啊,你的注意力都没在最重要的方向上
    wukairobin
        19
    wukairobin  
       2025 年 6 月 28 日
    为了 docker 而 docker
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2727 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 05:31 · PVG 13:31 · LAX 21:31 · JFK 00:31
    ♥ Do have faith in what you're doing.