Sharding was originally a concept in database design, which refers to dividing the data in the database into multiple data fragments,the data can be read and written in parallel. When searching, you only need to access specific shards to get search results, which reduces the server access pressure and improves database performance.
In the blockchain, sharding refers to dividing the nodes in the blockchain into several groups, and each group of nodes forms a shard. Each node in the original blockchain needed to verify every transaction in the network. After sharding, each node only needs to process a small part of the transactions in the network. Each shard works in parallel to achieve horizontal expansion of the blockchain.
There are many stages of sharding technology and many technical difficulties. At present, there are no complete and available solutions, and the implementation of the solutions will take a long time.
Ethereum divides it into 6 phases, and plans to start the first phase in 2020. There are no specific plans for the next 5 phases.