TIL it is not only possible to have a database where the database servers can't tell which records clients are accessing (this is called Private Information Retrieval and is already pretty cool)... not only that, but it's possible to do that while splitting the database across multiple servers in such a way that the servers can't learn anything about any data in the database! Also you can efficiently identify servers that give you wrong answers, and tolerate faults. https://cypherpunks.ca/~iang/pubs/orpir-usenix.pdf