摘要: ShardingSphere 作为一款分布式数据分片中间件,其核心处理流程 “解析 -> 路由 -> 改写 -> 执行 -> 归并” 环环相扣,每个节点都承担着关键职责,共同实现对分布式数据库的透明化操作。以下是各流程节点的具体目的: 1. 解析(Parsing) 目的:将用户输入的 SQL 语句转 阅读全文
posted @ 2025-07-08 20:55 飘来荡去evo 阅读(30) 评论(0) 推荐(0)
摘要: 一、​​设计背景与核心目标​​ ConcurrentHashMap 在统计元素数量时(如 size() 方法),若直接使用 AtomicLong 会导致以下问题: ​​CAS 竞争激烈​​:高并发下多个线程频繁竞争同一变量,导致大量 CAS 失败和重试,性能急剧下降 ​​伪共享(False Shar 阅读全文
posted @ 2025-07-08 20:33 飘来荡去evo 阅读(22) 评论(0) 推荐(0)
摘要: MongoDB 的分片集群通过将大型数据集水平拆分(分片)并分布在多个服务器(分片)上来实现扩展。分片键的选择和配置是分片集群设计中最关键、影响最深远的决策,它直接决定了数据如何分布、集群如何扩展以及查询性能。 一、分片键的核心原理 数据分区: MongoDB 使用分片键的值来决定一个文档应该存储在 阅读全文
posted @ 2025-07-08 19:39 飘来荡去evo 阅读(45) 评论(0) 推荐(0)
摘要: ShardingSphere 提供了多种分布式主键生成器(Key Generator),以满足不同场景下的全局唯一 ID 需求。根据其实现机制和版本演进,主要分为以下几类: ⚙️ 一、内置基础生成器 UUID 特点:生成 32 位字符串(如 550e8400-e29b-41d4-a716-44665 阅读全文
posted @ 2025-07-08 19:34 飘来荡去evo 阅读(116) 评论(0) 推荐(0)
摘要: MongoDB 的集群化主要依赖其原生架构(副本集和分片集群),不需要额外中间件(如 Redis Cluster 所需的 Proxy 或 Zookeeper)。其核心组件均属于 MongoDB 自身生态,部署时直接使用 MongoDB 官方提供的二进制程序即可。 以下是关键原理、版本建议及组件说明: 阅读全文
posted @ 2025-07-08 18:00 飘来荡去evo 阅读(90) 评论(0) 推荐(0)
摘要: Sharding分库分表在提升数据库扩展性的同时,确实存在部分SQL语法不兼容的情况,这些限制在不同版本中逐步优化。以下是主要问题的版本演进及解决情况: 📌 一、常见不支持的SQL类型及版本演变 UNION/UNION ALL 不支持版本:1.5.4.1 2、3.0.0 13 解决版本:4.x 部 阅读全文
posted @ 2025-07-08 17:51 飘来荡去evo 阅读(55) 评论(0) 推荐(0)
摘要: Elasticsearch(简称 ES)是一款基于 Lucene 的分布式搜索引擎,其底层原理围绕分布式架构、倒排索引、实时搜索、数据分片与副本等核心机制展开。以下从多个维度详细解析其底层原理: 一、核心架构与组件 节点与集群 节点(Node):ES集群由多个节点组成,每个节点承担不同角色: 主节点 阅读全文
posted @ 2025-07-08 13:27 飘来荡去evo 阅读(334) 评论(0) 推荐(0)
摘要: Elasticsearch 的调优是一个涉及多个层面的复杂过程,需要根据具体的应用场景、数据量、查询负载和硬件资源进行针对性优化。以下是一些关键的调优方向和策略: 一、基础架构与硬件优化 硬件资源: 内存: ES 重度依赖内存(尤其是 JVM Heap 和 OS Filesystem Cache)。 阅读全文
posted @ 2025-07-08 13:12 飘来荡去evo 阅读(78) 评论(0) 推荐(0)