Considering that using a relational DB or other hierarchical or such databases is not an option, looking for the alternative approach using a simple (but very fast, efficient, distributed KV-store).
The value (referred by key) is an encrypted BLOB, whose contents are 2 related entities / objects, with a 1:N 'refers-to' relationship. E.g.
'Master' ==> (0:N) 'Pet'
Where Master has many attributes (Unique-Membership-Id, Name, Address, DoB, Gender...), Pet similarly has many attributes (Name, DoB, current-master-Unique-Membership-Id, genus, class, gender...), and pet-ownership may change (just an example).
In such a case would XML, or JSON or another encoding format would be most efficient (from read/decode/compute-speed standpoint, not from storage efficiency standpoint), assuming that a Java application needs to read/decode this information very fast (compute latency needs to be least). Writes are infrequent and latency of same isn't an issue. Also, note that I'd use KV datastore to also hold indices to allow search/lookup using secondary keys. I'm aware of the needs to maintain consistency and referential integrity, explicitly in my application, for update operations.
Based on my research (reading existing SO/Prog SE and other sources), JSON seems to be the clear winner for straight-foward non-relational data. Is there something that is even faster ? Does the fact that my data is relational, though relatively simple, impact choice between JSON, XML or another form ?