engine

package
v0.0.0-...-dc878bb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package engine 实现微时序数据库的存储引擎。

Engine 是数据库的核心组件,负责协调写入和查询操作。 它管理 Shard 的创建和回收,以及元数据的访问。

架构说明:

Engine → ShardManager → Shards → MemTable/SSTable
Engine → Manager → Catalog / SeriesStore / ShardIndex

Engine 是并发安全的,所有公共方法都可以从多个 goroutine 调用。

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNilPoint            = errors.New("point is nil")
	ErrEmptyDatabase       = errors.New("database name is empty")
	ErrEmptyMeasurement    = errors.New("measurement name is empty")
	ErrInvalidTimestamp    = errors.New("timestamp is negative")
	ErrDatabaseNotFound    = errors.New("database not found")
	ErrMeasurementNotFound = errors.New("measurement not found")
)

错误定义

Functions

This section is empty.

Types

type Config

type Config struct {
	DataDir                string
	ShardDuration          time.Duration
	MemTableCfg            *types.MemTableConfig
	CompactionCfg          *compaction.CompactionConfig
	RetentionPeriod        time.Duration
	RetentionCheckInterval time.Duration
}

Config 定义存储引擎的配置。

type Engine

type Engine struct {
	// contains filtered or unexported fields
}

Engine 是微时序数据库的存储引擎。

func New

func New(cfg *Config) (*Engine, error)

New 创建新的存储引擎实例。

func (*Engine) Close

func (e *Engine) Close() error

Close 关闭引擎,释放所有资源。

func (*Engine) CreateDatabase

func (e *Engine) CreateDatabase(database string) bool

CreateDatabase 创建一个新的数据库。

func (*Engine) CreateMeasurement

func (e *Engine) CreateMeasurement(database, measurement string) (bool, error)

CreateMeasurement 在指定数据库中创建一个新的 Measurement。

func (*Engine) DataDir

func (e *Engine) DataDir() string

DataDir 返回引擎的数据目录。

func (*Engine) DropDatabase

func (e *Engine) DropDatabase(database string) bool

DropDatabase 删除指定的数据库。

func (*Engine) DropMeasurement

func (e *Engine) DropMeasurement(database, measurement string) (bool, error)

DropMeasurement 删除指定的 Measurement。

func (*Engine) Flush

func (e *Engine) Flush() error

Flush 将所有 MemTable 数据刷写到 SSTable。

func (*Engine) ListDatabases

func (e *Engine) ListDatabases() []string

ListDatabases 列出所有数据库名称。

func (*Engine) ListMeasurements

func (e *Engine) ListMeasurements(database string) ([]string, bool)

ListMeasurements 列出指定数据库中的所有 Measurement 名称。

func (*Engine) Query

Query 执行范围查询。

func (*Engine) QueryIterator

func (e *Engine) QueryIterator(ctx context.Context, req *types.QueryRangeRequest) (*query.QueryIterator, error)

QueryIterator 返回流式查询迭代器。

func (*Engine) Write

func (e *Engine) Write(ctx context.Context, point *types.Point) error

Write 写入单个数据点到存储引擎。

func (*Engine) WriteBatch

func (e *Engine) WriteBatch(ctx context.Context, points []*types.Point) error

WriteBatch 批量写入数据点。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL