什么是kv数据库

什么是kv数据库,第1张

kv数据是指Key-value数据库,是一种以键值对存储数据的一种数据库,类似java中的map。可以将整个数据库理解为一个大的map,每个键都会对应一个唯一的值。

key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询。

如果辅以实时搜索引擎进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数 量的目的。以MemcacheDB、Tokyo Tyrant为代表的key-value分布式存储,在上万并发连接下,轻松地完成高速查询。

扩展资料:

数据库的安全直接关系到整个数据库系统的安全,其防护手段主要有以下八点:

1、使用正版数据库管理系统并及时安装相关补丁。

2、做好用户账户管理,禁用默认超级管理员账户或者为超级管理员账户设置复杂密码;为应用程序分别分配专用账户进行访问;设置用户登录时间及登录失败次数限制, 防止暴力破解用户密码。

3、分配用户访问权限时,坚持最小权限分配原则,并限制用户只能访问特定数据库,不能同时访问其他数据库。

4、修改数据库默认访问端口,使用防火墙屏蔽掉对 外开放的其他端口,禁止一切外部的端口探测行为。

5、对数据库内存储的重要数据、敏感数据进行加密存储,防止数据库备份或数据文件被盗而造成数据泄露。

6、设置好数据库的备份策略,保证数据库被破坏后能迅速恢复。

7、对数据库内的系统存储过程进行合理管理,禁用掉不必要的存储过程,防止利用存储过程进行数据库探测与攻击。

8、启用数据库审核功能,对数据库进行全面的事件跟踪和日志记录。

参考资料来源:

百度百科-Key-Value

百度百科-数据库

功能支持

使用说明

快速上手

重打开或创建一个数据库

注册当TTL超时删除事件通知

插入一条记录,(当重复Put同key时 *** 作等同于更新内容 *** 作)

设置一条已存在记录并8秒后超时自动删除

删除一条记录

性能

插入队列压力测试

300,0005865ns/op516B/op9allocs/op

取出队列压力测试

200,00014379ns/op1119B/op20allocs/op

KET VALUE 集合 *** 作

import

重打开或创建一个数据库

注册当TTL超时删除事件通知

插入一条记录,(当重复Put同key时 *** 作等同于更新内容 *** 作)

插入一条记录并设置3秒后超时自动删除

设置一条已存在记录并8秒后超时自动删除

删除一条记录

*** 量 *** 作(事务) Op为put时 *** 作插入或更新,Op为del时 *** 作删除

指定key取一条记录

返回全库的Key数据

返回所有K,V数据

按key开始位返回后续所有数据

以时间范围查询数据示例

匹配正则表达式为开头的数据

struct对象的相关 *** 作

指定key取一条记录

返回所有记录

按key开始过滤返回

按key范围取数据

插入一条记录struct对象以json保存

指定key取一条记录

返回所有记录

MIX 设计是基于原KV库只有单维度存储方式,从而缺失了二维度的存储方式,所以MIX式库被设计出来

写入 raw

取出一个

查询指定表的字段是否存在

以raw读出表数据

写入及取出object

删除指定表的指定字段

删除整个表所有数据

##创建支持分组的kvdb

写入数据到分组

删除分组

消息队列 (FIFO)[先进先出]原则

import

重打开或创建一个队列数据库

推一个字符串到队列中

推一个对象到队列中

推一个bytes切片到队列中

推一批bytes切片到队列中

取出一条记录,取出成功后记录会被删除

提取一条记录,但不删除原记录

根据偏移量提取记录

更新一个队列原记录bytes类型

更新一个队列原记录字符串类型

更新一个队列原记录对象类型

import

重打开或创建一个分组队列数据库

以对象存储到队列中

以切片存储到队列中

删除指定分组

性能指标

开源地址:https://github.com/jacoblai/yiyidb

wiki地址:https://github.com/jacoblai/yiyidb/wiki


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6660385.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存