大概 1000 万条数据,是使用 in-memory 数据库好还是自己手动写一个 DataTable? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
gaayyy
V2EX    程序员

大概 1000 万条数据,是使用 in-memory 数据库好还是自己手动写一个 DataTable?

  •  
  •   gaayyy 2018-01-06 22:04:26 +08:00 3572 次点击
    这是一个创建于 2849 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用场景如下:

    1,总计大约 1000 万条 record,不超过 2000 万条,新增的量很少,主要是查询,少部分需要排序,查询也主要是两类,一类是对于某个整形型字段查询,一类是对某个 hash 字段查询。
    2,单条 record 由 8 个字段组成,其中包含有长度不固定的字段,比如 url 地址。
    3,具体实现使用 C#,如果手动写 DataTable,会以 JSON 或者 XML 方式保存为文件;如果采用数据库,先考虑 access。对于 Access 能否做到 in-memory 不熟悉,可能需要 google 或 so。
    4,没有并发方面的需求,单用户单机版使用,主要是方便检索。

    请各位有过这方面经验的大佬指点,谢谢。

    9 条回复    2018-01-07 15:56:13 +08:00
    gaayyy
        1
    gaayyy  
    OP
       2018-01-06 22:06:32 +08:00
    忘记说了,没有并发,但是查询会非常频繁,后续会使用脚本自动运行,不停的查询。
    owenliang
        2
    owenliang  
       2018-01-06 22:13:16 +08:00 via Android
    sqlite 是第一个想法
    fiht
        3
    fiht  
       2018-01-06 22:20:08 +08:00
    第一反应是要存 IP 的地理位置信息。
    像我这种菜鸡一般是直接上 Redis 或者 MongoDB 或者 MySQL,做好索引都没问题,查询频繁和并发应该是两个概念。脚本自动运行的话 一分钟一次的话怎么着也够用了。还是别手撸了,用现成的轮子比较好
    swulling
        4
    swulling  
       2018-01-06 22:30:34 +08:00
    sqlite in memory,每次启动的时候从硬盘加载一遍,然后定期同步到硬盘就好了
    winglight2016
        5
    winglight2016  
       2018-01-06 22:36:21 +08:00
    redis
    zhx1991
        6
    zhx1991  
       2018-01-06 22:41:26 +08:00
    如果查询能够满足的话, redis
    jpmorn
        7
    jpmorn  
       2018-01-06 22:47:15 +08:00
    估算

    1000 万就是 10M 一条 1k 就是 10G
    放内存都可以啊。。。
    beginor
        8
    beginor  
       2018-01-07 14:37:32 +08:00 via Android
    建议使用 sqlite,自带 inmemory mode,再做好索引,妥妥的!
    workwonder
        9
    workwonder  
       2018-01-07 15:56:13 +08:00 via Android
    sqlite 就是专为这种场景设计的吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2819 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 13:28 PVG 21:28 LAX 06:28 JFK 09:28
    Do have faith in what you're doing.
    ubao msn 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