导语
当你的数据库单表突破5000万行,查询延迟飙升时,分库分表是必选项。但传统哈希取模分片在扩容时引发的数据迁移噩梦如何解决?本文将用电商订单表真实案例,揭秘一致性哈希的核心原理与实战技巧。
2025年05月06日
导语
当你的数据库单表突破5000万行,查询延迟飙升时,分库分表是必选项。但传统哈希取模分片在扩容时引发的数据迁移噩梦如何解决?本文将用电商订单表真实案例,揭秘一致性哈希的核心原理与实战技巧。
2025年05月06日
哈希算法(Hash Algorithm)是一种将不同长度的输入(如字符串、文件等)映射为固定长度输出的算法。其基本原理是将输入数据经过一定的处理,如分块、编码、处理等,得到一个较短的数值,作为输入数据的标识符。这个标识符通常具有唯一性,可以方便地进行数据的存储、检索、比较等操作。
哈希算法具有以下特点:
确定性:对于相同的输入数据,哈希算法产生的输出结果是一致的。
可逆性:理论上,知道输出结果和算法实现,可以还原出输入数据。
抗碰撞性:尽可能地使不同输入数据产生不同的输出结果,以减少冲突。
2025年05月06日
一. 数据切分
关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。
数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的。
2025年05月06日
一、知识结构及面试题目分析
缓存技术的大规模使用是互联网架构区别于传统 IT 技术最大的地方,是整体高并发高性能架构设计中是重中之重的关键一笔,也是互联网公司比较偏好的面试题目。按照在软件系统中所处位置的不同,缓存大体可以分为三类:客户端缓存、服务端缓存、网络中的缓存;根据部署方式大体可分为:本地缓存和分布式缓存。专栏将以分布式缓存为重点,挑选其中应用最广的 memcached、redis 分别予以介绍,同时兼顾其他缓存方案,从部署、设计、应用场景等方面展开。
2025年05月06日
我们在谈到区块链的时候,经常会听到关于哈希、哈希值、哈希算法这些词。很多人都认为哈希就是区块链上的安全保障,但是严格来说,哈希并不是一种加密算法。因为加密总是相对于解密而言,哈希其实是一种单向密码体制,即它是一个从明文到密文的不可逆的映射,只有加密过程,没有解密过程。在聊哈希算法之前我们先来聊聊什么是哈希。
2025年05月06日
大家好啊!今天我要带大家走进一个神奇的编程领域——分布式服务调用。说起分布式系统,很多程序员都头疼不已。但今天咱们不谈那些让人抓狂的网络延迟、负载均衡等问题,而是聚焦在一个非常强大的工具——Dubbo。它可是国内各大互联网公司实现高效分布式服务调用的秘密武器呢!
首先,让我们来聊聊什么是RPC吧。RPC(Remote Procedure Call)远程过程调用,简单来说就是一种可以让程序像调用本地方法一样去调用远程服务器上的方法的技术。听起来是不是很酷?不过实现起来可不容易哦。
2025年05月06日
我们先来简单介绍一下什么是哈希。
假设我们有一个有限、快速可达的集合,我们暂且把他称之为哈希表,哈希表是根据关键码值key而直接进行访问的数据结构。我们通过把key值映射到表中一个位置来访问key值对应的一条记录(暂且我们说一条key对应一条记录),以加快查找的速度。