openethereum / parity-ethereum

The fast, light, and robust client for Ethereum-like networks.
Other
6.83k stars 1.69k forks source link

FR: Database over network #11676

Open cerealkill opened 4 years ago

cerealkill commented 4 years ago

Feature request

Intro/Problem

Hi Open Ethereum team, first of all, thanks for the great work. I run Nethermind on a VPS and my instance has run out of storage. Unfo the provider doesn't offer larger instances, but offers storage instances that I can connect over NFS/SMB or any other network-file-system.

Feature

Execute the client with recent blocks on one storage and use a remote database to scale. Best if the user can determine when the database starts storing on execution. i.e. mainnet.cfg

{
...
"RemoteDBURL": "192.168.2.43:134",
"RemoteDBFromLatest": 50,
...
}

This would start storing blocks on this second, remote, slower database.

Dream feature

The best scaling scenario would be to have multiple storages that can be added later, as chains get larger, and benefit from paralellism, maybe even redundancy, IPFS-style. i.e. mainnet.cfg

{
...
"RemoteDBEnabled": true,
"RemoteDBFromLatest": 50
"RemoteDBConfig: [
  {"RemoteDBIndex": 0,
    "RemoteDBURL": "192.168.2.43:134",
    "RemoteDBCapacity": 10001337
  },
  {"RemoteDBIndex": 1,
    "RemoteDBURL": "192.168.2.45:134",
    "RemoteDBCapacity": 1337
  }],
...
}
cerealkill commented 4 years ago

Hi, thanks for checking this out. Really appreciated. Sorry for the typo, I wanted to say HDFS instead of IPFS.