三种常用的数据存储技术

数据存储技术

  • 当今最主流、最常用的数据存数技术有MySQL、SQLite、Redis,他们三者各有不同的长处,用途也不同,可以互相配合使用,对比如下
MySQL(存中心) SQLite(存本地) Redis(存缓存)
本质 数据存在独立的服务进程中,程序通过网络发命令进行读写 数据直接存储在文件中,程序可直接读写 数据存储在服务器的内存里,重启可能会丢失数据,但是读取速度很快
运行模式 客户端-服务端(C/S) C/S 直接嵌在程序内部
数据模型 表格+行 表格+行 K-V键值对存储
部署方式 需要设置账户、权限、端口等 简单,直接复制.db文件 不需要进行多用户账号的管理,只需要关注内存上限控制、内存淘汰规则、数据持久化方案
读写速度 较慢,需要网络传输与TCP握手,连接池也有损耗 快,无网络开销 快,直接在内存中进行读取
并发写入 强,支持多版本并发控制 弱,多线程写入会阻塞 强,单线程原子操作
并发读取 强 强 强
数据容量 极大 理论上极大,但是太大会影响性能 受限于内存大小
持久化 持久,且支持崩溃后修复 持久,直接写入在硬盘里 默认非持久,但可以通过方案解决
  • 主要用途:

    • MySQL:用在Web网站、账户管理等不能接收丢失的地方,不适用与数据结构简单且要求响应速度极快的场景
    • SQLite:AI agent本地记忆、手机APP数据、桌面软件等,不适用于Web这种需要高并发的场景
    • Redis:适用于缓存层、会话/登录状态存储、消息队列等,不适用于数据量大、数据丢失后果严重的场景
  • 相互配合使用案例:

    在进行agent开发时,前台agent接收到用户请求后分解任务,把不同的任务模块放在对应的专属Redis队列中,对应的Sub-agent从Redis中拿到任务后再执行任务,在执行的过程中把得到的临时结果都放在自己的SQLite中,最后由主agent进行审核,通过后将所有数据汇总并存入到MySQL中,方便用户后续的查找

相关推荐
wno7043 小时前
postgresSQL压缩版安装与基本命令
数据库·postgresql
聚美智数5 小时前
智能结构化识别-图片结构解析-图像结构化解析-照片结构化解析
android·java·数据库
瀚高PG实验室5 小时前
瀚高数据库常用系统表查询入门指南(附常用SQL)
数据库·sql·postgresql·瀚高数据库
ben9518chen5 小时前
mysql数据库基本操作
数据库·mysql
2603_965148115 小时前
电商选品调研:通过关键词搜索API获取市场热销商品,结合商品详情API分析竞品卖点与定价
开发语言·数据库·人工智能·python·信息可视化
土豆.exe6 小时前
nf_tables 的 verdict 被读了两次:一个十年未闭合的位域错配
java·数据库·网络安全·缓存
缓慢更新6 小时前
表单引擎的存储建模:宽表与文档库的取舍
运维·服务器·网络·数据库·低代码·oracle·适配器模式
Web3&Basketball8 小时前
实测Gemini4Argon:ERQA 87%登顶长程任务榜
数据库·python·大模型·多模态·gemini·长上下文·推理优化
xiaogai_gai8 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
注塑机数据采集联网8 小时前
注塑机数据采集网关对接MES系统数字化技术方案
大数据·网络·数据库·物联网·数据挖掘·数据分析