数据库技术

概述 以前参加过一个库存系统,由于其业务复杂性,搞了很多个应用来支撑。这样的话一份库存数据就有可能同时有多个应用来修改库存数据。 比如说,有定时任务域xx.cron,和SystemA域和SystemB域这几个JAVA应用,可能同时修改同一份库存数据。如果不做协调的话,就会有脏数据出现。 对于跨JAVA进程的线程协调,可以借助外部环境,例如DB或者Redis。下文介绍一下如何使用DB来实现分布式锁。 设计 本文设计的分布式锁的交互方式如下

2022-10-27  272
数据库技术

介绍 从高层的角度来看,许多数据和分析解决方案已经以相同的方式构建了许多年。 简而言之,它由各种集成过程组成,可将所有数据加载到一个中央位置,这是即将到来的数据建模和分析用例的唯一事实来源。 虽然在较早的日子里,这些中心位置大多是昂贵的且不灵活的紧密耦合的硬件/软件系统,但如今通常会利用云和分布式架构,包括计算和存储的分离。 然而,尽管近年来取得了巨大的技术进步,但集中数据的整体方法仍然是最有效地利用其数据并进行适当的数据管理的最明

2022-10-27  362
数据库技术

前两天公众号有个粉丝给我留言吐槽最近面试:“四哥,年前我在公司受点委屈一冲动就裸辞了,然后现在疫情严重两个多月还没找到工作,接了几个视频面试也都没下文。好多面试官问完一个问题,紧接着说还会其他解决方法吗?能干活解决bug不就行了吗?那还得会多少种方法?” 面试官应该是对应聘者的回答不太满意,他想听到一个他认为最优的解决方案,其实这无可厚非。同样一个bug,能用一行代码解决问题的人和用十行代码解决问题的人,你会选哪个

2022-10-27  302
数据库技术

什么是MyCat MyCat是一个开源的分布式数据库中间件,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。 MyCat通过定义表的分片规则来实现分片,每个表格可以捆绑一

2022-10-27  295
数据库技术

对于分布式事务的概念,可能还有很多朋友不理解或者理解得不是很深刻,本文将带大家一文吃透“分布式事务”。 图片来自 Pexels 本地事务 事务 Transaction 由一组 SQL 组成,具有四个 ACID 特性: Atomicity:原子性,构成事务的一组SQL,要么全部生效,要么全不生效,不会出现部分生效的情况。 Consistency:一致性,数据库经过事务操作后从一种状态转变为另一个状态。可以说原子

2022-10-27  334
数据库技术

背景 2016年Q3季度初,在美团外卖上单2.0项目上线后,商家和商品数量急速增长,预估商品库的容量和写峰值QPS会很快遇到巨大压力。随之而来也会影响线上服务的查询性能、DB(数据库,以下统一称DB)主从延迟、表变更困难等一系列问题。 要解决上面所说的问题,通常有两种方案。第一种方案是直接对现有的商品库进行垂直拆分,可以缓解目前写峰值QPS过大、DB主从延迟的问题。第二种方案是对现有的商品库大表进行分库分表,从根本上解决现有问题。方案一

2022-10-27  334
数据库技术

一、金融行业架构转型需求 随着移动化与互联网化的不断发展,我国金融行业的商业模式与技术体系已经逐渐走上了与西方世界完全不同的道路。众所周知,欧美国家的移动化普及率远远不如我国,同时人口基数也有着数量级的不同。这就使得国内外金融行业所面临的业务类型、数据量、并发量都存在巨大的差异,导致对整个IT基础设施的需求截然不同。 在最近的一两年中,国内部分科技领先的银行已经率先对微服务与分布式技术进行了探索,一些新建的互联网金融类业务也已经开始尝试

2022-10-27  330
数据库技术

容器的定义:容器是为了解决“在切换运行环境时,如何保证软件能够正常运行”这一问题。 目前,容器和 Docker 依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:数据库 MySQL 是否需要容器化? 认真分析大家的各种观点,发现赞同者仅仅是从容器优势的角度来阐述 MySQL 需要容器化,几乎没有什么业务场景进行验证自己的观点;反过来再看反对者,他们从性能、数

2022-10-27  287
数据库技术

MySQL分布式架构的扩缩容是一个很有意思的话题。严格的说,我们所说的这种架构方案是一种伪分布式架构,我们就做下统称。重点是扩缩容的思路上。 如果一套环境的主从完整,分为多个逻辑分片的情况下,大体是这样的架构。 这个架构采用了4个物理分片,每个物理分片上有4个逻辑分片,总共有16个逻辑分片,也就意味着一张表被分为了16份。 对于扩容来说,是优先考虑主库写入为主,所以我们的扩容可以是2N的规模来扩容,比如4个物理分片,可以扩容为8个物理分

2022-10-27  294
数据库技术

简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种。理解这三种物理连接是理解在表连接时解决性能问题的基础,下面我来对这三种连接的原理,适用场景进行描述。 嵌套循环连接(Nested Loop Join) 循环嵌套连接是最基本的连接,正如其名所示

2022-10-27  363

zblog模板

牛资源