DB
文章平均质量分 87
d3y1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis故障05:变慢问题定位及止血根治
Redis变慢需系统排查:先链路追踪与基准测试确认问题,再通过慢日志、BigKey、高复杂度命令、集中过期、fork耗时、AOF刷盘、内存淘汰及透明大页等多维度定位。止血措施包括使用UNLINK、开启lazy-free、打散过期时间、优化持久化策略。最终通过架构优化如控制实例大小、禁用危险命令、启用增量同步实现根治。原创 2026-10-26 10:08:43 · 395 阅读 · 0 评论 -
Redis故障04:脑裂问题原理预防与解决
Redis脑裂是分布式系统在网络分区下出现多个主节点的故障,导致数据不一致、重复或丢失。哨兵模式通过奇数部署、过半机制(quorum)和合理超时参数预防;Cluster模式则依赖min-slaves-to-write与min-slaves-max-lag限制旧主写入,缩小数据丢失窗口。但因Redis采用异步复制与AP设计,脑裂无法彻底根除。强一致性场景应选用CP系统如MySQL或Zookeeper,而高可用、高性能需求可借助Redis并配合业务补偿。原创 2026-10-25 13:21:54 · 262 阅读 · 0 评论 -
Redis故障03:RDB AOF与混合持久化
Redis Cluster 每个节点需独立配置持久化。推荐采用“AOF为主、RDB为辅、混合持久化”的组合:AOF(appendfsync everysec)保障最多丢1秒数据,RDB提供快速恢复,混合模式(aof-use-rdb-preamble yes)兼顾恢复速度与文件大小。生产环境应按节点端口区分数据目录,禁用危险命令,并结合系统级优化确保稳定性。原创 2026-10-25 13:18:23 · 136 阅读 · 0 评论 -
Redis故障02:应急处理与Cluster故障恢复
Redis故障时,优先恢复服务:单机场景通过重启、降级应用或回放日志恢复;集群模式下从节点自动晋升为主,原主节点重启后以新主为准同步数据。关键在于启用AOF与RDB混合持久化,配置min-replicas-to-write和min-replicas-max-lag缩小数据丢失窗口(通常几百毫秒至数秒)。长期需部署Redis Sentinel或Cluster实现高可用,结合监控与备份,确保“快速止血、数据为王、防患未然”。原创 2026-10-25 13:14:30 · 152 阅读 · 0 评论 -
Redis故障01:内存淘汰策略与监控指标
Redis 内存超限时,若未配置淘汰策略(如 noeviction)或者maxmemory设为0,将拒绝写入并导致内存持续上涨,最终被 Linux OOM Killer 强杀。淘汰策略(如 volatile-lfu)决定内存不足时删哪些键,核心依赖随机采样近似实现,而非全库扫描。关键监控指标包括 evicted_keys、used_memory 与 mem_fragmentation_ratio,生产推荐设置 maxmemory 并启用 allkeys-lfu 等合理策略,避免系统崩溃。原创 2026-10-25 13:10:43 · 235 阅读 · 0 评论 -
HBase vs OceanBase
HBase 与 OceanBase 虽同具分布式与 LSM-Tree 特性,但定位迥异:前者为面向海量稀疏宽表的 NoSQL 存储,擅长 RowKey 点查与范围扫描;后者是原生分布式 HTAP 数据库,支持强一致事务、复杂 SQL 与多维索引。架构上,HBase 依赖 HDFS/ZooKeeper 生态,数据模型灵活但无原生二级索引;OceanBase 内聚多副本、日志流与路由,实现原生 SQL 与 ACID。本质差异在于:HBase 是“按 RowKey 组织的大规模稀疏数据系统”,而 OceanBas原创 2026-10-03 19:27:33 · 521 阅读 · 0 评论 -
HTAP:从概念到架构落地
HTAP 旨在解决传统架构中交易与分析分离带来的延迟、一致性与成本问题。其核心在于同一数据源上实现行存(OLTP)与列存(OLAP)的协同,通过双引擎副本(如 TiDB/TiFlash)或内核统一(如 OceanBase)架构,支持实时分析查询。关键挑战包括存储格式冲突、数据新鲜度、资源隔离与一致性保障。实际落地中,优化器根据查询特征选择执行路径,结合 MVCC 与资源管控,实现分钟级数据可见性,适用于实时看板、对账与风控等场景,但不替代离线数仓。原创 2026-10-02 16:06:19 · 417 阅读 · 0 评论 -
ClickHouse:从列式存储到分布式实时分析引擎的架构拆解
ClickHouse 是面向海量数据实时分析的列式存储引擎,通过列式存储、稀疏索引、向量化执行与后台合并机制实现秒级聚合查询。其核心设计围绕“批量写入、不可变数据、按需读取”展开,适用于日志、行为分析、监控等场景。表引擎如 MergeTree 管理分片与压缩,Distributed 表实现分布式查询,而物化视图与 Kafka Engine 支持流式数据落地。理解其架构本质——非事务型、非点查优化,方能避免误用,真正发挥其高吞吐、低延迟优势。原创 2026-09-25 13:03:28 · 414 阅读 · 0 评论 -
OceanBase:从单机MySQL到原生分布式HTAP的架构拆解
本文以一条SQL执行链路为线索,拆解OceanBase从单机MySQL到原生分布式HTAP的架构演进。通过OBProxy路由、Paxos日志流、LSM-Tree存储、Tablet分片、多租户资源隔离与Primary Zone选址等核心机制,揭示其如何实现高可用、强一致与弹性伸缩。重点解析数据分片、副本一致性、事务处理与读写分离的底层逻辑,帮助读者将OceanBase从“黑盒”还原为可推理的分布式系统。原创 2026-09-24 15:10:21 · 466 阅读 · 0 评论 -
TiDB:从MySQL兼容入口到存算分离的分布式HTAP架构拆解
本文以一条SQL执行链路为线索,拆解TiDB从MySQL兼容到存算分离的HTAP架构。核心在于:TiDB通过将数据切分为可调度的Region,利用Raft实现多副本一致性,结合无状态计算层(TiDB Server)、元数据与时间戳协调者(PD)、行存(TiKV)与列存(TiFlash)分离的存储架构,实现分布式事务、全局时间戳、计算下推与实时分析能力。关键认知转变是——TiDB并非“大号MySQL”,而是一套可推理的分布式系统,其价值在于原生支持弹性扩展、强一致与混合负载。原创 2026-09-23 14:10:54 · 299 阅读 · 0 评论 -
HBase点查流程:代码示例与数据结构
本文以 HBase 2.x 的 Java API 和内部实现为主线,梳理一次点查从 table.get(Get) 到最终返回 Result 的完整路径。重点不在“如何使用”,而在“为什么这样设计”:RowKey 排序、hbase:meta 定位、MemStore、HFile Block、BloomFilter、BlockCache、多路 Scanner 合并,以及背后的数据结构。HBase 点查的本质是:用有序 RowKey 快速定位 Region,用 BloomFilter 和 Block Index原创 2026-09-14 11:54:27 · 323 阅读 · 0 评论 -
IVFFlat(Inverted File with Flat Storage)索引算法
IVFFlat(Inverted File with Flat Storage)是IVF算法的一个变种,它在IVF的基础上保持了原始向量的精确存储。与IVFADC(使用量化压缩)不同,IVFFlat在每个聚类中完整存储原始向量,因此在查询时能够提供与FLAT算法相同的精确距离计算。这使得IVFFlat在需要高精度的场景下特别有价值。基本原理IVFFlat结合了IVF的空间划分优势和FLAT的精确计算能力:IVF聚类:使用K-means等算法将向量空间划分为多个聚类精确存储:在每个聚类中完整存储原始向原创 2026-04-27 10:33:10 · 631 阅读 · 0 评论 -
SCANN (Sparse Clustered Approximate Nearest Neighbor) 索引算法
SCANN(Sparse Clustered Approximate Nearest Neighbor)是由Google Research于2021年提出的一种高性能向量索引算法。该算法通过结合聚类和稀疏表示技术,实现了在保持较高搜索精度的同时,大幅降低计算和存储开销。SCANN特别适合大规模高维向量数据的近似最近邻搜索,在Google的相似图片搜索等场景中得到了广泛应用。基本原理SCANN的核心思想是两阶段稀疏搜索:聚类阶段:使用K-means将向量空间划分为多个聚类稀疏编码阶段:为每个向量生成稀原创 2026-04-27 10:31:04 · 652 阅读 · 0 评论 -
DiskANN(Disk-based Approximate Nearest Neighbor)索引算法
DiskANN(Disk-based Approximate Nearest Neighbor)是一种专门为磁盘存储环境设计的向量索引算法,由Microsoft Research于2020年提出。该算法通过结合内存中的图结构和磁盘上的量化技术,实现了在大规模向量数据集上的高效检索,特别适合内存受限但磁盘空间充足的应用场景。DiskANN在保持较高搜索精度的同时,显著降低了对内存的需求。基本原理DiskANN的核心思想是分层存储和量化压缩:分层架构:将索引分为内存中的图结构和磁盘上的量化数据量化压缩:原创 2026-04-26 10:35:57 · 975 阅读 · 0 评论 -
ANNOY (Approximate Nearest Neighbors Oh Yeah) 索引算法
ANNOY (Approximate Nearest Neighbors Oh Yeah) 是由Spotify开发的一种基于随机投影的近似最近邻搜索算法。该算法通过构建二叉树结构,将高维向量空间递归划分为子空间,从而实现高效的近似搜索。ANNOY以其简洁的实现和良好的性能特点,在音乐推荐和相似性搜索等领域得到了广泛应用。基本原理ANNOY的核心思想是随机投影和二叉树划分:随机投影:使用随机超平面将向量空间划分为两部分二叉树构建:递归地将向量空间划分为子空间,构建二叉树索引多森林构建:构建多个树森林原创 2026-04-26 10:33:24 · 678 阅读 · 0 评论 -
FLAT 索引算法
FLAT(Brute Force)是最简单直接的向量相似性搜索算法。它不使用任何索引结构,而是通过线性扫描整个向量数据库来查找与查询向量最相似的向量。尽管其时间复杂度较高,但FLAT算法提供了100%的准确性,因此常作为其他近似算法的基准。基本原理FLAT算法的核心思想非常简单:存储所有原始向量对于每个查询向量,计算其与数据库中所有向量的距离返回距离最小的前k个向量原创 2026-04-25 14:02:31 · 670 阅读 · 0 评论 -
IVF (Inverted File) 索引算法
IVF(Inverted File)是一种基于聚类思想的向量索引算法,也称为倒排索引。该算法将向量空间划分为多个聚类(或称为"倒排文件"),每个聚类包含在特征空间中相近的向量。查询时,算法首先将查询向量分配到最相关的几个聚类中,然后只在这些聚类内部进行搜索,从而大幅减少搜索空间。基本原理IVF算法的核心思想是"分而治之":空间划分:将向量空间划分为多个不相交的子空间(聚类)聚类分配:将每个向量分配到距离最近的聚类中心查询优化:查询时只搜索最相关的几个聚类这种策略通过牺牲一定的准确性来换取查询性能原创 2026-04-24 20:39:03 · 617 阅读 · 0 评论 -
LSH(Local Sensitive Hashing)索引算法
局部敏感哈希(Local Sensitive Hashing, LSH)是一种基于概率的近似最近邻搜索算法,由Piotr Indyk和Rajeev Motwani于1998年提出。该算法的核心思想是:相似的向量在哈希后落入同一个桶的概率高于不相似的向量。LSH以其常数时间的查询复杂度成为处理超大规模向量数据的重要技术之一。基本原理LSH基于一个关键性质:相似向量在哈希函数作用下碰撞的概率高于不相似向量。具体来说:哈希函数族:定义一组哈希函数,使得相似向量更容易哈希到相同值桶结构:使用哈希桶存储向量,原创 2026-04-24 20:36:44 · 701 阅读 · 0 评论 -
HNSW (Hierarchical Navigable Small World Graphs) 索引算法
HNSW(Hierarchical Navigable Small World Graphs)是一种高效的近似最近邻搜索算法,由Yury Malkov等人于2018年提出。该算法结合了分层结构和导航小世界图的特性,在保持较高搜索精度的同时,实现了亚线性的查询时间复杂度。HNSW已成为向量数据库领域最流行的高性能索引算法之一。基本原理HNSW算法基于两个核心思想:分层结构:构建多个层次的图结构,高层图连接稀疏,低层图连接密集导航小世界特性:利用"六度分离"理论,通过少量跳跃即可到达目标节点原创 2026-04-23 16:54:34 · 1182 阅读 · 0 评论 -
六度分离理论及其在HNSW索引算法中的应用
六度分离理论(Six Degrees of Separation)是一个著名的社会学理论,指出在社交网络中,任何两个人之间的平均连接距离不会超过六个中间人。换句话说,通过最多六步连接,你可以到达世界上几乎任何其他人。核心概念连接度:网络中节点之间的连接关系路径长度:从一个节点到另一个节点所需的最少连接数平均路径长度:网络中所有节点对之间路径长度的平均值聚类系数:衡量网络中节点聚集程度的指标原创 2026-04-23 16:47:29 · 607 阅读 · 0 评论 -
八种向量数据库对比分析
八种向量数据库各有特色,选型时需综合考虑以下因素:数据规模:小规模选择 Chroma/PGVector,大规模选择 Milvus/Pinecone/Qdrant功能需求:需要混合查询选择 Elasticsearch/Pinecone,需要多模态选择 Weaviate团队能力:运维能力强选择 Milvus/Elasticsearch,运维能力弱选择 Pinecone/Chroma预算约束:预算充足选择 Pinecone,预算有限选择开源方案现有架构:已有 PostgreSQL 选择 PGVector原创 2026-04-22 14:39:37 · 1050 阅读 · 0 评论 -
Qdrant 向量数据库指南
Qdrant (Quadrant Dense Vector Search) 是一个开源的向量数据库和相似性搜索引擎,专为高性能向量搜索而设计。它使用 Rust 语言编写,提供了高效的内存索引和磁盘存储,支持多种向量相似性计算方法。Qdrant 专注于提供高性能、可扩展的向量搜索解决方案,适合大规模 AI 和机器学习应用。Qdrant 的核心功能包括:高性能向量相似性搜索多种距离度量和相似性计算分布式架构设计RESTful API 和 gRPC 支持向量过滤和元数据管理持久化和内存模式支持原创 2026-04-22 14:22:48 · 653 阅读 · 0 评论 -
Weaviate 向量数据库指南
Weaviate 是一个开源的 AI 原生的向量数据库,专为现代 AI 应用而设计。它采用模块化架构,支持多种向量嵌入模型,并内置 GraphQL API 用于数据查询。Weaviate 的独特之处在于它能够直接在数据库中执行机器学习推理,将向量搜索与 AI 功能无缝集成。Weaviate 的核心功能包括:向量存储和相似性搜索内置机器学习推理GraphQL API 支持模块化架构设计云原生和 Kubernetes 支持多种嵌入模型集成原创 2026-04-21 20:30:24 · 629 阅读 · 0 评论 -
Pinecone 向量数据库指南
Pinecone 是一个完全托管的向量数据库服务,专为大规模向量搜索和相似性匹配而设计。它提供了开箱即用的向量数据库解决方案,无需担心基础设施管理和运维。Pinecone 采用 Serverless 架构,支持自动扩展和高可用性,使开发者可以专注于应用逻辑而非底层基础设施。Pinecone 的核心功能包括:完全托管的向量数据库服务自动扩展和负载均衡实时向量索引和搜索多种距离度量和相似性计算数据管理和备份监控和日志功能原创 2026-04-21 20:22:39 · 640 阅读 · 0 评论 -
Elasticsearch 向量数据库指南
Elasticsearch 是一个开源的分布式搜索和分析引擎,由 Elastic 公司开发。它基于 Apache Lucene 库构建,提供了强大的全文搜索、实时分析和数据可视化能力。近年来,Elasticsearch 逐渐扩展了其向量搜索功能,使其成为一个功能全面的向量数据库解决方案。Elasticsearch 的核心功能包括:分布式文档存储和索引实时搜索和分析全文检索和自然语言处理向量相似性搜索数据聚合和可视化RESTful API 接口原创 2026-04-20 14:35:15 · 614 阅读 · 0 评论 -
FAISS 向量数据库指南
FAISS (Facebook AI Similarity Search) 是由 Facebook AI Research 开发的高效相似性搜索和聚类库。它专门针对大规模向量数据的最近邻搜索进行了优化,提供了多种高效的索引算法和搜索方法。FAISS 本身不是一个完整的数据库系统,而是一个专注于向量搜索的库,通常需要与数据库系统结合使用。FAISS 的核心功能包括:高效的向量相似性搜索多种索引算法和距离度量大规模向量数据处理GPU 加速支持向量量化技术聚类和分组功能原创 2026-04-20 14:30:20 · 796 阅读 · 0 评论 -
PGVector 向量数据库指南
PGVector 是 PostgreSQL 的一个扩展,为 PostgreSQL 数据库添加了向量相似性搜索功能。它将向量搜索能力集成到成熟的 PostgreSQL 数据库中,使得开发者可以在同一个系统中同时处理关系型数据和向量数据。PGVector 提供了多种向量索引算法和距离计算方法,是构建混合数据应用的理想选择。PGVector 的核心功能包括:向量数据类型和存储多种向量索引算法相似性搜索和距离计算与 PostgreSQL 事务集成SQL 查询支持扩展性和兼容性原创 2026-04-19 21:13:54 · 597 阅读 · 0 评论 -
Chroma 向量数据库指南
Chroma 是一个开源的面向 AI 应用的向量数据库,专门为构建基于向量搜索的应用程序而设计。它提供了简洁易用的 API,专注于向量存储、搜索和相似性匹配功能。Chroma 的设计理念是让开发者能够快速集成向量搜索功能到他们的 AI 应用中,无需复杂的配置和运维。Chroma 的核心功能包括:简洁易用的向量存储和搜索多种距离度量和相似性计算元数据过滤和查询持久化和内存模式支持与主流 AI 框架集成开发友好的 API 设计原创 2026-04-19 21:10:50 · 765 阅读 · 0 评论 -
Milvus 向量数据库指南
Milvus 是一个开源的高性能向量数据库,专门为大规模向量搜索而设计。由 Zilliz 公司开发,Milvus 提供了专门优化的向量存储、索引和搜索功能,支持多种向量相似性计算方法。它是目前最受欢迎的开源向量数据库之一,广泛应用于人工智能、机器学习和大数据分析领域。原创 2026-04-18 18:11:07 · 675 阅读 · 0 评论 -
MySQL之Limit深度分页性能问题与优化指南
MySQL Limit 深度分页性能问题的核心在于 MySQL 必须扫描并读取 offset 之前的所有记录。针对不同场景,有多种优化方案:子查询优化:适合主键连续的场景,性能提升显著延迟关联:通用性强,适合各种查询条件游标分页:性能最优,但不支持跳页覆盖索引:减少回表,适合固定查询模式预计算/缓存:适合查询模式固定的场景搜索引擎:适合超大数据量和复杂搜索在实际应用中,应根据具体场景选择合适的方案,并结合索引优化、查询优化和缓存策略,构建高性能的分页系统。原创 2026-02-04 17:03:10 · 1204 阅读 · 0 评论 -
各数据库分页机制之比较
数据库分页是处理大量数据时的关键技术,不同的数据库系统提供了多种分页实现方式。本文将深入比较主流数据库的分页机制,分析其性能特点、适用场景以及优缺点。原创 2025-12-04 15:45:44 · 1069 阅读 · 0 评论 -
MongoDB: Fundamental control commands
Commandsvandy@vandy:~$ cd mongo/binvandy@vandy:~/mongo/bin$ sudo ./mongod --dbpath data/dbvandy@vandy:~/mongo/bin$ ./mongo> show dbslocal (empty)product 0.203125GBpytest 0.203125GBtest 0.2原创 2015-05-31 11:10:28 · 566 阅读 · 0 评论 -
SSDB: Download & Install & Start
Download:wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zipInstall:unzip mastercd ssdb-mastermake# 将安装在 /usr/local/ssdb 目录下sudo make install安装过程中可能出现如下错误!g++ ...deps/sn原创 2015-05-13 21:02:47 · 1000 阅读 · 0 评论 -
WAL (Write-Ahead Logging) 架构指南
Write-Ahead Logging (WAL) 是一种用于保证数据完整性和持久性的技术,广泛应用于数据库系统、文件系统和分布式存储中。其核心思想是:在将数据修改应用到实际数据存储之前,先记录所有修改操作的日志。WAL 概念最早在 1976 年由 System R 项目提出,随后被广泛应用于各种数据库系统中。PostgreSQL、MySQL (InnoDB)、SQLite、MongoDB 等主流数据库都采用 WAL 机制来保证 ACID 特性。在传统的数据存储系统中,直接修改数据文件存在以下问题:原原创 2026-04-18 17:42:43 · 793 阅读 · 0 评论 -
ClickHouse之MergeTree存储引擎
ClickHouse是一个面向列的分析型数据库管理系统(OLAP),其核心存储引擎是MergeTree系列。MergeTree引擎借鉴了LSM树(Log-Structured Merge Tree)的设计思想,但针对OLAP场景进行了深度优化。核心特点列式存储:数据按列存储,极大提高分析查询性能顺序写入:采用追加写模式,避免随机I/O后台合并:定期合并数据分片,保持数据有序稀疏索引:使用稀疏索引减少内存占用数据分区:支持按时间等维度分区,便于数据管理压缩存储:支持多种压缩算法,减少存储空间原创 2026-04-16 12:39:23 · 737 阅读 · 0 评论 -
ClickHouse 介绍
ClickHouse 是一个高性能的列式 OLAP 数据库,具有以下核心优势:极致性能:列式存储、向量化执行、高效压缩简单易用:类 SQL 查询语言、丰富的表引擎高可用性:支持副本、分片、分布式查询灵活扩展:支持水平扩展、多种存储后端丰富生态:支持多种数据源集成ClickHouse 适用于以下场景:用户行为分析实时监控告警A/B 测试分析留存分析时间序列分析日志分析BI 报表原创 2026-04-16 12:28:26 · 777 阅读 · 0 评论 -
HBase之LSM树(Log-Structured Merge-Tree)存储引擎
LSM树作为HBase的核心存储引擎,通过将随机写转换为顺序写,实现了极高的写入性能。虽然读取性能相对B+树有所牺牲,但通过BlockCache、布隆过滤器等优化手段,仍然能够满足大多数场景的需求。理解LSM树的原理和HBase的实现细节,对于HBase的性能调优和故障排查至关重要。在实际应用中,需要根据业务特点选择合适的Compaction策略、压缩算法和缓存配置,以获得最佳的性能表现。关键要点回顾LSM树核心思想:将随机写转换为顺序写,通过内存缓冲和后台合并实现HBase实现:MemStor原创 2026-04-15 21:08:02 · 924 阅读 · 0 评论 -
HBase 介绍
HBase(Hadoop Database)是一个高可靠性、高性能、列式可伸缩的分布式存储系统,基于 Google 的 BigTable 论文设计。它构建在 Hadoop HDFS 之上,提供类似于 BigTable 的能力,能够处理数十亿行、数百万列的大规模数据集。HBase 是 Apache Hadoop 生态系统的重要组成部分,特别适合于:海量数据的随机读写访问实时查询和分析半结构化数据存储需要水平扩展的应用场景原创 2026-04-15 16:55:49 · 558 阅读 · 0 评论
分享