分享嘉宾陈磊

开源数据库Pika项目PMC核心人员

整理墨天轮社区

导读

大家好,今天我分享的主题是:KV数据库,云时代的文件存储。

随着AI和机器学习等技术的发展,数据演变为了十分宝贵的资源,数据存储也是非常活跃的领域。现在踊跃出很多数据库,以及数据存储的高质量开源项目。

那么像键值数据库这样较为老牌的存储的类型 在云时代下是否还有价值,KV数据库是否会被其他的数据库替代呢?借着今天分享的机会,我想与大家讨论这个问题,同时也谈谈我对以上的思考。

注:KV数据库 即 键-值数据库(Key–value database)

有关 Pika

1、Pika简介

Pika 属于分布式NoSQL数据库,初创团队是360基础架构,于2015年开源(开源地址:https://github.com/Qihoo360/pika),并捐赠给了开放原子开源基金会。

2021年6月,Pika成为开放原子开源基金会的一个孵化项目之一,正式走向了社区自治



图1 Pika 简介

2、Pika发展过程



图2 发展过程及github上的star trend

什么是键值数据库

1、键值数据库定义

首先键值数据库可以从这三个方面来理解。

  • 键值数据库是一种非关系数据库,它使用简单的键值方法来存储数据。
  • 键值数据库将数据存储为键值对集合,其中键作为唯一标识符。键和值都可以

    是从简单对象到复杂复合对象的任何内容。
  • 键值数据库是高度可分区的,并且允许以其他类型的数据库无法实现的规模进

    行水平扩展。

如果将键值数据库的概念外扩,就变成了广义的“键值存储”的概念,比如图片存储、小文件存储、对象存储。

2、键值数据库分类

键值数据库内部分为四大类,缓存&持久化、商业&开源、有序&无序、大Value&小Value,侧面说明该领域是有需求的,每个分类中有很好的例子存在。



图3 KV数据库内部分类

键值数据库的优势

那么键值数据库和其他数据库存储相比,是否有优势呢?我将数据库存储分为了三个大类,关系数据库、NoSQL、数据存储。KV数据库属于nosql这一类。



图4 KV在数据库与存储中的位置

这里我尝试引入“递弱代偿”的理论,应用于数据库领域中,便是:越简单的系统适用场景越宽广,越复杂的系统适用场景越少

对于KV数据库而言,它的逻辑简单,解决问题更灵活,适用的场景更广;而对于专业性强的数据库(关系数据库 & NewSQL & 搜索数据库 & 图数据库 & 向量数 据库等):解决的问题更专业,适用场景更少。

1、可构建多种应用场景

接下来将从几个方面来举例分析键值数据库在理论中的应用情况。



图5 KV数据库可构建多种应用场景

KV数据库本身提供多种接口。它支持不同的如KEY-STRING、KRY-HASH、 KEY-LIST的接口,满足不同场景的需求。

比如KEY-STRING的接口应用于搜索推荐、机器学习;;KRY-HASH 接口应用于比较复杂的业务场景,比如用户信息、好友推荐、对象存储元数据; KEY-LIST构建一个简单且高效的消息中间件,使应用程序能够很容易的进行异步的扩展,也可以打造一个分布式的任务系统。

基于KV数据库可以做简单的编程,用户可以通过简单的编程来适配他的业务。

2、可构建其它数据库和基础软件

目前很多的基础设施和数据库,是基于KV数据库来构建的,比如关系数据库,向量数据库,图数据库,流数据库,分析数据库,消息队列。

因此kV数据库的生存能力与价值是很大的,可以是构建其他数据库的基础。



图6 可基于KV数据库构建其它数据库和基础软件

KV数据库,云时代下的文件存储

通过刚才的例子,可能有朋友会认为,KV数据库就等于通用文件存储,它们是否是一样的呢?

这里我从解决问题、使用场景、开发效率、开发难度、云支持五个角度对两者做了比较。



图7 通用文件存储 VS KV存储

在云的时代下,大家在存储数据的过程中已经抛弃掉了文件存储的使用工具,开始通过数据库解决。数据库的分类众多,如何满足不同用户不限的需求与特定的场景?

在这样的背景下,可以通过KV数据库或者KV存储来解决用户在自定义的一些逻辑,从而满足他们的场景。

在未来的云上中,除了特定的场景以外,KV数据库便是除特定场景以外的补充,所以我认为KV在未来的云上中非常有前景。因此我们要解决的问题就是:如何通过KV数据库更好地满足开发者的开发效率、开发成本、使用成本的问题

以上就是我的分享。感谢聆听

更多精彩内容,欢迎大家观看现场视频回放与会议资料

视频回放:https://www.modb.pro/video/6183

会议资料:https://www.modb.pro/doc/58204


墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。

关注官方公众号: 墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯

墨天轮访谈 | Pika数据库陈磊:云时代下,键值数据库是否会被替代?的更多相关文章

  1. MySQL数据库的优化(下)MySQL数据库的高可用架构方案

    MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQ ...

  2. SAP 2019 TechEd Key Note解读:云时代下SAP从业人员如何做二次开发?

    刚刚过去的在巴塞罗那举行的2019 SAP TechEd,SAP照例向全球广大的SAP生态圈从业者们传达了一些重要的信息,其中一条为:Building Extensions for the Intel ...

  3. 备份、恢复数据库(Dos命令提示符下)_数据库安装工具_连载_1

    Dos命令提示符下: 备份.恢复数据库,是不是很简单啊,是的,当你20年不碰MS SQL,是不是又忘记了呢,答案也许也是吧,^_^虽然在程序中执行SQL代码时,很讨厌那个Go,正如MySQL中那个分号 ...

  4. Java -- JDBC 获取数据库自动 生成的主键值

    public class Demo4 { /* create table test1 ( id int primary key auto_increment, name varchar(20) ); ...

  5. 浅谈Redis数据库的键值设计(转)

    丰富的数据结构使得redis的设计非常的有趣.不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与.redis的DBA需要熟悉 ...

  6. 浅谈REDIS数据库的键值设计(转)

    add by zhj: 关系数据库表的一条记录可以映射成Redis中的一个hash类型,其实数据库记录本来就是键值对.这样,要比本文中的键设计用更少的键,更节省内存,因为每个键除了它的键值占用内存外, ...

  7. key-value键值型数据库:Redis

    key-value键值型数据库:Redis redis Redis是in-memory型(内存型)的键值数据库,数据在磁盘上是持久的,键类型是字符串,值类型是字符串.字符串集合(Set).sorted ...

  8. Redis源码解析:09redis数据库实现(键值对操作、键超时功能、键空间通知)

    本章对Redis服务器的数据库实现进行介绍,说明Redis数据库相关操作的实现,包括数据库中键值对的添加.删除.查看.更新等操作的实现:客户端切换数据库的实现:键超时相关功能的实现.键空间事件通知等. ...

  9. ZeroMQ:云时代极速消息通信库

    ZeroMQ:云时代极速消息通信库(大规模|可扩展|低成本|高效率解决之道,大规模分布式|多线程应用程序|消息传递架构构建利器) [美]Pieter Hintjens(皮特.亨特金斯)著   卢涛 李 ...

  10. OneAPM:打造云时代的应用性能管控平台

    在2015年大连市CIO信息化年会的现场,记者与OneAPM东北区总经理佟维针对云时代的企业系统应用性能的管理控制进行了简短交流.北京蓝海讯通科技股份有限公司,即OneAPM是中国基础软件领域的新兴领 ...

随机推荐

  1. 5、Git之版本号

    5.1.概述 每一次提交,Git 都会生成相关的版本号:每个版本号由 40 位 16 进制的数字组成. 这 40 位 16 进制的数字,是根据提交的内容,通过 SHA-1 算法计算出来的. 版本号具体 ...

  2. 【Java】java.util.ConcurrentModificationException

    异常提示信息: java.util.ConcurrentModificationException at java.util.LinkedHashMap$LinkedHashIterator.next ...

  3. 【IDEA】找不到类资源

    报错问题描述: 找不到这个实例调用的方法或者方法缺失重载 找不到这个声明的类资源 解决情况一 import声明缺失,IDEA智能导包提示可以解决 注意,如果存在了重名的类资源,导入了错误的资源,实例引 ...

  4. 【Ubuntu】下载安装 20.04.版本 桌面端

    下载 Download 这次的是直接在界面上下载的,我都不知道为什么怎么点到之前的版本去了 12.04.5远古版本界面怪难看的... [下载地址:点我访问] https://cn.ubuntu.com ...

  5. conda/anconda报错:WARNING conda.models.version:get_matcher(556): Using .* with relational operat

    conda/anconda报错:WARNING conda.models.version:get_matcher(556): Using .* with relational operat 解决方法, ...

  6. [COCI 2023/2024 #2] Zatopljenje 题解

    UPDATE on 2024.4.25 改掉奇怪压行码风,并稍作排版. 前言 题目链接:洛谷. 题目分析 首先发现区间中的个数等于 \(\texttt{高度大于 x 的位置的个数} - \texttt ...

  7. CRC算法原理、推导及实现

    CRC, Cyclic Redundancy Check, 循环冗余校验 1. 基本原理 CRC的本质是除法,把待检验的数据当作一个很大(很长)的被除数,两边选定一个除数(有的文献叫poly),最后得 ...

  8. Notepad++作死,国产文本编辑器Notepad--发布

    作死的Notepad++ Notepad 和 Notepad++ 都是基于 Windows 的文本编辑器,通常用于编写和编辑纯文本文件. 这两个应用程序都是简单的轻量级程序,提供基本的文本编辑功能. ...

  9. 在 Mac 上使用 X11

    有时我们需要在服务器上运行一个 GUI 程序,然而我们是通过 SSH 连接到服务器的,看不到图形界面,怎么办呢?我们可以通过 X11 将 GUI 程序的界面转发到本地. 在 Mac 上使用 X11 需 ...

  10. win11(含win10)自带的一键镜像备份与还原方法

    winxp和win7时代小伙伴们备份或恢复系统时大都采用类似一键ghost类的软件制作系统盘的映像,当遇到故障时再恢复,但win10和win11其实自带有这种映像制作和还原功能,我们就再也不需要额外安 ...