How are those different files used during commit operation on devices running JUNOS software:
/var/db/juniper.db
/var/db/juniper.data
/config/juniper.conf+
Each of these files plays a different role in the commit process:
The Management Daemon (mgd) takes /var/db/juniper.db , makes a text version of it ( /config/juniper.conf+ ). If none of the daemons complain about the config changes, the juniper.conf+ will become juniper.conf while the old juniper.conf becomes juniper.conf.1.gz (and the other juniper.conf.n.gz files get incrementally renamed).
juniper.conf.1.gz
juniper.conf.n.gz
In addition, the /var/db/juniper.data file (the binary version of the commited config changes) will updated with the juniper.conf+ info.
juniper.conf+
You should not normally see a /config/juniper.conf+ file if a commit succeeds. This file would only be present when a commit fails (left intentionally to help debug why the commit failed).
2020-06-08: Article reviewed for accuracy; no changes required