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

求内存关系型数据库的选型推荐

  •  
  •   cellargalaxy · 2022-09-10 23:06:26 +08:00 · 2791 次点击
    这是一个创建于 798 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近有个需求。

    1. 数据的更新和查询频率都比较高,要求查询的耗时要短。
    2. 但数据量不大,能都 load 到内存里,需要支持 SQL 查询。
    3. 希望是单独起一个服务对外提供查询,而不是嵌入型的,不想 load 到服务的本地内存里。
    4. 数据只做缓存查询用,事务,持久化什么的无所谓。

    大佬们有什么选型推荐吗。 或者能把 redis 整到支持 SQL 查询吗(谷歌了一轮没查到符合预期的)

    谢谢

    第 1 条附言  ·  2022-09-12 00:12:48 +08:00

    先结题,最后用的是mysql InnoDB😂。

    由于其中一个原则是资源节省,能不新增组件最好,加也别是资源消耗比较大的。左思右想,系统已经有在用mysql,怎么简单怎么来,先选了mysql memory试试。

    我在本地起了个mysql,写了两个死循环并发进行批量读写,数据量大约有几千条左右,全量更新。

    测试的结果是,InnoDB跟memory。InnoDB写入平均耗时80ms,memory写入耗时50ms。InnoDB跟memory读取平均耗时都说20ms左右,在10~30之间浮动。memory的索引换了hash和B+tree耗时都差不多。

    不知道是不是我数据量太少,InnoDB已经把数据都加载到内存里,导致耗时跟memory差不多。

    本来目标查询耗时是希望能压到10ms以内,~但又不是不能用~,既然耗时差不多,那还不如选InnoDB😂。

    谢谢大家

    16 条回复    2022-09-11 23:19:34 +08:00
    seers
        1
    seers  
       2022-09-10 23:08:02 +08:00
    sqlite memory database
    cowman
        2
    cowman  
       2022-09-10 23:09:03 +08:00 via iPhone   ❤️ 1
    timesten
    justanetizen
        3
    justanetizen  
       2022-09-10 23:10:20 +08:00
    mysql memory
    dqzcwxb
        5
    dqzcwxb  
       2022-09-10 23:41:11 +08:00
    如果又要满足 sql 又要高效,那就用 jetcache 的这种缓存框架去实现吧
    Aloento
        6
    Aloento  
       2022-09-10 23:47:29 +08:00
    可以用 PostgreSQL 改改配置,肯定没有 redis 那么快但是也很不错了
    Maxwe11
        7
    Maxwe11  
       2022-09-10 23:53:45 +08:00
    这种东西还是要看整体架构和自己的业务特征,如果不太确定,覆盖全些的话,可以考虑 ignite ,反正基本各种技术架构都能兼容,关系和 kv 的基础,驱动或接口服务也都有,要用内存或是持久化自己调参数就行
    liprais
        8
    liprais  
       2022-09-10 23:55:48 +08:00
    你不知道用啥就用 pgsql
    zhangxzh
        9
    zhangxzh  
       2022-09-11 01:02:00 +08:00
    TT
    francis59
        10
    francis59  
       2022-09-11 02:45:02 +08:00
    Apache Ignite
    xy90321
        11
    xy90321  
       2022-09-11 03:28:53 +08:00 via iPhone
    Mithril
        12
    Mithril  
       2022-09-11 03:36:40 +08:00
    SQLite 就行。
    性能足够好,同时也有各种扩展。
    甚至有人做了 OLAP 上去。。。
    0xC000009F
        13
    0xC000009F  
       2022-09-11 10:36:15 +08:00
    Juszoe
        14
    Juszoe  
       2022-09-11 13:08:10 +08:00
    mysql memory 引擎,四个需求完美符合
    mmdsun
        15
    mmdsun  
       2022-09-11 13:42:58 +08:00
    apache geode 听说 12306 用的是这个:
    https://geode.apache.org/
    update
        16
    update  
       2022-09-11 23:19:34 +08:00
    有个 redissearch
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   967 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:20 · PVG 06:20 · LAX 14:20 · JFK 17:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.