Probability of hash collision in the case of two parallel hashes I understand how to calculate the probability of a hash collision.
I am designing a DB and have a potential case where a record could have the inherited hash of its parent plus its own hash, meaning I could potentially query two hashes to determine probable record matches.
If I have 1 billion records, a 64-bit hash will have $\sim 1:32.5$ collisions. If I have two by 64-bit hashes, how many effective bits will I have?
65-bits seems pessimistic, 128-bits seems optimistic. $\sim 32.5^2$ results in a fraction over 69 bits hash resolution.
How do I calculate this?
ILLUSTRATION
Parent Table
parent id, $\{$ field $1$, field $2$, ... field $n \}\implies$  parent hash
Child Table
child id, parent id, parent hash, $\{$ field $1$, field $2$, ... field $n \}\implies$ child hash
As illustrated, the child table has both parent hash and child hash. Two by 64-bit hashes.
You can think of concatenating the two hash values and treating the result as a single hash.  Then you have $n$ records, each of which has a single hash.  The probability of a collision among $n$ hashes is roughly $n^2/2^{b+1}$, if the hash outputs a $b$-bit value.  In your case if each of the two individual hashes is 64 bits long, after concatenation you have a 128-bit hash for the record, so $b=128$.

How did I obtain the formula $n^2/2^{b+1}$?  It's an application of the birthday paradox, with $n$ people born on a planet that has $2^b$ days in the year (instead of 365 days).  Or, if you prefer an intuitive argument: think of all ways to pick a pair of $b$-bit hashes.  There are about $n^2/2$ pairs of hashes. For each one, there's a $1/2^b$ probability that those pair of hashes are equal (that they collide).  So the total probability that at least one of these collide is about $n^2/2$ times $1/2^b$.  This is a crude estimate that isn't totally accurate, but it turns out to be a reasonable approximation as long as $n^2/2$ is fairly small compared to $2^b$.