使用场景如下:
1,总计大约 1000 万条 record,不超过 2000 万条,新增的量很少,主要是查询,少部分需要排序,查询也主要是两类,一类是对于某个整形型字段查询,一类是对某个 hash 字段查询。
2,单条 record 由 8 个字段组成,其中包含有长度不固定的字段,比如 url 地址。
3,具体实现使用 C#,如果手动写 DataTable,会以 JSON 或者 XML 方式保存为文件;如果采用数据库,先考虑 access。对于 Access 能否做到 in-memory 不熟悉,可能需要 google 或 so。
4,没有并发方面的需求,单用户单机版使用,主要是方便检索。
请各位有过这方面经验的大佬指点,谢谢。
1
gaayyy OP 忘记说了,没有并发,但是查询会非常频繁,后续会使用脚本自动运行,不停的查询。
|
2
owenliang 2018-01-06 22:13:16 +08:00 via Android
sqlite 是第一个想法
|
3
fiht 2018-01-06 22:20:08 +08:00
第一反应是要存 IP 的地理位置信息。
像我这种菜鸡一般是直接上 Redis 或者 MongoDB 或者 MySQL,做好索引都没问题,查询频繁和并发应该是两个概念。脚本自动运行的话 一分钟一次的话怎么着也够用了。还是别手撸了,用现成的轮子比较好 |
4
swulling 2018-01-06 22:30:34 +08:00
sqlite in memory,每次启动的时候从硬盘加载一遍,然后定期同步到硬盘就好了
|
5
winglight2016 2018-01-06 22:36:21 +08:00
redis
|
6
zhx1991 2018-01-06 22:41:26 +08:00
如果查询能够满足的话, redis
|
7
jpmorn 2018-01-06 22:47:15 +08:00
估算
1000 万就是 10M 一条 1k 就是 10G 放内存都可以啊。。。 |
8
beginor 2018-01-07 14:37:32 +08:00 via Android
建议使用 sqlite,自带 inmemory mode,再做好索引,妥妥的!
|
9
workwonder 2018-01-07 15:56:13 +08:00 via Android
sqlite 就是专为这种场景设计的吧
|