MCPcopy
hub / github.com/lindb/lindb

github.com/lindb/lindb @v0.4.1 sqlite

repository ↗ · DeepWiki ↗ · release v0.4.1 ↗
9,819 symbols 36,001 edges 995 files 4,784 documented · 49%
README
<img width="400" src="https://github.com/lindb/lindb/wiki/images/readme/lindb_logo.png">

LICENSE Language Go Report Card LinDB CI Frontend CI Docker Latest Docker Release codecov GoDoc contribution Twitter Follow

English | 简体中文 | 日本語

简介

LinDB 是一个高性能、高可用并且具备水平拓展性的开源分布式时序数据库。

编译

依赖

在本地编译 LinDB 需要以下工具: - Go >=1.21 - Make tool - Yarn

获取代码

git clone https://github.com/lindb/lindb.git
cd lindb

编译源代码

仅编译 LinDB 后端(无管理界面)

make build

同时编译 LinDB 前端与后端

make build-all

测试

make test

管理界面(开发者)

启动 LinDB 前端应用

cd web
yarn install
yarn dev

可以通过 localhost port 3000 来访问

架构

architecture

Admin UI

Some admin ui snapshots.

Overview

overview

Monitoring Dashboard

dashboard

Replication State

replication

Data Explore

explore

Explain

explain

JAVA 版 LinDB 相关文章

贡献代码

我们非常期待有社区爱好者能加入我们一起参与开发,CONTRIBUTING 是一些简单的 PR 的规范,对于 一个 PR 中的多个 commit,我们会根据情况在合并时做 squash 并进行归类,以方便后续查看回溯。

CI

PR 应当带上合适的标签,并且关联到已有的 issue 上 issues。 所有的 PR 都会在 GITHUB-Actions 进行测试,社区贡献者需要关注 CI 的结果,对未通过的错误进行修复。

静态检查

我们使用了以下的检查器,所有代码都需要针对以下工具做一些调整。

  • gofmt - Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification;
  • golint - Golint differs from gofmt. Gofmt reformats Go source code, whereas golint prints out style mistakes;
  • goimports - Goimports does everything that gofmt does. Additionally it checks unused imports;
  • errcheck - Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases;
  • gocyclo - Computes and checks the cyclomatic complexity of functions;
  • maligned - Tool to detect Go structs that would take less memory if their fields were sorted;
  • dupl - Tool for code clone detection;
  • goconst - Finds repeated strings that could be replaced by a constant;
  • gocritic - The most opinionated Go source code linter;

开源许可协议

LinDB 使用 Apache 2.0 协议, 点击 LICENSE 查看详情。

Extension points exported contracts — how you extend this code

DataLoader (Interface)
DataLoader represents the loader which load metric data from storage. [7 implementers]
flow/filtering.go
Merger (Interface)
Merger represents merger values of same key when do compaction job(compact/rollup etc.) [6 implementers]
kv/merger.go
CompactJob (Interface)
go:generate mockgen -source ./compact_job.go -destination=./compact_job_mock.go -package kv CompactJob represents the co [7 …
kv/compact_job.go
Log (Interface)
Log represents metadata edit log for family level [8 implementers]
kv/version/log.go
Statement (Interface)
Statement represents LinDB query language statement [10 implementers]
sql/stmt/statement.go
FieldIterator (Interface)
FieldIterator represents a field's data iterator, support multi field for one series. [12 implementers]
series/iterator.go
ChannelManager (Interface)
go:generate mockgen -source=./channel_manager.go -destination=./channel_manager_mock.go -package=replica ChannelManager [6 …
replica/channel_manager.go
TSDValueGetter (Interface)
TSDValueGetter represents value getter from tsd. [7 implementers]
pkg/encoding/tsd.go

Core symbols most depended-on inside this repo

Error
called by 659
pkg/stream/reader.go
Unlock
called by 238
pkg/lockers/file_lock.go
Lock
called by 236
pkg/lockers/file_lock.go
Run
called by 235
flow/query_flow.go
Incr
called by 188
internal/linmetric/gauge.go
HasNext
called by 171
series/iterator.go
Error
called by 170
app/broker/api/prometheus/model.go
Add
called by 165
kv/flusher.go

Shape

Method 6,102
Function 2,605
Struct 715
Interface 291
TypeAlias 72
Enum 20
FuncType 10
Class 4

Languages

Go97%
TypeScript3%

Modules by API surface

sql/grammar/sql_parser.go2,601 symbols
sql/grammar/sql_base_listener.go209 symbols
sql/grammar/sql_listener.go205 symbols
proto/gen/v1/replica/replica.pb.go147 symbols
proto/gen/v1/common/common.pb.go127 symbols
sql/grammar/sql_visitor.go103 symbols
sql/grammar/sql_base_visitor.go103 symbols
sql/listener.go67 symbols
proto/gen/v1/write/write.pb.go60 symbols
kv/version/log.go59 symbols
kv/version/version.go54 symbols
tsdb/data_family.go48 symbols

Dependencies from manifests, versioned

github.com/Azure/azure-sdk-for-go/sdk/azcorev1.8.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/azidentityv1.4.0 · 1×
github.com/Azure/azure-sdk-for-go/sdk/internalv1.3.0 · 1×
github.com/AzureAD/microsoft-authentication-library-for-gov1.1.1 · 1×
github.com/BurntSushi/tomlv1.2.1 · 1×
github.com/KyleBanks/depthv1.2.1 · 1×
github.com/alecthomas/unitsv0.0.0-2021121809364 · 1×
github.com/antlr4-go/antlr/v4v4.13.0 · 1×
github.com/asaskevich/govalidatorv0.0.0-2023030114320 · 1×
github.com/aws/aws-sdk-gov1.45.25 · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/bits-and-blooms/bitsetv1.2.2 · 1×

For agents

$ claude mcp add lindb \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact