自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Milvus数据库的向量索引

1.索引是额外的数据存储。索引是建立在数据之外的附加结构。索引优化的本质是用存储空间效率换查询过程的时间效率。2.索引是实现一些快速查询算法的存储基础。某些特殊的数据存放方法,也对应着查询时的一些算法使用。比如在B树的存储结构上,可以使用二分查找的算法。但是要注意,这个算法和后面Quantization的算法是两个不同的东西。

2025-11-30 10:58:36 535

原创 Milvus向量数据库学习笔记(4)

这是索引的第3篇了,其实写到上一篇的时候,我就有些后悔。整个学习笔记是一边读一边写。有点像Milvus官网的翻译加注解的意思。但是,产品官网的重点,在于产品功能的罗列。但是,从学习的角度上来,这样的行文结构,就不太合理。向量数据库索引结构非常显著的分为索引、量化算法两大部分。而Milvus的索引实现,呈现出来是一个索引加一个量化的组合形态。前后有一些重复冗余的内容。如果索引归索引,量化归量化,拆分开来学习,其实结构更加清晰。

2025-11-15 15:01:54 673

原创 Milvus向量数据库学习笔记(3)

上一篇的IVF类索引,还差一个。那就是IVF_RABITQ索引。这个索引,是学习Milvus数据库以来,花时间最长的一个地方。因为要理解RABITQ索引的算法,稍微有些麻烦。在理解上和朋友们有一些交流,有些朋友直接劝说我用就可以了,不需要去理解它。确实,这个策略我是有一定程度的赞成的。就好像传统的数据库,我们天天用B-TREE的索引。但是对于使用这些索引的程序开发者,你正儿八经要他把B-TREE画出来,并且把里面的原理和细节都说清楚,那绝大部分人是做不到的。

2025-11-08 14:43:53 921

原创 Milvus向量数据库学习笔记(2)

第一篇里面简要的提到了索引如何创建,并留下一个索引要新开一篇的坑。实际在学习的过程中来看,要理解Milvus全部的索引,开一篇都是不够的。所以这一篇只是叫索引篇1,后面肯定会有2.3…。要理解细节,还需要一步步来。

2025-09-13 14:42:20 1078

原创 Milvus向量数据库学习笔记(1)。

所以Schema定好了之后,插入的实体必须满足各个Schema的限定,才可以进入Collection。这类似关系数据,插入数据,每一列都要符合那一列的属性。一个Collection Schema有一个主键、最多四个向量字段、和几个标量字段。在官网创建Schema和添加字段的add_field示例代码来看,field应该是没有顺序概念的。所以猜测各个field的存储也是相互独立开的。这个从milvus可以只加载搜索涉及的字段进内存上来说,也比较像独立存储的。

2025-09-06 15:55:10 1065

原创 ORACLE 23AI的新特性,看数据库可能前进的方向

我想大约整个思路是非常清楚的。数据库产品要很通用,要使用面广的化,它把自己设计的比较复杂可能是必然的。但是这种负责永远是对开发者透明的。

2024-05-10 16:11:24 1739

原创 超大型系统的数据库版本质量控制

大概率也是不行的,因为在7*24的系统上,你可能要在有限的时间窗口里,完成大量的步骤,这大概率需要更合理的流程。假设你是一个记忆力不错的DBA,你几乎记住了每一张表的各种使用形态,清楚它的分区等存储设计,了解哪些SQL使用哪个索引,甚至于你记得针对业务场景设计了一些特别参数,这些已经相当不易。一种是,谁的表谁管,即每次投产的数据库变更归对应的开发者,依然视为应用程序版本的一部分。除了这些之外,既然你是一个超大型系统的DBA,你所面对的肯定不仅仅是如此,当然接下面这些问题的本质与上面的问题还是一致的。

2023-08-05 15:43:52 197

原创 分布式关系型数据库里B-TREE和LSM-TREE的性能差别细节

简述分布式关系型数据库里,两种最常见的存储结构B-TREE和LSM-TREE在各种经典场景下的一些性能差异和对比的情况。

2022-10-10 19:29:39 1638 1

原创 Cassandra技术要点选讲

Cassandra数据库,它值得介绍的技术细节其实挺多的。因为它很多实现思路和关系型数据库或者其他的NOSQL数据库,有一些的不同。这种不同是在实现思路根源上的,所以衍生开来的诸多特点,在介绍起来就不太容易和其他数据库去类比。那么Cassandra有这么大量的内容,我们只能选讲其中的一部分内容。这部分内容是如何挑选的呢?在《Cassandra The Definitive Guide》这本书里,有...

2020-01-06 15:26:20 663

原创 分库分表的孪生兄弟--不一样的分区篇(下)

这是更新的间隔时间比较长。回顾一下上一篇文章的内容。数据库为什么要有分区?引《孙子兵法》的第五篇-《兵势篇》孙子曰:凡治众如治寡,分数是也。斗众如斗寡,形名是也。说人话:凡是管理很大的数据库表就和管理小的数据库表一样,把它分区就好了;发挥好每一个分区的功能就和发挥好其中一个分区的功能一样,他们能有一个统一的表名,可以使用统一的SQL语句来调度就好了。上面这段话,从分号隔开,可以分成上下两句。“...

2019-06-05 17:50:39 304 2

原创 分库分表的孪生兄弟--不一样的分区篇(上)

上 篇数据库分区,我觉得可以是一个“伟大”的数据库存储结构概念。如果说,一个编程者,并非一个职业DBA,那么除了表结构本身以外。分区,可能就是程序所需要关注的最靠底层的一个数据库的设计。例如前一篇提到的表空间,通常一个普通开发人员,就未必会去关注。但是分区概念,却不一样。它与应用场景结合更加紧密。比如,按时间、按地区、按类别分区,等等。关于“伟大”一说,我猜测很多人是不赞同我这个观点的。原因...

2019-03-12 22:53:48 506

原创 数据库存储结构-表空间篇

表空间TABLESPACE在主流数据库的存储设计中,通常出现在逻辑存储设计的最底层。在ORACLE 和MYSQL中,表空间再往下走,就直接指向了文件系统(或者ASM)上的一个或者一组文件集合。DB2 (下面全部指ZOS版)在表空间和物理文件中,还有一层存储空间组(SG),DB2 的在表空间定义的时候指定其使用的SG,SG定义的时候,指定其使用的物理卷组。当表空间定义的时候,会在卷组...

2019-02-27 19:54:24 1891

原创 OLTP系统REDIS数据库性能测试纪录

为什么想到用REDIS:由于客户追求较大大的并发交易极限,想尽可能提高数据库承载足够的压力。所以选择尝试测试一下REDIS的效果。测试构思:1.对于OLTP系统,使用REDIS数据库来缓存交易数据库(ORACLE)中长期不修改,或者修改频率较低数据(参数)。优化目标:1.利用REDIS的轻量级,更快的数据返回速度,降低交易响应时间,提高系统吞吐效率。2.利用REDIS负载,减轻主数据库...

2018-10-30 20:03:24 689

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除