{"id":13508805,"url":"https://github.com/facebookarchive/beringei","last_synced_at":"2025-09-27T08:30:55.852Z","repository":{"id":66233025,"uuid":"70541093","full_name":"facebookarchive/beringei","owner":"facebookarchive","description":"Beringei is a high performance, in-memory storage engine for time series data.","archived":true,"fork":false,"pushed_at":"2018-07-11T17:33:58.000Z","size":915,"stargazers_count":3165,"open_issues_count":13,"forks_count":291,"subscribers_count":199,"default_branch":"master","last_synced_at":"2025-09-07T00:08:17.034Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/facebookarchive.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-10-11T00:45:02.000Z","updated_at":"2025-08-26T23:18:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"2c22cfa2-e58a-461c-a51d-7003c3aabede","html_url":"https://github.com/facebookarchive/beringei","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/facebookarchive/beringei","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2Fberingei","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2Fberingei/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2Fberingei/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2Fberingei/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/facebookarchive","download_url":"https://codeload.github.com/facebookarchive/beringei/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/facebookarchive%2Fberingei/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276033070,"owners_count":25573474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-20T02:00:10.207Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T02:00:58.706Z","updated_at":"2025-09-27T08:30:55.146Z","avatar_url":"https://github.com/facebookarchive.png","language":"C++","funding_links":[],"categories":["C++","others","Databases"],"sub_categories":[],"readme":"** THIS REPO HAS BEEN ARCHIVED AND IS NO LONGER BEING ACTIVELY MAINTAINED **\n\n# Beringei [![CircleCI](https://circleci.com/gh/facebookincubator/beringei/tree/master.svg?style=svg)](https://circleci.com/gh/facebookincubator/beringei/tree/master)\nA high performance, in memory time series storage engine\n\n\u003cimg src=\"./beringei_logo_clear.png\" height=200 width=200\u003e\n\nIn the fall of 2015, we published the [paper “Gorilla: A Fast, Scalable, In-Memory Time Series Database”](http://www.vldb.org/pvldb/vol8/p1816-teller.pdf) at VLDB 2015. Beringei is the open source representation of the ideas presented in this paper.\n\nBeringei is a high performance time series storage engine. Time series are commonly used as a representation of statistics, gauges, and counters for monitoring performance and health of a system. \n\n## Features\n\nBeringei has the following features:\n\n* Support for very fast, in-memory storage, backed by disk for persistence. Queries to the storage engine are always served out of memory for extremely fast query performance, but backed to disk so the process can be restarted or migrated with very little down time and no data loss.\n* Extremely efficient streaming compression algorithm. Our streaming compression algorithm is able to compress real world time series data by over 90%. The delta of delta compression algorithm used by Beringei is also fast - we see that a single machine is able to compress more than 1.5 million datapoints/second.\n* Reference sharded service implementation, including a client implementation.\n* Reference http service implementation that enables direct Grafana integration.\n\n## How can I use Beringei?\n\nBeringei can be used in one of two ways. \n\n1. We have created a simple, sharded service, and reference client implementation, that can store and serve\ntime series query requests. \n1. You can use Beringei as an embedded library to handle the low-level details of efficiently storing time series data. Using Beringei in this way is similar to [RocksDB](https://rocksdb.org) - the Beringei library can be the high performance storage system underlying your performance monitoring solution.\n\n\n## Requirements\n\nBeringei is tested and working on:\n\n* Ubuntu 16.10\n\nWe also depend on these open source projects:\n\n* [fbthrift](https://github.com/facebook/fbthrift)\n* [folly](https://github.com/facebook/folly)\n* [wangle](https://github.com/facebook/wangle)\n* [proxygen](https://github.com/facebook/proxygen)\n* [gtest](https://github.com/google/googletest)\n* [gflags](https://github.com/gflags/gflags)\n\n## Building Beringei\n\nOur instructions are for Ubuntu 16.10 - but you will probably be able to modify\nthe install scripts and directions to work with other linux distros.\n\n- Run `sudo ./setup_ubuntu.sh`.\n\n- Build beringei.\n\n```\nmkdir build \u0026\u0026 cd build \u0026\u0026 cmake .. \u0026\u0026 make\n```\n\n- Generate a beringei configuration file.\n\n```\n./beringei/tools/beringei_configuration_generator --host_names $(hostname) --file_path /tmp/beringei.json\n```\n\n- Start beringei.\n\n```\n./beringei/service/beringei_main \\\n    -beringei_configuration_path /tmp/beringei.json \\\n    -create_directories \\\n    -sleep_between_bucket_finalization_secs 60 \\\n    -allowed_timestamp_behind 300 \\\n    -bucket_size 600 \\\n    -buckets $((86400/600)) \\\n    -logtostderr \\\n    -v=2\n```\n\n- Send data.\n\n```\nwhile [[ 1 ]]; do\n    ./beringei/tools/beringei_put \\\n        -beringei_configuration_path /tmp/beringei.json \\\n        testkey ${RANDOM} \\\n        -logtostderr -v 3\n    sleep 30\ndone\n```\n\n- Read the data back.\n\n```\n./beringei/tools/beringei_get \\\n    -beringei_configuration_path /tmp/beringei.json \\\n    testkey \\\n    -logtostderr -v 3\n```\n\n## License\n\nBeringei is BSD-licensed. We also provide an additional patent grant.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebookarchive%2Fberingei","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffacebookarchive%2Fberingei","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffacebookarchive%2Fberingei/lists"}