自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (66)
  • 收藏
  • 关注

原创 go设计模式之工厂方法模式

工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化推迟到其子类。这个接口就是工厂接口,子类就是具体工厂类,而需要创建的对象就是产品对象。客户端代码只需要调用工厂接口的方法,而无需关心具体的产品对象是如何创建的。用于创建对象的过程中将实例化的逻辑封装在一个工厂方法中。把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。在 Go 语言中,工厂方法模式经常被用于对象的创建和初始化。

2024-04-24 17:30:12 411

原创 milvus datanode启动源码分析

datanode是一个接口,实现datanode api功能。components.NewDataNode是一个函数。NewDataNode()用来创建DataNode结构体。grpcdatanode.NewServer()产生的是本结构体Server。dn.NewDataNode()返回一个结构体,是 types.DataNodeComponent接口的一个实现datanode.DataNode结构体。

2024-04-24 14:33:29 188

原创 milvus datacoord启动源码分析

dataCoord是一个接口,实现dataCoord api功能。components.NewDataCoord是一个函数。NewDataCoord()用来创建DataCoord结构体。grpcdatacoordclient.NewServer()产生的是本结构体Server。datacoord.CreateServer()返回一个结构体datacoord.Server,是接口types.DataCoordComponent的实现。

2024-04-23 17:11:54 260

原创 milvus对象存储和消息中间件的工厂设计模式分析

从代码框架可以看出每一种mq都有一个工厂,存储只有一个工厂。

2024-04-23 15:03:27 312

原创 milvus querynode启动源码分析

querynode是一个接口,实现querynode api功能。components.NewQueryNode是一个函数。NewQueryNode()用来创建QueryNode结构体。grpcquerynode.NewServer()产生的是本结构体Server。qn.NewQueryNode()返回一个结构体,是 types.QueryNodeComponen接口的一个实现。

2024-04-17 14:27:34 373

原创 milvus querycoord启动源码分析

分析变量dataCoord、rootCoord是何时赋予的值。queryCoord是一个接口,实现queryCoord api功能。components.NewQueryCoord是一个函数。NewQueryCoord()用来创建QueryCoord结构体。grpcquerycoord.NewServer()产生的是本结构体Server。qc.NewQueryCoord()返回一个结构体,是types.QueryCoordComponent接口的实现。

2024-04-16 15:56:15 398

原创 milvus proxy启动源码分析

分析变量rootCoordClient、dataCoordClient、queryCoordClient是何时赋予的值。proxy是一个接口,实现proxyapi功能。components.NewProxy是一个函数。NewProxy()用来创建Proxy结构体。rc.NewServer()产生的是本结构体Server。proxy.NewProxy()产生结构体,是types.ProxyComponent接口的实现。代码位于。

2024-04-16 10:45:05 514

原创 rootcoord启动源码分析

分析变量rootCoord、dataCoord、queryCoord是何时赋予的值。rootCoord是一个接口,实现rootCoord api功能。components.NewRootCoord是一个函数。NewRootCoord()用来创建RootCoord结构体。rc.NewServer()产生的是本结构体Server。rootcoord.NewCore()产生结构体,是types.RootCoordComponent接口的实现。s.rootCoord的结构体叫做Core。

2024-04-12 18:14:31 515

原创 milvus各组件的结构体分析2

分析各组件的服务端API。

2024-04-12 14:44:28 417

原创 milvus各组件的结构体分析

只有Proxy和IndexNode没有ctx。为什么这2个没有ctx?由于IndexCoord和DataCoord合并了,这里结构体为空。各组件启动,需要构建各组件的结构体,一共8个。真正的组件功能API都在Server端。每个服务端都有自己的API。

2024-04-11 16:53:39 269

原创 go的option模式

把option定义为函数。函数用于创建一个新的实例。它接受一个或多个Option类型的参数,并使用这些参数来配置的实例。:当需要创建一个对象,并且这个对象有很多可配置的属性时,使用Option模式可以避免构造函数的参数列表变得冗长和难以管理。

2024-04-11 15:10:16 376

原创 milvus的compaction机制

dataCoord.compaction.global.interval = 60 #默认60秒,触发compaction信号。dataCoord.compaction.check.interval = 10 #默认10秒,更新状态。compaction用来合并对象存储的小文件,将小的segment合并为大的segment。dataCoord.compaction.max.segment = 30 #默认30。dataCoord.compaction.min.segment = 3 #默认3。

2024-04-10 16:11:49 491

原创 milvus启动源码分析

版本:v2.3.2。

2024-04-10 16:06:02 935

原创 collection相关操作

使用了utility工具类判断collection是否存在、load状态。

2024-04-09 16:15:14 137

原创 pymilvus创建IVF_ScaNN向量索引

索引的作用是加速大型数据集上的查询。目前,向量字段仅支持一种索引类型,即只能创建一个索引。milvus支持的向量索引类型大部分使用近似最近邻搜索算法(ANNS,approximate nearest neighbors search)。ANNS 的核心思想不再局限于返回最准确的结果,而是仅搜索目标的邻居。ANNS 通过在可接受的范围内牺牲准确性来提高检索效率。

2024-04-09 14:50:19 470

原创 pymilvus创建IVF_SQ8向量索引

索引的作用是加速大型数据集上的查询。目前,向量字段仅支持一种索引类型,即只能创建一个索引。milvus支持的向量索引类型大部分使用近似最近邻搜索算法(ANNS,approximate nearest neighbors search)。ANNS 的核心思想不再局限于返回最准确的结果,而是仅搜索目标的邻居。ANNS 通过在可接受的范围内牺牲准确性来提高检索效率。

2024-04-08 14:14:12 406

原创 pymilvus创建IVF_PQ向量索引

索引的作用是加速大型数据集上的查询。目前,向量字段仅支持一种索引类型,即只能创建一个索引。milvus支持的向量索引类型大部分使用近似最近邻搜索算法(ANNS,approximate nearest neighbors search)。ANNS 的核心思想不再局限于返回最准确的结果,而是仅搜索目标的邻居。ANNS 通过在可接受的范围内牺牲准确性来提高检索效率。

2024-04-08 14:11:09 423

原创 pymilvus创建IVF_FLAT向量索引

索引的作用是加速大型数据集上的查询。目前,向量字段仅支持一种索引类型,即只能创建一个索引。milvus支持的向量索引类型大部分使用近似最近邻搜索算法(ANNS,approximate nearest neighbors search)。ANNS 的核心思想不再局限于返回最准确的结果,而是仅搜索目标的邻居。ANNS 通过在可接受的范围内牺牲准确性来提高检索效率。

2024-04-07 15:07:32 544

原创 milvus search api的数据结构

此api的功能是向量相似度搜索(vector similarity search)

2024-04-07 14:26:45 318

原创 pymilvus创建FLAT向量索引

索引的作用是加速大型数据集上的查询。目前,向量字段仅支持一种索引类型,即只能创建一个索引。milvus支持的向量索引类型大部分使用近似最近邻搜索算法(ANNS,approximate nearest neighbors search)。ANNS 的核心思想不再局限于返回最准确的结果,而是仅搜索目标的邻居。ANNS 通过在可接受的范围内牺牲准确性来提高检索效率。

2024-04-03 15:15:08 158

原创 pymilvus创建向量索引

索引的作用是加速大型数据集上的查询。目前,向量字段仅支持一种索引类型,即只能创建一个索引。milvus支持的向量索引类型大部分使用近似最近邻搜索算法(ANNS,approximate nearest neighbors search)。ANNS 的核心思想不再局限于返回最准确的结果,而是仅搜索目标的邻居。ANNS 通过在可接受的范围内牺牲准确性来提高检索效率。

2024-04-03 11:04:19 484

原创 安装客户端pymilvus

PyMilvus 是 Milvus 的 Python SDK。

2024-04-02 17:37:00 365

原创 创建collection并执行向量搜索

collection属于某个db。使用attu创建collection。

2024-04-02 11:09:40 576

原创 milvus-2.3.12安装部署

使用Docker Compose安装 Milvus standalone(即单机版),进行一个快速milvus的体验。前提条件:1.系统可以使用centos或者ubuntu2.系统已经安装docker和docker-compose3.milvus版本这里使用2.3.12。

2024-04-01 15:33:25 572

原创 milvus knowhere源码编译测试

Knowhere 是 Milvus 的核心向量执行引擎,集成了和等多个向量相似度搜索库。

2024-03-29 10:14:50 567

原创 Upsert api写s3的流程源码分析

milvus版本:v2.3.2:先insert再delete,并限制不能修改主键列。

2024-03-05 17:26:18 319

原创 milvus upsert流程源码分析

milvus版本:v2.3.2。

2024-02-27 17:05:26 476

原创 milvus Upsert api数据结构源码分析

该方法将实体更新插入到 Milvus 中。如果集合中已存在指定字段,则该操作将覆盖现有实体;如果指定值尚不存在,则插入新实体。:先insert再delete,并限制不能修改主键列。:主键的autoid必须是false。:会带来一定的性能开销。

2024-02-27 16:56:35 509

原创 milvus Delete api写s3的流程

1.delete/insert增量数据写入buffer。2.满足一定条件buffer刷入s3。

2024-02-23 16:38:30 420

原创 milvus Delete API流程源码分析

delete api根据expr走simpleDelete还是complexDelete。complexDelete最终也会转化为simpleDelete。

2024-02-22 15:40:46 927

原创 milvus insert数据在s3的存储

insert按列进行数据序列化后分别写入s3,一个列一个文件。

2024-02-20 14:12:00 1006

原创 milvus insert api的数据结构源码分析

FloatVector是一个长度为30的float32数组,插入的是10个3维向量,1个向量是3个float32,在这里展开了。FieldData_Scalars存储标量数据,FieldData_Vectors存储向量数据。FieldsData是一个数组,如果insert有3列,则数组长度为3,按照插入顺序。它有2个实现:FieldData_Scalars和FieldData_Vectors。isScalarField_Data是一个接口。isVectorField_Data是一个接口。

2024-02-18 16:55:34 502

原创 anaconda3轻松解决python环境问题

Anaconda3是一个用于数据科学和机器学习的Python发行版本,包含了大量的科学包和工具。Anaconda3还提供了环境管理功能,允许用户在同一台机器上安装和使用多个版本的Python,并且可以轻松切换。特别是在linux环境,由于python官方只提供了源码安装包,通过源码编译安装可能会出现各种依赖的缺失,安装变得异常麻烦,使用anaconda3能够非常轻松地解决python环境问题。

2024-01-26 18:52:21 449

原创 python grpc客户端通道复用问题

有时候在做性能测试、压测的时候需要关闭这个特性。参考到官方文档,有一个参数可以进行控制。这段代码不会复用连接。二、gRPC工具编译。这段代码会复用连接。

2024-01-26 12:18:18 344

原创 不用找电工自己就能搞定家庭常见开关插座灯泡接线

火线:简写L,英文全称是Live,一般是红色的线。零线:简写N,英文全称是Neutral,一般是蓝色的线。地线:一般用符号代替,,一般是黄色的线。火线用测电笔带电。火线和零线形成回路,负载就会工作。一般插座用1.5平方的线,家里电器一般用2.5平方的线。

2024-01-15 10:17:06 516

原创 milvus的db和collection信息查询

从代码可以看出获取collection的一些信息主要用到了DescribeCollection()、GetCollectionStatistics(),获取精确数量用到了Query()。attu是一个非常好的管理milvus的图形化web工具。在这里显示了数据库名称、collection名称、load状态、一致性隔离级别、近似数量、描述等信息。数据库名称、db所属的collection名称、一致性隔离级别、近似数量、精确数量。然后我们通过go sdk对其中的一些信息进行展示。

2023-12-27 17:32:23 573 2

原创 milvus的delete操作

这里例子指定了2个id需要删除,如果这2个id不存在,【delete count】也会返回2。milvus支持delete操作。milvus版本:v2.3.2。

2023-12-26 11:12:34 404 1

原创 queryCoord的balancer分析

checker.Check()有4个实现,会调用AssignSegment、AssignChannel、BalanceReplica方法。代码位置:internal\querycoordv2\balance\balance.go。milvus版本:v2.3.2。这个接口有3个实现。

2023-12-11 17:31:50 384

原创 dataCoord的Compaction分析2

isCollectionAutoCompactionEnabled()判断是否设置collection级别。compaction用来合并对象存储的小文件,将小的segment合并为大的segment。t.handleSignal(signal) 用来处理collection级别的信号。go t.startGlobalCompactionLoop() 定时触发全局信号。t.handleGlobalSignal(signal) 用来处理全局信号。collection信号在flush的时候触发。

2023-12-08 16:18:07 410

原创 milvus的compaction分析(小文件合并大文件)

Params.DataCoordCfg.SegmentSmallProportion.GetAsFloat()为0.5。第1个goroutine里面,判断compaction信号(signal)是全局还是collection级别。10秒更新一次状态。compaction用来合并对象存储的小文件,将小的segment合并为大的segment。t.isSmallSegment(segment) 判断是否属于small segment。segment.GetMaxRowNum()为3441480。

2023-12-07 17:12:39 380

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z03

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z03

2017-08-09

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z02

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z02

2017-08-09

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z01

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z01

2017-08-09

netty-4.1.13.Final.tar.bz2

netty4包

2017-07-28

( apache-activemq-5.13.0-bin.zip )

( apache-activemq-5.13.0-bin.zip )

2017-07-20

选择文件 ( apache-activemq-5.13.0-bin.z02 )

选择文件 ( apache-activemq-5.13.0-bin.z02 )

2017-07-20

( apache-activemq-5.13.0-bin.z01 )

( apache-activemq-5.13.0-bin.z01 )

2017-07-20

apache-activemq-5.13.0-bin.zip

apache-activemq-5.13.0-bin.zip

2017-07-20

activemq5.15.0-3

activemq5.15.0-3 jar

2017-07-19

activemq5.15.0-2

activemq5.15.0-2 jar

2017-07-19

activemq5.15.0-1

activemq5.15.0-1 jar

2017-07-19

spring-context-support

spring-context-support包

2017-07-12

shiro-1.3.2

shiro-1.3.2 zip包

2017-07-12

ehcache-core

ehcache-core

2017-07-12

shiro-ehcache

shiro-ehcache

2017-07-12

SpringMvc+Spring+Mybatis+Maven整合示例源码

SpringMvc+Spring+Mybatis+Maven整合示例源码,SpringMvc+Spring+Mybatis+Maven整合示例源码

2017-07-09

mybatis-spring

mybatis-spring jar包

2017-07-06

shiro-jar包

apache shiro-jar包

2017-07-02

jersey-1.19.3-jar

jersey-1.19.3-jar

2017-06-29

apache-maven

apache maven 3.3.9

2017-06-28

Elasticsearch服务器开发

Elasticsearch服务器开发

2017-08-27

elasticsearch-2.4.6-安装后

elasticsearch-2.4.6-安装后

2017-08-27

kibana-4.6.6-windows-x86-安装后

kibana-4.6.6-windows-x86-安装后

2017-08-27

elasticsearch-2.4.6.zip

elasticsearch-2.4.6.zip

2017-08-27

kibana-4.6.6-windows-x86.zip

kibana-4.6.6-windows-x86.zip

2017-08-27

node-v6.11.2-x64.zip

node-v6.11.2-x64.zip

2017-08-27

jdk-8u144-windows-x64.z03

jdk-8u144-windows-x64.z03

2017-08-26

jdk-8u144-windows-x64.z02

jdk-8u144-windows-x64.z02

2017-08-26

jdk-8u144-windows-x64.z01

jdk-8u144-windows-x64.z01

2017-08-26

jdk-8u144-windows-x64

jdk-8u144-windows-x64

2017-08-26

elasticsearch-5.5.2.zip

elasticsearch-5.5.2.zipelasticsearch-5.5.2.zip

2017-08-26

robo3t-1.1.1-windows-x86_64-c93c6b0

robo3t-1.1.1-windows-x86_64-c93c6b0.zip

2017-08-21

logback.zip包

logback.zip包

2017-08-16

dubbo包

dubbo包

2017-08-16

zookeeper-3.4.10.zip

zookeeper-3.4.10.zip

2017-08-09

zookeeper-3.4.10.z01

zookeeper-3.4.10.z01

2017-08-09

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z07

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z07

2017-08-09

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z06

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z06

2017-08-09

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z05

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z05

2017-08-09

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z04

mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.z04

2017-08-09

空空如也

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

TA关注的人

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