Kind of, the database is in the user's device, they always have access to it. Users of Eve use the integrated relay for every read and write operation, and it handles the encryption and decryption of data.
When the user creates a new note, this is encrypted and the encrypted note is broadcasted to a bunch of random public relays (when the user is online).
When the relay sees a new note encrypted with the same key, it tries to decrypt it and if it can it stores it into the database.
The transition to MLS doesn't require anything in particular; a nostr note is just a "text" message.
In fact in the future, I'm even thinking about implementing additional protocols for posting transmitting notes that don't require a receiving relay).
The reason why I'm doing it this way is because I don't want Eve to be limited by any specific encryption methodology. In the future if something better than MLS (such as a PQC algorithm similar to MLS) comes as along, I can just change the part of the code that handles encryption and decryption and suddenly all new content is encrypted with a stronger algorithm.
And the user runs their own relay both because of simplicity in implementing all of this, as well as security, and so they can access their networks' data (nostr notes) even when they're offline (and in the future with the bluetooth based negentropy that npub1v3tgrwwsv7c6xckyhm5dmluc05jxd4yeqhpxew87chn0kua0tjzqc6yvjh is building, this can improve even more)