zoukankan      html  css  js  c++  java
  • c#聊聊文件数据库kv

    现在有很多KV嵌入式存储,或者已经增加的。leveldb,RaptorDB等,都是相对比较好的存储。基本存储,一般配置。大概在6w/s左右。当然还有缓存等设置问题。这些基本是字符串和int的存储,对于我们需要KV的数据,也差不多了。当然字符串最多。具有一定的随机访问性。

    另外再说一款KV数据库stsddb,我就不帮它打广告了。官方吹的不亦乐乎,但是性能其实没有那么高,为什么测试很不错,因为内存啊,它的内存使用也较高。内部有2级缓存。我都不多说了,自己喜欢就了解吧,除去这部分,在存储方面它的确也是不错的。20w/s左右还是有的,所以它还是不错的。但是它的弊端是不能多线程。按照官网测试查询,是一个线程中,直接添加顺序测试,然后再读取。这说明什么?说明不能使用多线程,不能多线程读取,不能随机访问。

     每个nosql都有自己的场景,stssb可惜很狭窄。很高的存储,很高的顺序读取。除此以外都不可以,并且是单线程,里面有很多锁。最近我想了多种办法解决多线程读写,可惜失败了。

     主要思路是多文件,数据采用负载均衡的类似处理。修改代码创建只读等待,都还是无法实现很高的读取,可能还是数据结构的问题。因此该数据库就我自己遇到的,只适合复盘。将数据存储,不会再程序中同时查询。当需要的时候,只会顺序读取(很高),这样的环境适合,效率很高。我简单了解了下程序,里面的锁太多,读取文件,写文件混合的,没有向level一样通过参数创建只读。

  • 相关阅读:
    JavaScript 多个空格替换成1个空格
    「DIARY」NOI2021 小结
    kubernetes常用命令总结
    Qt绘图(使用QPainter)翻转图像的两种方法
    android 11 R framework 新特证 开发备忘
    浏览器的缓存机制
    记el-tree 懒加载复选框回显的坑
    VUE根据文件流下载EXC
    西瓜视频播放器VUE
    推荐系统打散算法--权重
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/10386272.html
Copyright © 2011-2022 走看看