I see many implementations like lnd, c-lightning, is using local database (redis) for user data storage. I think it introduces the problem of a single point of failure.
Is there any implementation is based on distributed storage? Just like DHT or somehow?
'User data' is a vague term which may be misunderstood in this context. Lightning nodes don't really store user data like real name, email address or other personally identifiable information at all.
Lightning nodes use a database to store channel state information and that's the whole idea of Lightning. That all transactions are made off-chain. There is no distributed record keeping, which makes it scale so extremely well. If you were to introduce distributed storage into the system again, you're back at square one. Makes no sense.
Of course, you need to make sure not to lose this data (
have a reliable backup strategy). But in a way, a regular Bitcoin wallet is also a 'single point of failure' if you don't have seed phrase backups. There will never be a way around backups in Bitcoin, in my opinion, and it is the user's responsibility to make sure that they exist and are safe.
The only real drawback of L2 backups is that they're not a 'set it and forget it' type of backup, but need to be kept up to date. But again, software handles that for you. Just need to set it up correctly.