
使用场景如下:
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 就是专为这种场景设计的吧 |