The docs say Firebase push generates a unique key, I want to know if this key is unique across my whole database (or even a GuId), or just in the node where it was pushed on
It is unique across the whole database. From the documentation:
Generate a new child location using a unique name and returns a Firebase reference to it. This is useful when the children of a database location represent a collection of items. See Saving Lists of Data.
You can optionally pass a value to push() and the value will be immediately written to the generated location. If you don't pass a value to push(), nothing is written and the child will remain empty unless written to using set().
The unique name generated by push() is prefixed with a client-generated timestamp so that the resulting list will be chronologically-sorted.