浅谈Tair缓存的三种存储引擎MDB、LDB、RDB

devtools/2024/9/22 12:06:05/

文章目录

  • 什么是Tair
  • Tair的三种引擎对比
    • 1.MDB
    • 2.LDB
    • 3.RDB


什么是Tair

Tair是阿里巴巴自主研发的高性能、分布式、可扩展、高可靠的 key/value 存储系统。
一般我们可能会认为是阿里开发的加强版Redis,支持双向数据同步,能够很好的支持缓存异地多中心,有更好的写性能等。但实际Tair不仅仅是Redis的封装那么简单。


Tair的三种引擎对比

MDBLDBRDB
产品特性Tair 1.0产品,Tair最早的一款产品,专注于内存型KV极速缓存Tair 1.0产品,Tair第二款产品,专注于持久化型KV高速缓存Tair 3.0产品,同时服务集团内部和公有云用户,全面支持业务上云。
应用场景可接受数据丢失场景,比如经典缓存场景,临时可丢失数据场景。MDB有两种产品类型,还需根据具体场景选择对应的产品类型。持久化KV场景,比如黑白名单,离线数据在线化等有丰富的数据结构,支持Redis原生的数据结构,也支持自研的高级数据结构。应用场景覆盖新零售,游戏,教育,文化产品,制造业,交通物流,互联网社交等行业。
持久化特性目前仅提供持久化规格支持持久化,数据可靠性99.99%目前仅提供持久化规格
性能
成本较低
支持的数据结构Key-Value,Pkey-{Skey1-Value1,{Skey2-Value2}}Key-Value,Pkey-{Skey1-Value1,{Skey2-Value2}}String,List,Zset,Hmap,Set等复杂数据结构。TairHash,TairString,TairGIS,TairBloom等多种数据结构
可用性99.99%99.95%99。95%

1.MDB

优点:
MDB具备着高读写性能,适用容量小(一般在M级别,50G之内),读写QPS高(万级别)的缓存场景。

缺点:
类似于Memcache,由于是内存型产品,因此无法保证数据的安全性,适用于偶尔数据丢失不对业务产生较大影响的应用,对数据安全有要求的应用建议采取MDB + DB的结构,后端增加加持久化数据源。

使用场景

  • 用于缓存,降低对后端数据库的访问压力。
  • 临时数据存储,分钟级别后失效,偶尔数据丢失不会对业务产生较大影响。
  • 读多写少,读 QPS 达到万级别以上

2.LDB

优点:
LDB 适用于确实有持久化需求,读写QPS较高(万级别)的应用场景。典型应用场景如存储黑白单数据等读 QPS 高的场景或者分布式锁。

缺点:
LDB目前线上使用的SSD机型成本较高

使用场景

  • 存储黑白单数据,读 QPS 很高,DB 无法承载。
  • 榜单类数据、计数器功能,更新非常频繁,且数据不可丢失。
  • 分布式锁:利用 Tair 的 version 特性或者计数功能可以实现分布式锁,由于 LDB 具有持久化功能,当服务有出现宕机的情况,也不会因此出现锁丢失或者锁不可释放的情况,MDB则无法保证。

3.RDB

优点:
RDB兼容Redis接口,支持Redis原生字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表(Hash)等多种数据类型,具备RDB和AOF持久化方式

缺点:
RDB适合高并发场景,但不适合大吞吐场景,即缓存Key不应过大(超过10K)

使用场景
替换Redis,一般认为RDB就是阿里定制版的Redis。


http://www.ppmy.cn/devtools/115449.html

相关文章

智能工厂的设计软件 之 语言设计 之 一个通用的信息系统的架构以及其构建基础 之1

Q1、今天我们继续 “智能工厂的设计软件”的“程序”语言设计。 回顾-昨天将“程序”所指的software&#xff0c;application &#xff0c;source视为程序语言三种方言&#xff0c;具有固定的语法句子(简化后的)&#xff1a; <『Free』> Private Behavior ((()))(τ,δ,…

TensorRT-LLM——优化大型语言模型推理以实现最大性能的综合指南

引言 随着对大型语言模型 (LLM) 的需求不断增长&#xff0c;确保快速、高效和可扩展的推理变得比以往任何时候都更加重要。NVIDIA 的 TensorRT-LLM 通过提供一套专为 LLM 推理设计的强大工具和优化&#xff0c;TensorRT-LLM 可以应对这一挑战。TensorRT-LLM 提供了一系列令人印…

django+vue

1. diango 只能加载静态js&#xff0c;和flask一样 2. 关于如何利用vue创建web&#xff0c;请查看flask vue-CSDN博客 3. 安装django pip install django 4. 创建新项目 django-admin startproject myproject 5.django 中可以包含多个app 5.1 创建一个app cd myprojec…

股指期货的详细玩法功能与应用解析

股指期货作为一种重要的金融衍生工具&#xff0c;为投资者提供了多样化的投资和风险管理手段。本文将详细探讨股指期货的三大主要功能&#xff1a;风险规避、价格发现和资产配置。 第一&#xff0c;风险规避功能 1.套期保值&#xff1a;股指期货的风险规避功能主要通过套期保值…

Netty+HTML5+Canvas 网络画画板实时在线画画

采用Html5的canvas做前端画画板&#xff0c;发送数据到后端Netty服务&#xff0c;实时转发笔迹数据&#xff0c;在线实时同步画笔轨迹&#xff0c;单击绿色小方块&#xff0c;保存画板的图片 页面&#xff1a; <!-- index.html --><!DOCTYPE html> <html> …

怎么让Nginx可以访问某一IP的每个后台controller接口

http { upstream backend { server 192.168.1.10; # 后端服务器IP } server { listen 80; location /controller1/ { ##proxy_pass http://localhost:801; proxy_pass http://backend/controller1/; # 后端controller1…

工业一体机在汽车零部件工厂ESOP系统中的关键作用

在当今竞争激烈的汽车市场中&#xff0c;汽车零部件工厂的高效生产和严格质量控制至关重要。而工业一体机在汽车零部件工厂的 ESOP&#xff08;电子标准化作业程序&#xff09;系统中发挥着关键作用。 一、汽车零部件工厂面临的挑战 汽车零部件的生产过程复杂且要求严格&#…

C++ 知识要点:其它

八. 其它 调试程序的方法&#xff1f; gdb 遇到 coredump 要怎么调试&#xff1f;模板的用法与适用场景用过 C11&#xff1f; 新特性&#xff1f;auto,decltype、explicit、lambda、final 函数调用的压栈过程sizeof 和 strlen 的区别&#xff1f; 运算符与函数计算的对象编译时…