Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve dbengine docs for streaming setups #9177

Merged
merged 3 commits into from May 29, 2020

Conversation

joelhans
Copy link
Contributor

Summary

Fixes part of #9106. The other work is at netdata/learn#159.

I came into the dbengine doc to make a few tweaks around multiple instances and streaming configs, but ended up doing a bit more refactoring. The primary goal here is to help users understand that in streaming setups, the dbengine uses separate instances for each node, despite sharing the same page cache size and dbengine disk space settings.

Component Name

agent/database

Test Plan
Additional Information

@squash-labs
Copy link

squash-labs bot commented May 26, 2020

Manage this branch in Squash

Test this branch here: https://joelhansdbengine-tweaks-hmi6z.squash.io

mode** that supports changing the data collection update frequency (`update_every`) **without losing** the previously
stored metrics.
The Database Engine works like a traditional database. It dedicates a certain amount of RAM to data caching and
indexing, while and the rest of the data resides compressed on disk. Unlike other [database modes](/database/README.md),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

while the rest

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

database modes -> memory modes

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed both of these (and the rest of yours, @zack-shoylev)!

The Database Engine works like a traditional database. It dedicates a certain amount of RAM to data caching and
indexing, while and the rest of the data resides compressed on disk. Unlike other [database modes](/database/README.md),
the amount of historical metrics stored is based on the amount of disk space you allocate and the effective compression
ratio, not a fixed number of history entries.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed number of metrics collected.

When the disk quota is exceeded the oldest values are removed from the DB engine at real time, by automatically deleting
the oldest datafile and journalfile pair. Any corresponding pages residing in the Page Cache will also be invalidated
and removed. The DB engine logic will try to maintain between 10 and 20 file pairs at any point in time.
The Agent allocates resources for each instance separately using the `dbengine disk space` setting. If `dbengine disk
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would copy that to the calculator also

location is `/var/cache/netdata/dbengine/*`). The higher numbered filenames contain more recent metric data. The user
can safely delete some pairs of files when Netdata is stopped to manually free up some space.

_Users should_ **back up** _their `./dbengine` folders if they consider this data to be important._
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's add a link to exporters as well as an alternative

@joelhans joelhans merged commit 885caf0 into netdata:master May 29, 2020
@joelhans joelhans deleted the dbengine-tweaks branch May 29, 2020 13:24
Saruspete pushed a commit to Saruspete/netdata that referenced this pull request Jun 17, 2020
* Refactor dbengine and add streaming section

* Tweaks and copyediting

* Fixes for Zack and Markos
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants