
数据库
文章平均质量分 85
梦想画家
开源软件爱好者,乐于博客分享,业余时间喜欢跑步和科幻,希望与意趣相投朋友一起学习交流。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
构建语义搜索引擎:Weaviate的实践与探索
随着人工智能技术的飞速发展,我们与数据的交互方式正在发生深刻变革。传统的基于关键词的搜索方法已经难以满足日益复杂的用户需求,而**语义搜索**作为一种新兴的搜索技术,正逐渐成为主流。本文将介绍如何使用开源向量数据库**Weaviate**构建一个语义搜索引擎,并通过实际案例展示其强大功能。原创 2025-08-06 14:37:26 · 560 阅读 · 0 评论 -
深入探索Weaviate:构建高效AI应用的数据库解决方案
在当今数据驱动的世界中,高效地存储、检索和处理大规模数据成为了AI应用开发的关键挑战。Weaviate作为一个开源的向量搜索引擎,凭借其强大的功能和灵活的架构,正逐渐成为开发者构建智能AI应用的首选工具。本文将深入探讨Weaviate的核心概念、架构设计、索引机制以及其在实际应用中的优势。原创 2025-07-31 08:04:27 · 1277 阅读 · 0 评论 -
Weaviate混合搜索实战:构建高效语义检索系统
本文深入探讨Weaviate的混合搜索(Hybrid Search)技术,结合**稀疏向量(BM25关键词匹配)**和**密集向量(语义嵌入)**,提升检索系统的准确性和相关性。我们将从**需求背景**出发,介绍Weaviate的核心概念,详细讲解**索引构建、文档加载、混合搜索实现**等关键步骤,并提供完整的代码示例。最后,总结Weaviate在知识库、问答系统等场景中的应用价值。原创 2025-07-30 17:35:08 · 1008 阅读 · 0 评论 -
构建InfluxDB 3 Python插件深入实践指南
本文详细介绍了如何使用Python为InfluxDB 3开源版(OSS)构建数据处理插件。我们将从环境搭建开始,逐步引导您创建一个能够标准化IoT数据的Python插件,包括详细的环境配置步骤、完整的示例代码以及测试和部署流程。通过本文,您将掌握InfluxDB 3 OSS Python插件的开发方法,解决物联网数据不一致问题,并为实时数据处理提供强大支持。原创 2025-07-10 10:31:04 · 870 阅读 · 0 评论 -
从零开始构建Airbyte数据管道:PostgreSQL到BigQuery实战指南
作为数据工程师,ETL(Extract, Transform, Load)流程是日常工作的核心。然而,构建和维护数据管道往往耗时且复杂。幸运的是,开源工具Airbyte提供了一种更便捷的解决方案——它支持350+预构建连接器,允许通过无代码方式快速构建数据管道。本文将带你从零开始,使用Airbyte构建一个从PostgreSQL到BigQuery的EL(Extract & Load)管道,并测试API数据源集成。原创 2025-07-03 10:30:30 · 778 阅读 · 0 评论 -
InfluxDB 3 Core 持久化机制深度解析:高可靠实时数据引擎的设计哲学与工业实践
本文深入拆解 InfluxDB 3 Core 的**数据持久化架构**,涵盖写入流程、故障恢复、存储引擎设计,并结合物联网、金融监控等场景分析其高可靠性实现逻辑。通过**对比传统时序数据库架构**与**性能实测数据**,揭示新一代引擎如何平衡实时性与数据安全性,为大规模时序数据处理提供生产级保障。原创 2025-06-30 00:30:00 · 886 阅读 · 0 评论 -
InfluxDB 3 Core 高效查询实战指南:SQL语法解析与系统数据监控进阶
本文深度解析 InfluxDB 3 Core 的 **SQL查询引擎** 和 **系统数据查询能力**,涵盖基础语法、性能优化技巧、系统表监控实战案例。通过 **服务器监控场景示例** 和 **完整Python代码**,帮助开发者掌握时序数据库的高效查询方法,实现毫秒级响应。原创 2025-06-29 08:03:08 · 925 阅读 · 0 评论 -
InfluxDB 3 Core 高效查询利器:Distinct Value Cache 详解与实践指南
Distinct Value Cache(DVC)是 InfluxDB 3 Core 的核心功能,通过缓存表中指定列的唯一值组合,显著提升对标签(tag)和字段(field)的 **去重查询性能**。本文将深入解析 DVC 的核心原理、使用场景与操作流程,结合 **风力监测数据集示例** 和 **完整代码案例**,帮助开发者高效管理高基数数据查询。原创 2025-06-29 02:21:03 · 1025 阅读 · 0 评论 -
InfluxDB 3 Core最后值缓存深度实践:毫秒级响应实时数据的核心引擎
本文深入拆解InfluxDB 3 Core的**最后值缓存(LVC)机制**,涵盖其设计原理、性能优势(10ms内返回结果)、完整CLI操作链(创建-查询-删除),以及针对高基数时序数据的避坑指南。通过企业级实战案例和性能对比数据,揭示如何通过LVC将实时监控查询效率提升25倍,并给出内存优化与故障自愈的最佳实践。原创 2025-06-28 21:05:15 · 1047 阅读 · 0 评论 -
InfluxDB 3 Core数据库管理指南:从概念到实操的完整流程
本文深入解析InfluxDB 3 Core的数据库管理核心概念,涵盖数据库与历史版本的兼容性差异、关键限制(数据库/表/列数量)、以及创建/查看/删除数据库的完整命令行操作。通过结构化流程和实用建议,帮助用户高效管理时序数据存储,规避常见设计陷阱。原创 2025-06-28 20:40:15 · 708 阅读 · 0 评论 -
Druid段大小与缓存策略优化指南:提升查询性能的实战技巧
Druid 是一个高性能的分布式实时分析数据库,广泛应用于日志分析、时序数据处理和交互式查询场景。其查询性能很大程度上依赖于**段(Segment)大小**和**缓存策略**的优化。本文结合Druid官方文档,深入探讨如何调整段大小和缓存策略,以提升查询性能。原创 2025-06-10 01:30:00 · 1049 阅读 · 0 评论 -
Apache Druid数据汇总(Rollup)实战指南
Apache Druid 是一款高性能的实时分析数据库,其核心特性之一是**数据汇总(Rollup)**,它能在数据摄入阶段进行预聚合,显著减少存储空间并提升查询性能。本文将深入讲解 Druid 的 Rollup 机制、示例及实用技巧。通过实际案例,您将学会如何利用 Rollup 优化 Druid 数据存储和查询性能。原创 2025-06-06 01:00:00 · 853 阅读 · 0 评论 -
Apache Druid 架构深度解析:构建高性能分布式数据存储系统
Apache Druid 是一个为实时分析和大规模数据集设计的分布式数据存储系统。本文将深入解析 Druid 的架构设计,探讨其各个组件的功能与交互方式,帮助您理解如何利用 Druid 构建高性能的数据分析平台。原创 2025-06-05 20:36:06 · 2120 阅读 · 0 评论 -
InfluxDB OSS v2 安全架构深度解析:认证与授权的实战指南
在当今混合云、远程办公和微服务架构盛行的时代,数据安全已成为企业数字化转型的核心挑战。作为企业时间序列数据管理的基石,InfluxDB OSS v2 不仅提供了卓越的性能和灵活性,更构建了一套完善的安全防护体系。本文将深入剖析 InfluxDB OSS v2 的认证(Authentication)与授权(Authorization)机制,通过实际案例和代码示例,帮助您构建坚不可摧的数据安全防线。原创 2025-06-04 01:45:00 · 952 阅读 · 0 评论 -
InfluxDB性能瓶颈破解:查询缓存设计模式与内存存储调优秘籍
在时间序列数据库的世界里,InfluxDB以其高效处理高频率数据的能力而闻名。然而,即使拥有强大的TSM索引机制,系统性能仍可能遇到瓶颈——尤其是在面对海量重复查询或实时分析需求时。本文将深入探讨两个被低估但极其重要的性能优化利器:**查询缓存(Query Caching)**和**内存存储(In-Memory Storage)**,并通过实战代码和解决方案展示如何最大化它们的价值。原创 2025-06-03 00:30:00 · 1078 阅读 · 0 评论 -
MinIO纠删码技术解析:数据冗余与高可用的存储密码
在分布式存储系统中,硬盘故障如同"灰犀牛事件"——你明知它会发生,却无法预测具体时间。传统三副本方案虽可靠,但存储成本高达300%。MinIO的纠删码(Erasure Coding)技术通过数学算法,在保障数据安全的同时将存储开销压缩至50%以下。本文将深入解析其核心机制与应用场景。原创 2025-05-21 16:44:38 · 1041 阅读 · 0 评论 -
深入解析OrientDB:多模型数据库的技术优势与实际应用
OrientDB 是一款开源的多模型 NoSQL 数据库,融合了文档数据库、图数据库和对象数据库的特性。它不仅支持灵活的数据建模,还提供了高性能的查询能力,适用于社交网络、物联网、内容管理等场景。本文详细探讨 OrientDB 的核心特性、应用场景,并通过实际案例展示其技术优势,帮助开发者更好地理解和应用这一多模型数据库。原创 2025-05-20 20:38:11 · 1151 阅读 · 0 评论 -
InfluxDB 2.7 连续查询实战指南:Task 替代方案详解
InfluxDB 2.7 引入了 Task 功能,作为连续查询(CQ)的现代替代方案。本文详细介绍了如何使用 Task 实现传统 CQ 的功能,包括语法解析、示例代码、参数对比以及典型应用场景。通过实际案例和最佳实践,帮助开发者高效迁移并充分利用 Task 的强大功能。原创 2025-05-16 21:31:47 · 1204 阅读 · 0 评论 -
Bash 脚本:让数据库管理更高效
通过使用 Bash 脚本,您可以简化数据库的交互和维护任务。本文介绍的示例包括基本的查询、自动化备份、表优化、清理旧数据和监控性能。这些脚本不仅提高了数据库管理的效率,还减少了手动操作的需求。希望这些示例对您在实际工作中有所帮助!原创 2025-04-28 01:30:00 · 575 阅读 · 0 评论 -
DuckDB: 如何进行数据库性能测试
TPC-DS(Transaction Processing Performance Council - Decision Support)是由事务处理性能委员会(TPC)制定的一个决策支持基准测试标准,主要用于评测数据库系统在决策支持类应用中的性能,以下是其详细解释:随着数据量的爆炸式增长和企业对数据分析、决策支持需求的不断提高,需要一种标准化的方法来评估数据库系统在处理复杂查询和大规模数据时的性能。TPC-DS 就是在这种背景下应运而生的。原创 2024-12-23 12:08:09 · 1152 阅读 · 0 评论 -
etcd分布式存储系统快速入门指南
Etcd是一个分布式的、可靠的键值存储,用于存储分布式系统中最关键的数据。它是一种简单、安全、快速和可靠的键值存储,专为分布式系统的配置管理、服务发现和协调而设计。Etcd是由CoreOS团队开发的,现在是CNCF(云原生计算基金会)项目,它提供了一个可靠的分布式数据存储,可以在动态和可扩展的环境中协调配置和发现服务。Etcd丰富的特性集使其成为分布式系统的通用且可靠的选择,为云原生环境中的配置管理、服务发现和协调提供了必要的构建块。在某些情况下,它可以达到每秒10,000次写。原创 2024-12-05 12:05:20 · 1148 阅读 · 0 评论 -
PostgreSQL实现透视表查询
PostgreSQL 8.3版本发布时,引入了一个名为tablefunc的新扩展。这个扩展提供了一组非常有趣的函数。其中之一是交叉表函数,用于创建数据透视表。这就是我们将在本文中讨论的内容。原创 2024-11-30 21:25:04 · 1007 阅读 · 0 评论 -
介绍Jackson JsonParser解析json
介绍Jackson JsonParser解析json前文介绍了通过JsonNode解析json,本文深入底层工具JsonParser的用法。1. 概述实际应用中经常需要解析json数据,如查询NoSql数据库时响应数据格式通常为Json格式。JsonNode可以非常方便地实现,JsonParser类是底层JSon解析器,类似于Java使用stAx解析xml,但JsonParser仅仅解析Js...原创 2020-03-14 16:39:08 · 16031 阅读 · 1 评论 -
使用redis实现简单消息队列
使用redis实现简单消息队列本文我们使用redis中的list命令实现简单的消息队列。需求背景一个允许用户上传照片的应用,然后使用不同大小展示照片(缩略、中等大小和较大方式)。第一次实现考虑在上传照片请求中实现图像转换,但处理图像任务比较重,使得请求非常慢,用户体验不好。可能的解决方案通过Message Queue(MQ,消息队列)实现异步处理。有许多知名的MQ产品,如:ActiveMQ...原创 2019-06-17 15:32:59 · 5689 阅读 · 0 评论 -
Spring Data Redis 教程
Spring Data Redis 教程本文我们介绍Spring Data Redis,它是对流行的内存数据库Redis在Spring data 框架下的抽象。Redis使用键值对数据结构持久化数据,可以作为数据库、缓存、消息代理等。我们能够使用Spring data通用模式(template等),同样也具有Spring data传统的简单性。1. 环境配置1.1. maven 依赖首...原创 2019-12-24 19:16:42 · 557 阅读 · 0 评论 -
Spring Data Redis 教程2
Spring Data Redis 教程2上篇《Spring Data Redis 教程》 已经提及如何使用spring data 访问redis,但仅仅用了Spring data 提供的template,template在存储POJO很方便,但有时我们需要更灵活。本文一起了解Spring data 的另一个组件Operations,并通过Spring boot从头搭建web示例进行详细说明。...原创 2019-12-28 12:18:41 · 891 阅读 · 0 评论 -
介绍Redis中lua脚本应用
介绍Redis中lua脚本应用Redis即使从redis-cli客户端也可以实现神奇的事情,当然选择特定语言对应客户端一样可以。但是有时在C/S架构下有些功能不能有效或安全地实现————其逻辑需要在数据库层执行,这是就需要引入lua脚本。Lua是Redis中集成的脚本语言,使用lua可以自动执行一段代码,无需在客户端与服务器端之间传输。示例需求我们需要给hash结构中的字段追加值。我们知道R...原创 2019-06-11 15:54:50 · 1704 阅读 · 0 评论 -
Spring Boot应用利用Redis实现频率限制
本文我们演示如何构建产品级的频率限制特性,在Spring Boot应用中使用使用Redis 和 Spring data Redis模块。频率限制通常用于API请求的节流。频率限制频率限制就是要限制在给定时间内对特定服务的请求次数。对于产品级的API通常会限制没人每小时的调用次数。下面举例说明:特定手机在一小时内允许 5 个OTP(One-Time Password)网站允许每小时5次忘记密码使用给定API KEY允许20次请求博客站点允许用户(或IP地址)每分钟发布最多1个评论Red.原创 2021-06-05 17:38:13 · 1388 阅读 · 1 评论 -
Redis事务命令介绍
Redis事物命令介绍Redis基础命令在数据管理中扮演重要角色,Redis命令被设计为原子的,即Redis事务使用全由或全无命题,即一组命令要么都执行要么都不执行,一旦执行不会受其他事物干扰。因此了解事务的基本命令是简化工作量的关键,本文带你了解如何使用Redis命令。1. Redis的事务命令我们先介绍下Redis与事务相关的基础命令及功能:MULTI - 事务块的开始EXEC - 执行队列命令的信号,命令执行后返回正常状态DISCARD - 一旦执行完成清理队列中的命令,然后返回正常状原创 2020-06-20 14:50:50 · 509 阅读 · 0 评论 -
Spring Data Redis 实战
## Spring Data Redis 实战redis 介绍redis是使用ANSI C 编写的NOSQL数据库,并提供领域专用语言DSL。其采用客户端/服务器端模式,监听TCP端口并接收命令。客户端发送命令:SET foo bar或LPUSH mylist val命令在一个key上执行原子操作,读写一个或多个key值。没有任何竞争条件发生,不需要任何锁机制。redis所有基于k...原创 2019-02-27 12:50:03 · 397 阅读 · 0 评论 -
如何使用Redis Watch命令
如何使用Redis Watch命令使用Redis管理数据,理解如何使用事务存储键值对数据很重要。Redis事务与RDMMS事务有些类似,但也有差异。Redis主要通过几个命令有效管理事务,本文讨论Redis的Watch命令以及如何使用。1. 概述在阅读之前你最好安装好Redis环境,熟悉Redis常用命令。Redis事务命令主要包括 WATCH, EXEC, DISCARD, MULTI。这些命令构成一组命令块,确保在一个步骤中全部执行。首先,它们确保事务中的命令将按顺序执行并序列化。这意味着在执行原创 2020-06-24 18:15:17 · 7615 阅读 · 4 评论 -
QueryDsl查询mongodb数据1
QueryDsl查询mongodb数据1 使用开发spring data MongoDB respository查询过程中,默认使用Query By Example非常不方便,Querydsl与无具体实现无关,比较灵活。本文简要介绍Querydsl,并配置gradle生成查询类,后续介绍相关查询使用。Querydsl简介Querydsl框架(http://www.queryd原创 2017-10-25 14:04:42 · 3634 阅读 · 0 评论 -
groovy优势:自定义动态Bean
开发mongodb,json很方便,但有时又需要bean,为了不固定属性,需要动态的生成bean。下面两种方式都可以实现,供参考。groovy自定义beanGroovy中Expando类是一种动态Bean。我们可以Expando类的实例增加属性和闭包,当我们对一个简单的bean不想为其创建一个类,是非常有用的。def user = new Expando(username: 'mrhaki')a原创 2017-03-11 11:30:04 · 2652 阅读 · 0 评论 -
mongodb 数据库无模式应用
mongodb 数据库无模式应用 mongodb 无模式应用,采用关系型数据库无法企及的优势。mongodb相对RDBMS的优势无模式:mongodb是文档型数据库,集合中包括多个文档,每个文档包括多个字段,不同文档之间结构可以不同。除此还有其他优势如下:单个对象的结果非常清晰没有复杂的连接强大的查询能力,支持动态查询方便优化容易扩展无需应用对象和数据库对象之间转换使用内存存储工原创 2017-02-28 22:25:58 · 1036 阅读 · 0 评论 -
快速掌握 Cypher 查询语言
> Cypher是最广泛采用的、开放的、专门用于图数据库查询语言。它提供了一种直观和快速的方式来处理图数据。>> 本文包含一些常见的Cypher查询及其解释。如果你不确定如何编写Cypher查询时,可以查看此文备忘单。如果你是图形数据库和Cypher的新手,你也可以使用这篇文章来熟悉Cypher提供的功能。原创 2023-07-27 13:55:25 · 1572 阅读 · 0 评论 -
Neo4j数据库中导入CSV示例数据
本文简要介绍Neo4j数据库以及如何从CSV文件中导入示例数据,方便我们快速学习测试图数据库。首先介绍简单数据模型以及基本图查询概念,然后通过LOAD CSV命令导入数据,生成节点和关系。原创 2023-07-26 16:23:54 · 2144 阅读 · 0 评论 -
Java访问OrientDB数据库实战教程
OrientDB是开源多模式NoSQL数据库,支持图、文档、key-value、地理空间等多种存储模式;同时支持SQL语法进行查询交互,本文介绍OrientDB数据库的Java api。原创 2022-07-10 21:26:24 · 1359 阅读 · 0 评论 -
Python读写时序数据库InfluxDb
InfluxDb 是高性能的时间序列数据库,能够存取高吞吐量时间序列数据,每秒可达几百万数据点。数据点(或时间序列数据)可能是CPU运行指标、不同服务器的日志信息、传感器数据、股票市场数据等。InfluxDb 使用Go语言开发,无需外部依赖。InfluxDb 提供了类SQL接口查询数据。自动压缩数据和降低采样率有助于最大限度地减少存储空间。通过连续查询和数据保留策略,可以让数据库中的旧数据过期。行协议语法下面示例度量名称为weather,包括两个标签location和season再看一个示例,除了标签原创 2022-06-10 21:04:24 · 4441 阅读 · 2 评论 -
PostgreSQL NUMERIC 数据类型
NUMERIC 类型能存储大数据量的数值。通常NUMERIC类型用于需要精确性的数字,如货币数量或度量。本文介绍 NUMERIC ,并通过示例学习它的特性。介绍 NUMERICNUMERIC类型的语法:NUMERIC(precision, scale)precision 表示整个数据长度,scale 表示小数部分的长度。如: 1234.567 ,precision 为 7 ,scale 为 3.NUMERIC 类型 在小数点前面长度可达到 131,072 ,小数点后面长度可达到 16,38.原创 2021-07-17 17:12:22 · 43245 阅读 · 1 评论 -
Spring AbstractRoutingDatasource 实现动态数据源
本文介绍如何使用 Spring AbstractRoutingDatasource 基于上下文动态切换数据源,因此我们会让查找数据源逻辑独立于数据访问之外。数据源上下文AbstractRoutingDatasource 需要信息决定路由到那个数据源,该信息我们称为上下文。可以市任何对象,下面示例我们使用枚举 ClientDatabase 作为上下文:public enum ClientDatabase { CLIENT_A, CLIENT_B}值得注意的是,实际中上下文可以是任何有意.原创 2021-06-27 22:29:11 · 583 阅读 · 1 评论