LinDB is an open-source Time Series Database which provides high performance, high availability and horizontal scalability.

LICENSE Language Go Report Card Github Actions Status Github Actions Status codecov contribution

English | 简体中文

What is LinDB?

LinDB is an open-source Time Series Database which provides high performance, high availability and horizontal scalability.

LinDB stores all monitoring data of ELEME Inc, there is 88TB incremental writes per day and 2.7PB total raw data.

  • High performance

    LinDB takes a lot of best practice of TSDB and implements some optimizations based on the characteristics of time series data. Unlike writing a lot of Continuous-Query for InfluxDB, LinDB supports rollup in specific interval automatically after creating the database. Moreover, LinDB is extremely fast for parallel querying and computing of distributed time series data.

  • Multi-Active IDCs native

    LinDB is designed to work under a Multi-Active IDCs cloud architecture. The compute layer of LinDB, called brokers, supports efficient Multi-IDCs aggregation query.

  • High availability

    LinDB uses the ETCD cluster to ensure the meta-data is highly available and safely stored. In the event of failure, the Multi-channel replication protocol of WAL will avoid the problem of data inconsistency:

    1). Only one person in each replication channel is responsible for the authority of the data, so the conflicts will not happen;

    2). Data reliability is guaranteed: as long as the data that has not been copied in the old leader is not lost, it will be copied to other replication while the old leader is online again;

  • Horizontal scalability

    Series(Tags) based sharding strategy in LinDB solves the hotspots problem, and is truly horizontally expanded available by simply adding new broker and storage nodes.

  • Governance capability of metrics

    To ensure the robustness of the system, LinDB do not assume that users has understood the best practices of using metrics, therefore, LinDB provides the ability of restricting unfriendly user based on metric granularity and tags granularity.

State of this project

The current develop branch is unstable and is not recommended for production use. LinDB 0.1(what will be the first release version) is currently in the development stage. Additional features will arrive during July and August, we will translate the JAVA version of LinDB currently used under the production environment to Golang as soon as possible. The GO version is not only a simple translation of the JAVA version, but has been redesigned in many aspects.

Once we implement the final feature and replace the LinDB under production environment with the Golang version, LinDB 0.1.0 will be released. At that point, we will move into the stable phase, our intention is to avoid breaking changes to the API and storage file format.

Build

Prerequisites

To build LinDB from source you require the following on your system.

Setup environment

Export GO path and system PATH to your environment. GOPATH typically defaults to $HOME/go.

# Add these to your ~/.bashrc or ~/.bash_profile file and save file.
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

# Source bashrc to export to environment
$ source ~/.bashrc

Get the code

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

Build from source

To build only LinDB core.(without web console)

make build

To build both LinDB core and frontend.

make build-all

Test

make test

Access web interface(for developer)

Start the node.js app to view LinDB web interface.

cd web
yarn start

You can access the LinDB web interface on your localhost port 3000

Deploy

LinDB can be deployed in both cluster mode and standalone mode.

Standalone mode

You can try out fully functional LinDB on your local system via the standalone mode. In standalone mode LinDB will be deployed with embedded broker, storage and etcd.

./bin/lind standalone init-config
./bin/lind standalone run

Make sure that the binary file is built from make build-all You can access the LinDB web console on your localhost port 9000

Cluster mode (todo)

Architecture

architecture

Contributing

Contributions are welcomed and greatly appreciated. See CONTRIBUTING for details on submitting patches and the contribution workflow.

CI

Pull requests should be appropriately labeled, and linked to any relevant bug or feature tracking issues. All pull requests will run through GITHUB-Actions. Community contributors should be able to see the outcome of this process by looking at the checks on their PR and fix the build errors.

Static Analysis

This project uses the following linters. Failure during the running of any of these tools results in a failed build. Generally, code must be adjusted to satisfy these tools.

  • 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;

License

LinDB is under the Apache 2.0 license. See the LICENSE file for details.

Owner
LinDB
A distributed time series database
LinDB
Comments
  • cors不用写content-type

    cors不用写content-type

    https://github.com/lindb/lindb/blob/1638986fef214eefdae6a7bad3ce1bf6b6d88c59/broker/api/router.go#L81

    api的OK,Error已经写了content-type了,这里统一写了的话,static会显示 不了

  • Request an explanation for project name

    Request an explanation for project name

    请问"LinDB("Lin" stands for wisdom in Shanghainese)"是否表明此项目受到了上海市政府支持或财政资助?如果不是,希望此项目不再包含地域性指向。

    如果作者看到别的开源软件声称其名字的含义是“美国人的智慧”“北京人的智慧”“海淀人的智慧”难道不会认为这样太自负了吗?

    作者若称此项目是wisdom in ELEME那自然无可指摘,因为ELEME为本项目的产生创造了条件、提供了便利,是利益共同体。但作者把“上海人的智慧”捆绑进来,我认为作者需要解释一下,为什么把上海人的智慧和其他地区人民的智慧区别开?为什么冠上“上海”的名字?我能想到的唯一可能就是此项目和上海市政府有关。涉及行政区的名称,一定是名副其实,或者体现国家意志(比如军舰)。

    如果作者认为我在抬杠,我只能说如果想抬杠我会推动其他项目以“朝阳人的智慧”命名,并来这里讲上海人的智慧不如朝阳人的智慧。

    我很抱歉这个issue比较政治化,希望作者注意到:为项目起名字时不要令人有地方主义的联想。

  • Undefined: syscall.Flock

    Undefined: syscall.Flock

    I want to run this project, but i encounter some problems. image image so I have a question, does the lindb support windows? @stone1100 @CodingCrush @damnever @LBinin

  • Bump github.com/swaggo/gin-swagger from 1.5.0 to 1.5.2

    Bump github.com/swaggo/gin-swagger from 1.5.0 to 1.5.2

    Bumps github.com/swaggo/gin-swagger from 1.5.0 to 1.5.2.

    Release notes

    Sourced from github.com/swaggo/gin-swagger's releases.

    v1.5.2

    Changelog

    d496a34 chore: remove google fonts (#227)

    v1.5.1

    Changelog

    b9e926c fix: update gin-contrib/gzip to latest version (#220)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/grpc from 1.47.0 to 1.48.0

    Bump google.golang.org/grpc from 1.47.0 to 1.48.0

    Bumps google.golang.org/grpc from 1.47.0 to 1.48.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.48.0

    Bug Fixes

    • xds/priority: fix bug that could prevent higher priorities from receiving config updates (#5417)
    • RLS load balancer: don't propagate the status code returned on control plane RPCs to data plane RPCs (#5400)

    New Features

    • stats: add support for multiple stats handlers in a single client or server (#5347)
    • gcp/observability: add experimental OpenCensus tracing/metrics support (#5372)
    • xds: enable aggregate and logical DNS clusters by default (#5380)
    • credentials/google (for xds): support xdstp C2P cluster names (#5399)
    Commits
    • 6417495 Change version to 1.48.0 (#5482)
    • 5770b1d xds: drop localities with zero weight at the xdsClient layer (#5476)
    • 423cd8e interop: update proto to make vet happy (#5475)
    • c9b16c8 transport: remove unused bufWriter.onFlush() (#5464)
    • 755bf5a fix typo in the binary log (#5467)
    • 15739b5 health: split imports into healthpb and healthgrpc (#5466)
    • c075d20 interop client: provide new flag, --soak_min_time_ms_between_rpcs (#5421)
    • 4b75005 clusterresolver: merge P(p)arseConfig functions (#5462)
    • d883f3d test/xds: fail only when state changes to something other than READY and IDLE...
    • c6ee1c7 xdsclient: only include nodeID in error strings, not the whole nodeProto (#5461)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump go.uber.org/atomic from 1.9.0 to 1.10.0

    Bump go.uber.org/atomic from 1.9.0 to 1.10.0

    Bumps go.uber.org/atomic from 1.9.0 to 1.10.0.

    Release notes

    Sourced from go.uber.org/atomic's releases.

    v1.10.0

    Added

    • Add atomic.Float32 type for atomic operations on float32.
    • Add CompareAndSwap and Swap methods to atomic.String, atomic.Error, and atomic.Value.
    • Add generic atomic.Pointer[T] type for atomic operations on pointers of any type. This is present only for Go 1.18 or higher, and is a drop-in for replacement for the standard library's sync/atomic.Pointer type.

    Changed

    • Deprecate CAS methods on all types in favor of corresponding CompareAndSwap methods.

    Thanks to @​eNV25 and @​icpd for their contributions to this release.

    Changelog

    Sourced from go.uber.org/atomic's changelog.

    1.10.0 - 2022-08-11

    Added

    • Add atomic.Float32 type for atomic operations on float32.
    • Add CompareAndSwap and Swap methods to atomic.String, atomic.Error, and atomic.Value.
    • Add generic atomic.Pointer[T] type for atomic operations on pointers of any type. This is present only for Go 1.18 or higher, and is a drop-in for replacement for the standard library's sync/atomic.Pointer type.

    Changed

    • Deprecate CAS methods on all types in favor of corresponding CompareAndSwap methods.

    Thanks to @​eNV25 and @​icpd for their contributions to this release.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/gin-contrib/cors from 1.3.1 to 1.4.0

    Bump github.com/gin-contrib/cors from 1.3.1 to 1.4.0

    Bumps github.com/gin-contrib/cors from 1.3.1 to 1.4.0.

    Release notes

    Sourced from github.com/gin-contrib/cors's releases.

    v1.4.0

    Changelog

    Features

    • 5b27983 feat(CodeQL): Discover vulnerabilities across a codebase with CodeQL

    Enhancements

    • 325df81 chore(CD): enable goreleaser config.
    • 5accef4 chore(deps): bump actions/cache from 2 to 3
    • cedad5e chore(deps): bump actions/setup-go from 2 to 3
    • 8184331 chore(deps): bump codecov/codecov-action from 2 to 3
    • 47f683e chore(deps): bump github.com/gin-gonic/gin from 1.7.4 to 1.7.7
    • 7d68a03 chore(deps): bump github.com/gin-gonic/gin from 1.7.7 to 1.8.0
    • 9b7410e chore(deps): bump github.com/gin-gonic/gin from 1.8.0 to 1.8.1
    • ca6f720 chore(deps): bump github.com/stretchr/testify from 1.7.0 to 1.7.1
    • 702bae0 chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.4
    • c2bfc87 chore(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5
    • 875173c chore(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0
    • 82da019 chore(deps): bump github/codeql-action from 1 to 2
    • 9310fb6 chore(deps): bump golangci/golangci-lint-action from 2 to 3
    • 4f7d392 chore(deps): bump goreleaser/goreleaser-action from 2 to 3
    • 6fb0a95 chore(lint): add golang lint config
    • 693ce4a chore(lint): upgrade golanci-lint to v1.43.0
    • c43bb15 chore: add go1.15.x
    • ca250ec chore: add go1.16 version
    • da40934 chore: move from Travis to GitHub Actions
    • 206c7dd chore: update go module
    • 2d0be6a chore: update the default methods comment
    • 88812e7 chore: update travis
    • 316ffea chore: upgrade checkout version to v3
    • 2e2ab4a chore: upgrade golangci to v1.42.1

    Others

    • 73a1e3b Add OPTIONS Method To AllowMethods (#76)
    • e2aad09 Add Power Support ppc64le (#72)
    • e89e0ce Bump github.com/gin-gonic/gin from 1.6.2 to 1.7.0
    • 1d1f0af Change comparison with assignment in comment line
    • 9b78b37 Document update (#79)
    • 8c02baa Don't modify the config in Validate (#71)
    • 59ebec5 Merge pull request #101 from gin-contrib/dependabot/go_modules/github.com/stretchr/testify-1.7.4
    • e25be70 Merge pull request #102 from gin-contrib/dependabot/go_modules/github.com/stretchr/testify-1.7.5
    • 19fdbff Merge pull request #104 from gin-contrib/dependabot/go_modules/github.com/stretchr/testify-1.8.0
    • 56e21d0 Merge pull request #77 from gin-contrib/dependabot/go_modules/github.com/gin-gonic/gin-1.7.0
    • 1174f0f Merge pull request #82 from nlatham1999/master
    • c1ca09f Merge pull request #85 from andregri/patch-1
    • 2a40866 Merge pull request #88 from parsaakbari1209/patch-1
    • a79def0 Merge pull request #89 from gin-contrib/dependabot/go_modules/github.com/stretchr/testify-1.7.1
    • 07b31a1 Merge pull request #90 from gin-contrib/dependabot/go_modules/github.com/gin-gonic/gin-1.7.7
    • 3e06085 Merge pull request #91 from gin-contrib/dependabot/github_actions/github/codeql-action-2
    • 8e881b2 Merge pull request #92 from gin-contrib/dependabot/github_actions/actions/setup-go-3
    • 6e9a2e1 Merge pull request #93 from gin-contrib/dependabot/github_actions/codecov/codecov-action-3
    • a1ba4f8 Merge pull request #94 from gin-contrib/dependabot/github_actions/golangci/golangci-lint-action-3
    • 8d4394e Merge pull request #95 from gin-contrib/dependabot/github_actions/actions/cache-3

    ... (truncated)

    Commits
    • 19fdbff Merge pull request #104 from gin-contrib/dependabot/go_modules/github.com/str...
    • 875173c chore(deps): bump github.com/stretchr/testify from 1.7.5 to 1.8.0
    • e25be70 Merge pull request #102 from gin-contrib/dependabot/go_modules/github.com/str...
    • c2bfc87 chore(deps): bump github.com/stretchr/testify from 1.7.4 to 1.7.5
    • 59ebec5 Merge pull request #101 from gin-contrib/dependabot/go_modules/github.com/str...
    • 702bae0 chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.4
    • 1cb620b Merge pull request #99 from gin-contrib/dependabot/go_modules/github.com/gin-...
    • 9b7410e chore(deps): bump github.com/gin-gonic/gin from 1.8.0 to 1.8.1
    • 1a71ba7 Merge pull request #97 from gin-contrib/dependabot/go_modules/github.com/gin-...
    • 7d68a03 chore(deps): bump github.com/gin-gonic/gin from 1.7.7 to 1.8.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/stretchr/testify from 1.7.2 to 1.8.0

    Bump github.com/stretchr/testify from 1.7.2 to 1.8.0

    Bumps github.com/stretchr/testify from 1.7.2 to 1.8.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/checkout from 2 to 3

    Bump actions/checkout from 2 to 3

    Bumps actions/checkout from 2 to 3.

    Release notes

    Sourced from actions/checkout's releases.

    v3.0.0

    • Updated to the node16 runtime by default
      • This requires a minimum Actions Runner version of v2.285.0 to run, which is by default available in GHES 3.4 or later.

    v2.4.2

    What's Changed

    Full Changelog: https://github.com/actions/checkout/compare/v2...v2.4.2

    v2.4.1

    • Fixed an issue where checkout failed to run in container jobs due to the new git setting safe.directory

    v2.4.0

    • Convert SSH URLs like org-<ORG_ID>@github.com: to https://github.com/ - pr

    v2.3.5

    Update dependencies

    v2.3.4

    v2.3.3

    v2.3.2

    Add Third Party License Information to Dist Files

    v2.3.1

    Fix default branch resolution for .wiki and when using SSH

    v2.3.0

    Fallback to the default branch

    v2.2.0

    Fetch all history for all tags and branches when fetch-depth=0

    v2.1.1

    Changes to support GHES (here and here)

    v2.1.0

    ... (truncated)

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    v3.0.2

    v3.0.1

    v3.0.0

    v2.3.1

    v2.3.0

    v2.2.0

    v2.1.1

    • Changes to support GHES (here and here)

    v2.1.0

    v2.0.0

    v2 (beta)

    • Improved fetch performance

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-node from 1 to 3

    Bump actions/setup-node from 1 to 3

    Bumps actions/setup-node from 1 to 3.

    Release notes

    Sourced from actions/setup-node's releases.

    Add support for asdf format and update actions/cache version to 3.0.0

    In scope of this release we updated actions/cache package as the new version contains fixes for caching error handling. Moreover, we added support for asdf format as Node.js version file actions/setup-node#373. Besides, we introduced new output node-version and added npm-shrinkwrap.json to dependency file patterns: actions/setup-node#439

    Update actions/cache version to 2.0.2

    In scope of this release we updated actions/cache package as the new version contains fixes related to GHES 3.5 (actions/setup-node#460)

    v3.0.0

    In scope of this release we changed version of the runtime Node.js for the setup-node action and updated package-lock.json file to v2.

    Breaking Changes

    Fix logic of error handling for npm warning and uncaught exception

    In scope of this release we fix logic of error handling related to caching (actions/setup-node#358) and (actions/setup-node#359).

    In the previous behaviour we relied on stderr output to throw error. The warning messages from package managers can be written to the stderr's output. For now the action will throw an error only if exit code differs from zero. Besides, we add logic to сatch and log unhandled exceptions.

    Adding Node.js version file support

    In scope of this release we add the node-version-file input and update actions/cache dependency to the latest version.

    Adding Node.js version file support

    The new input (node-version-file) provides functionality to specify the path to the file containing Node.js's version with such behaviour:

    • If the file does not exist the action will throw an error.
    • If you specify both node-version and node-version-file inputs, the action will use value from the node-version input and throw the following warning: Both node-version and node-version-file inputs are specified, only node-version will be used.
    • For now the action does not support all of the variety of values for Node.js version files. The action can handle values according to the documentation and values with v prefix (v14)
    steps:
      - uses: actions/checkout@v2
      - name: Setup node from node version file
        uses: actions/setup-node@v2
        with:
          node-version-file: '.nvmrc'
      - run: npm install
      - run: npm test
    

    Update actions/cache dependency to 1.0.8 version.

    We updated actions/cache dependency to the latest version (1.0.8). For more information please refer to the toolkit/cache.

    Add "cache-hit" output

    This release introduces a new output: cache-hit (#327).

    The cache-hit output contains boolean value indicating that an exact match was found for the key. It shows that the action uses already existing cache or not. The output is available only if cache is enabled.

    Support caching for mono repos and repositories with complex structure

    This release introduces dependency caching support for mono repos and repositories with complex structure (#305).

    By default, the action searches for the dependency file (package-lock.json or yarn.lock) in the repository root. Use the cache-dependency-path input for cases when multiple dependency files are used, or they are located in different subdirectories. This input supports wildcards or a list of file names for caching multiple dependencies.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • 代码报错,

    代码报错,

    func (s *shard) createMemoryDatabase() (memdb.MemoryDatabase, error) { return newMemoryDBFunc(memdb.MemoryDatabaseCfg{ Name: s.databaseName, Interval: s.interval, Metadata: s.metadata, TempPath: filepath.Join(s.path, filepath.Join(tempDir, fmt.Sprintf("%d", timeutil.Now()))), }) }

    Interval应该为FamilyTime吧

  • 登陆报404

    登陆报404

    登陆报404; curl 'http://localhost:9000/api/v1/login' -H 'Accept: application/json, text/plain, /' -H 'Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2' --compressed --data-raw '{"username":"admin","password":"admin123"}'

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding.

Vitess is a database clustering system for horizontal scaling of MySQL through generalized sharding.

Jan 4, 2023
The Prometheus monitoring system and time series database.

Prometheus Visit prometheus.io for the full documentation, examples and guides. Prometheus, a Cloud Native Computing Foundation project, is a systems

Dec 31, 2022
VictoriaMetrics: fast, cost-effective monitoring solution and time series database
VictoriaMetrics: fast, cost-effective monitoring solution and time series database

VictoriaMetrics VictoriaMetrics is a fast, cost-effective and scalable monitoring solution and time series database. It is available in binary release

Jan 8, 2023
TalariaDB is a distributed, highly available, and low latency time-series database for Presto
TalariaDB is a distributed, highly available, and low latency time-series database for Presto

TalariaDB is a distributed, highly available, and low latency time-series database that stores real-time data. It's built on top of Badger DB.

Nov 16, 2022
Export output from pg_stat_activity and pg_stat_statements from Postgres into a time-series database that supports the Influx Line Protocol (ILP).

pgstat2ilp pgstat2ilp is a command-line program for exporting output from pg_stat_activity and pg_stat_statements (if the extension is installed/enabl

Dec 15, 2021
Time Series Database based on Cassandra with Prometheus remote read/write support

SquirrelDB SquirrelDB is a scalable high-available timeseries database (TSDB) compatible with Prometheus remote storage. SquirrelDB store data in Cass

Oct 20, 2022
🤔 A minimize Time Series Database, written from scratch as a learning project.
🤔 A minimize Time Series Database, written from scratch as a learning project.

mandodb ?? A minimize Time Series Database, written from scratch as a learning project. 时序数据库(TSDB: Time Series Database)大多数时候都是为了满足监控场景的需求,这里先介绍两个概念:

Jan 3, 2023
🔑A high performance Key/Value store written in Go with a predictable read/write performance and high throughput. Uses a Bitcask on-disk layout (LSM+WAL) similar to Riak.

bitcask A high performance Key/Value store written in Go with a predictable read/write performance and high throughput. Uses a Bitcask on-disk layout

Sep 26, 2022
CockroachDB - the open source, cloud-native distributed SQL database.
CockroachDB - the open source, cloud-native distributed SQL database.

CockroachDB is a cloud-native SQL database for building global, scalable cloud services that survive disasters. What is CockroachDB? Docs Quickstart C

Jan 2, 2023
TiDB is an open source distributed HTAP database compatible with the MySQL protocol
TiDB is an open source distributed HTAP database compatible with the MySQL protocol

Slack Channel Twitter: @PingCAP Reddit Mailing list: lists.tidb.io For support, please contact PingCAP What is TiDB? TiDB ("Ti" stands for Titanium) i

Jan 9, 2023
An open-source graph database
An open-source graph database

Cayley is an open-source database for Linked Data. It is inspired by the graph database behind Google's Knowledge Graph (formerly Freebase). Documenta

Dec 31, 2022
RadonDB is an open source, cloud-native MySQL database for building global, scalable cloud services

OverView RadonDB is an open source, Cloud-native MySQL database for unlimited scalability and performance. What is RadonDB? RadonDB is a cloud-native

Dec 31, 2022
A decentralized, trusted, high performance, SQL database with blockchain features
A decentralized, trusted, high performance, SQL database with blockchain features

中文简介 CovenantSQL(CQL) is a Byzantine Fault Tolerant relational database built on SQLite: ServerLess: Free, High Availabile, Auto Sync Database Service

Jan 3, 2023
A high performance NoSQL Database Server powered by Go
A high performance NoSQL Database Server powered by Go

LedisDB Ledisdb is a high-performance NoSQL database library and server written in Go. It's similar to Redis but store data in disk. It supports many

Dec 26, 2022
Owl is a db manager platform,committed to standardizing the data, index in the database and operations to the database, to avoid risks and failures.

Owl is a db manager platform,committed to standardizing the data, index in the database and operations to the database, to avoid risks and failures. capabilities which owl provides include Process approval、sql Audit、sql execute and execute as crontab、data backup and recover .

Nov 9, 2022
Beerus-DB: a database operation framework, currently only supports Mysql, Use [go-sql-driver/mysql] to do database connection and basic operations

Beerus-DB · Beerus-DB is a database operation framework, currently only supports Mysql, Use [go-sql-driver/mysql] to do database connection and basic

Oct 29, 2022
Go code for PostgreSQL. A Go language code which connects to PostgreSQL database for CRUD operation

Go code for PostgreSQL. A Go language code which connects to PostgreSQL database for CRUD operation

Jan 25, 2022
Set out to become the de facto open-source alternative to MongoDB

MangoDB MangoDB is set out to become the de facto open-source alternative to MongoDB. MangoDB is an open-source proxy, which converts MongoDB wire pro

Dec 29, 2022
This is a simple graph database in SQLite, inspired by "SQLite as a document database".

About This is a simple graph database in SQLite, inspired by "SQLite as a document database". Structure The schema consists of just two structures: No

Jan 3, 2023