mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-07 01:28:27 +08:00
5.3 KiB
5.3 KiB
8. Data Service
8.1 Overview
8.2 Data Service Interface
type DataService interface {
Service
RegisterNode(req RegisterNodeRequest) (RegisterNodeResponse, error)
Flush(req FlushRequest) error
AssignSegmentID(req AssignSegIDRequest) (AssignSegIDResponse, error)
ShowSegments(req ShowSegmentRequest) (ShowSegmentResponse, error)
GetSegmentStates(req SegmentStatesRequest) (SegmentStatesResponse, error)
GetSegmentInfo(req SegmentInfoRequest) (SegmentInfoResponse, error)
GetInsertBinlogPaths(req InsertBinlogPathRequest) (InsertBinlogPathsResponse, error)
GetSegmentInfoChannel(req InsertChannelRequest) (StringResponse, error)
GetInsertChannels(req InsertChannelRequest) (StringList, error)
GetCollectionStatistics(req CollectionStatsRequest) (CollectionStatsResponse, error)
GetPartitionStatistics(req PartitionStatsRequest) (PartitionStatsResponse, error)
}
- MsgBase
type MsgBase struct {
MsgType MsgType
MsgID UniqueID
Timestamp Timestamp
SourceID UniqueID
}
- RegisterNode
type RegisterNodeRequest struct {
MsgBase
Address string
Port int64
}
type RegisterNodeResponse struct {
//InitParams
}
- AssignSegmentID
type SegIDRequest struct {
Count uint32
ChannelName string
CollectionID UniqueID
PartitionID UniqueID
}
type AssignSegIDRequest struct {
MsgBase
PerChannelRequest []SegIDRequest
}
type SegIDAssignment struct {
SegmentID UniqueID
ChannelName string
Count uint32
CollectionID UniqueID
PartitionID UniqueID
ExpireTime Timestamp
}
type AssignSegIDResponse struct {
PerChannelResponse []SegIDAssignment
}
- Flush
type FlushRequest struct {
MsgBase
DbID UniqueID
CollectionID UniqueID
}
- ShowSegments
type ShowSegmentRequest struct {
MsgBase
CollectionID UniqueID
PartitionID UniqueID
}
type ShowSegmentResponse struct {
SegmentIDs []UniqueID
}
- GetSegmentStates
enum SegmentState {
NONE = 0;
NOT_EXIST = 1;
GROWING = 2;
SEALED = 3;
}
type SegmentStatesRequest struct {
MsgBase
SegmentID UniqueID
}
type SegmentStatesResponse struct {
State SegmentState
OpenTime Timestamp
SealedTime Timestamp
MsgStartPositions []msgstream.MsgPosition
MsgEndPositions []msgstream.MsgPosition
}
- GetSegmentInfo
type SegmentInfoRequest struct{
MsgBase
SegmentIDs [] UniqueID
}
type SegmentInfo struct {
SegmentID UniqueID
CollectionID UniqueID
PartitionID UniqueID
InsertChannel string
OpenTime Timestamp
SealedTime Timestamp
FlushedTime Timestamp
NumRows int64
MemSize int64
State SegmentState
StartPosition []Msgstream.MsgPosition
EndPosition []Msgstream.MsgPosition
}
type SegmentInfoResponse struct{
infos []SegmentInfo
}
- GetInsertBinlogPaths
type InsertBinlogPathRequest struct {
MsgBase
SegmentID UniqueID
}
type InsertBinlogPathsResponse struct {
FieldIDToPaths map[int64][]string
}
- GetInsertChannels
type InsertChannelRequest struct {
MsgBase
DbID UniqueID
CollectionID UniqueID
}
- GetCollectionStatistics
type CollectionStatsRequest struct {
MsgBase
DbName string
CollectionName string
}
type CollectionStatsResponse struct {
Stats []KeyValuePair
}
- GetPartitionStatistics
type PartitionStatsRequest struct {
MsgBase
DbName string
CollectionName string
PartitionName string
}
type PartitionStatsResponse struct {
Stats []KeyValuePair
}
8.2 Insert Channel
type InsertRequest struct {
MsgBase
DbName string
CollectionName string
PartitionName string
DbID UniqueID
CollectionID UniqueID
PartitionID UniqueID
RowData []Blob
HashKeys []uint32
}
8.2 Data Node Interface
type DataNode interface {
Service
GetComponentStates() (ComponentStates, error)
GetTimeTickChannel() (StringResponse, error)
GetStatisticsChannel() (StringResponse, error)
WatchDmChannels(WatchDmChannelRequest) error
FlushSegments(FlushSegRequest) (Status, error)
//WatchDdChannel(channelName string) error
//SetTimeTickChannel(channelName string) error
//SetStatisticsChannel(channelName string) error
SetMasterServiceInterface(MasterServiceInterface) error
SetDataServiceInterface(DataServiceInterface) error
}
type DataServiceInterface interface {
GetComponentStates() (ComponentStates, error)
RegisterNode(RegisterNodeRequest) (RegisterNodeResponse, error)
}
type MasterServiceInterface interface {
GetComponentStates() (ComponentStates, error)
AllocID(IDRequest) (IDResponse, error)
ShowCollections(ShowCollectionRequest) (ShowCollectionResponse, error)
DescribeCollection(DescribeCollectionRequest) (DescribeCollectionResponse, error)
}
- WatchDmChannels
type WatchDmChannelRequest struct {
MsgBase
InsertChannelNames []string
}
- FlushSegments
type FlushSegRequest struct {
MsgBase
DbID UniqueID
CollectionID UniqueID
SegmentID []UniqueID
}
- SegmentStatistics
type SegmentStatisticsUpdates struct {
SegmentID UniqueID
MemorySize int64
NumRows int64
}
type SegmentStatistics struct{
MsgBase
SegStats []*SegmentStatisticsUpdates
}