分库分表场景下多维查询解决方案(用户+商户)

news2024/11/25 3:18:15

        在采用分库分表设计时,通过一个PartitionKey根据散列策略将数据分散到不同的库表中,从而有效降低海量数据下C端访问数据库的压力。这种方式可以缓解单一数据库的压力,提升了吞吐量,但同时也带来了新的问题。对于B端商户而言,如何查看这些数据呢?由于数据被散列到不同的库表中,想要查询它们就需要全库表路由查询,这样分库分表将无法带来优势。例如,生成的短链码散列到不同的数据库抵御了海量消费者的访问压力,但在业务层面上,商家无法查询到自己旗下生成的所有短链码。我们对这个问题进行了进一步的分析,寻求解决方案。

方案一:

        字段解析配置。定义hash对应的库表策略关系,每次生成库表位时,根据商家的唯一标识进行hash,找到固定的库表位,然后将短链写入该库表中。当商家查询时,同样根据商家的唯一标识进行hash,找到可能在的库表,采用笛卡尔积方式将数据查出,此种方式不触发全库表路由。

账号hash
a,bc,11
a12

        缺点:随不触发全库表的路由,但所涉及库表都会进行查询,给所涉及的库表造成访问压力;

方案二:

        Nosql方案。可利用canl-server监听数据库的变动,kafka缓冲,冗余到es中。

        缺点:需要实时维护管理缓存数据库的数据。

方案三:

        冗余双写方案。拆分买家库和卖家库:1)买家库,按照用户的id来分库分表;2)卖家库,按照卖家的id来分库分表。下订单的时候写两份数据,在买家库和卖家库各写一份。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1535816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Python爬虫】网络爬虫:信息获取与合规应用

这里写目录标题 前言网络爬虫的工作原理网络爬虫的应用领域网络爬虫的技术挑战网络爬虫的伦理问题结语福利 前言 网络爬虫,又称网络爬虫、网络蜘蛛、网络机器人等,是一种按照一定的规则自动地获取万维网信息的程序或者脚本。它可以根据一定的策略自动地浏…

linux查看usb是3.0还是2.0

1 作为device cat /sys/devices/platform/10320000.usb30drd/10320000.dwc3/udc/10320000.dwc3/current_speed 如下 high-speed usb2.0 super-speed usb3.0 2 作为host linux下使用以下命令查看 ,如果显示 速率为5G, 则为USB 3.0, USB2.0通常显示速率…

Day17|二叉树part04:110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和、543: 二叉树的直径、124: 二叉树的最大路径和

之前的blog链接:https://blog.csdn.net/weixin_43303286/article/details/131982632?spm1001.2014.3001.5501 110.平衡二叉树 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。思路&#xff…

Matlab之已知2点绘制长度可定义的射线

目的:在笛卡尔坐标系中,已知两个点的位置,绘制过这两点的射线。同时射线的长度可以自定义。 一、函数的参数说明 输入参数: PointA:射线的起点; PointB:射线过的零一点; Length&…

AI PPT生成工具 V1.0.0

AI PPT是一款高效快速的PPT生成工具,能够一键生成符合相关主题的PPT文件,大大提高工作效率。生成的PPT内容专业、细致、实用。 软件特点 免费无广告,简单易用,快速高效,提高工作效率 一键生成相关主题的标题、大纲、…

【链表】Leetcode 138. 随机链表的复制【中等】

随机链表的复制 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点…

Linux - 应用层HTTPS、传输层TCP/IP模型中典型协议解析

目录 应用层:自定制协议实例 HTTP协议首行头部空行正文http服务器的搭建 HTTPS协议 传输层UDP协议TCP协议 应用层: 应用层负责应用程序之间的沟通—程序员自己定义数据的组织格式 应用层协议:如何将多个数据对象组织成为一个二进制数据串进行…

代码签名证书被吊销的原因及其后果是什么?

代码签名证书是确保软件代码完整性和可信度的关键工具,然而,在某些情况下,此类证书可能会被撤销。这意味着证书颁发机构(CA)不再认可该证书的有效性,并宣布其失效。本文将解析导致代码签名证书撤销的原因、…

Bytebase 2.14.1 - 分支 (Branching) 功能支持 Oracle

🚀 新功能 分支 (Branching) 功能支持 Oracle。为 SQL 编辑器添加了项目选择器。 新增 SQL 审核规范: 禁止混合 DDL、DML 语句。禁止对同一张表进行不同类型的 DML 变更 (UPDATE,INSERT,DELETE)。 🔔 重大变更 工作空间设置中的「数据访问…

puppeteer使用示例云顶之弈官网

自己从0到1开发的,微信小程序【云顶宝藏】求求点个5星好评吧! 需求:拿到所有英雄的信息 思路:点击每个英雄,进入英雄详情页,拿信息,并返回,继续下一个英雄** 最终效果 本地环境 win…

【链表】Leetcode 148. 排序链表【中等】

排序链表 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head [4,2,1,3] 输出:[1,2,3,4] 解题思路 对链表进行升序排序,可以使用归并排序(Merge Sort)的…

vben admin上线后接口调用成功,控制台报promise错误

vben admin上线后接口调用成功,控制台报promise错误 问题原因 vben admin框架对返回的数据格式做了统一处理,不满足格式要求的接口返回直接抛异常。 解决方案 将返回参数校验关闭,重新打包部署。

windowsVMware虚拟机中扩展linux磁盘空间

1.虚拟磁盘扩容 VM中,关闭linux虚拟机,直接编辑虚拟机-硬盘-扩展磁盘容量 2.通过Gparted工具进行LINUX系统磁盘分区 未分区挂载前可以看到/挂载点下空间为20G: 通过虚拟机-快照-拍摄快照,操作前可拍摄快照(便于恢复之前…

Elasticsearch数据写入、检索流程及底层原理全方位解析

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 目录 ✍🏻序言✍🏻1️⃣✍🏻es的架构简介1. 分布式架构2. 索引与搜索3. 数据写入与持久化4. 缓…

酷开科技以内容技术服务和数字营销服务为核心,自主研发酷开系统

家庭场景的需求,才是大屏电视的目的。屏幕越大得到的画幕越大,消费者也就看的越清楚,从而获得更好的观看体验,尤其是家里有老人孩子的,为了得到更好的视觉效果,使得消费者对于大屏的需求也在增加。酷开系统…

动脉自旋标记(ASL):临床应用及解读

导读 动脉自旋标记(Arterial spin labeling,ASL)是一种磁共振灌注成像技术,可以在不使用静脉钆造影剂的情况下量化脑血流量(CBF)。了解ASL的技术基础和灌注的生理变化对于识别正常变异和伪影很重要。灌注的病理变化见于多种疾病,包括急慢性缺…

【漏洞复现】云时空ERP Public接口处RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Altman专访自曝全新GPT-5细节:性能跃升超想象,算力足可达AGI!

😀前言 在人工智能领域,OpenAI的最新一代模型GPT-5备受期待。其性能提升被认为将创造历史,并有潜力成为推动文明发展的核心动力。Altman作为OpenAI的领导人之一,在一系列访谈中透露了关于GPT-5和人工智能未来的深刻见解&#xff0…

低代码无法取代程序员,但为什么很多程序员却反感低代码?

引言 在当今快节奏的软件开发领域,低代码开发平台正日益受到关注并广泛应用。低代码开发通过可视化建模和自动化工具,使得非专业开发者和业务人员能够更快速地创建应用程序,从而大大加快了软件交付的速度。这种新兴的开发方式已经在许多行业…

Linux下QT界面小程序开发

背景:需要在linux不同环境下可以测试我们的读卡器设备 搭建本地linux开发环境(本来想VS里开发然后通过SSH的方式在linux下编译,但是工具链一直没搞起来,所以我是在ubuntu里安装的QT Creator工具直接开发的)&#xff1b…