milvus/docs/developer_guides/chap09_data_service.md
godchen c2ca2c276f Fix response check error
Signed-off-by: godchen <qingxiang.chen@zilliz.com>
2021-02-04 19:34:35 +08:00

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
}