Why do the key value examples make use of a seperate database?

Sorry if this is a repost not a active form user.

I’m using Tendermint and try to figure it out but I don’t understand the need for a separate database.

The key value examples all have a separate database.
Tendermint also has it’s own database.

What is the use of the database Go example BadgerDB and java example uses exodus.

I would love the reason why and best practice for a python database

Tendermint itself is mostly not aware of application state. You will see in the cosmos-sdk they are using a separate db as well. Applications are meant to handle there own state.

You are free to use just about any db on top of tendermint as long as it solves your applications needs

Thanks for the response this makes sense now!