Think of uvm_resource_db as a massive, global warehouse (singleton) where
everything can be stored and retrieved by any component, anywhere in the testbench
hierarchy.
Resource DB vs Config DB
uvm_config_db is actually a wrapper class that extends
uvm_resource_db. It adds the concept of "Hierarchy" (paths and wildcards).
uvm_resource_db is purely name-based (and type-based). It doesn't care about the component hierarchy as much as the "scope string" you manually provide.