Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ConcatIterator ¶
type ConcatIterator struct {
// contains filtered or unexported fields
}
ConcatIterator 将table 数组链接成一个迭代器,这样迭代效率更高
func NewConcatIterator ¶
func NewConcatIterator(tbls []*table, opt *utils2.Options) *ConcatIterator
NewConcatIterator creates a new concatenated iterator
func (*ConcatIterator) Close ¶
func (s *ConcatIterator) Close() error
func (*ConcatIterator) Item ¶
func (s *ConcatIterator) Item() utils2.Item
func (*ConcatIterator) Next ¶
func (s *ConcatIterator) Next()
func (*ConcatIterator) Rewind ¶
func (s *ConcatIterator) Rewind()
func (*ConcatIterator) Seek ¶
func (s *ConcatIterator) Seek(key []byte)
func (*ConcatIterator) Valid ¶
func (s *ConcatIterator) Valid() bool
type Config ¶
type Config struct { WorkDir string MemTableSize int64 SSTableMaxSz int64 // BlockSize is the size of each block inside SSTable in bytes. BlockSize int // BloomFalsePositive is the false positive probabiltiy of bloom filter. BloomFalsePositive float64 // compact NumCompactors int BaseLevelSize int64 LevelSizeMultiplier int // 决定level之间期望的size比例 TableSizeMultiplier int BaseTableSize int64 NumLevelZeroTables int MaxLevelNum int DiscardStatsCh *chan map[uint32]int64 }
type Iterator ¶
type Iterator struct {
// contains filtered or unexported fields
}
Iterator 通用的Iterator迭代器
type LSM ¶
type LSM struct {
// contains filtered or unexported fields
}
func (*LSM) NewIterator ¶
NewIterator 创建LSM迭代器
func (*LSM) NewMemTable ¶
NewMemTable 当内存中memtable已满时,创建新的内存索引
func (*LSM) StartCompaction ¶
func (l *LSM) StartCompaction()
type LevelManager ¶
type LevelManager struct {
// contains filtered or unexported fields
}
func (*LevelManager) CalcL0Score ¶
func (l *LevelManager) CalcL0Score() float64
CalcL0Score 计算l0层的得分:sst文件数/L0最多文件数
func (*LevelManager) Get ¶
func (l *LevelManager) Get(key []byte) (*utils2.Entry, error)
Get query key in sst files from L0-L7
func (*LevelManager) NewIterator ¶
func (l *LevelManager) NewIterator(options *utils2.Options) utils2.Iterator
type MergeIterator ¶
type MergeIterator struct {
// contains filtered or unexported fields
}
MergeIterator 多路合并迭代器 NOTE: MergeIterator owns the array of iterators and is responsible for closing them.
func (*MergeIterator) Item ¶
func (mi *MergeIterator) Item() utils2.Item
Key returns the key associated with the current iterator.
func (*MergeIterator) Next ¶
func (mi *MergeIterator) Next()
Next returns the next element. If it is the same as the current key, ignore it.
func (*MergeIterator) Rewind ¶
func (mi *MergeIterator) Rewind()
Rewind seeks to first element (or last element for reverse iterator).
func (*MergeIterator) Seek ¶
func (mi *MergeIterator) Seek(key []byte)
Seek brings us to element with key >= given key.
func (*MergeIterator) Valid ¶
func (mi *MergeIterator) Valid() bool
Valid returns whether the MergeIterator is at a valid element.