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

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

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

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

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

  • 相关阅读:
    面向对象(OOP:Objdec Oriented Programming)
    vue中v-model和v-bind区别
    DateTimeFormat
    html中frameset简介
    学习及资料地址
    mybatis+oracle批量新增带序列List对象
    Io流读取并输出文件(例如.mp3格式文件)
    Java从服务器下载图片保存到本地
    转:Java DecimalFormat的主要功能及使用方法
    数据库事务隔离级别-- 脏读、幻读、不可重复读(清晰解释)
  • 原文地址:https://www.cnblogs.com/jinyu20180311/p/10386272.html
Copyright © 2011-2022 走看看