Ethereum use case requires Authenticated Storage.
The inner nodes of the tree are hashes of their children. Each key is part of a Merkle tree. The proof consists of the hashes of each node along the path from the root to the leaf containing the key.
The root is globally published, and thus any client receiving a value for a key can independently determine that the value it received is correct. Each write changes the hashes of all nodes along the path from the root to the leaf.
SQL database would be even more expensive to update the LSM-based key-value stores like leveldb that provide high write throughput.
Here is an interesting conference presentation with a slide deck that dives into how to improve the ethereum authenticated storage.
https://www.usenix.org/conference/hotstorage18/presentation/raju