Golden
Sharding

Sharding

Sharding is a scaling technique for databases in which data is partitioned into smaller chunks where it can then be stored across multiple distinct servers.

All edits

Edits on 15 Nov 2018
Daniel Frumkin
Daniel Frumkin edited on 15 Nov 2018 8:31 am
Edits made to:
Categories (+1 topics)
Related Topics (+3 topics)
Edits on 14 Nov 2018
Daniel Frumkin"Rewrote short description, wrote article explaining sharding and the problem it addresses, added image (copyright free from unsplash.com), added videos and articles for further reading."
Daniel Frumkin edited on 14 Nov 2018 5:04 pm
Edits made to:
Description (+88/-99 characters)
Article (+2490/-293 characters)
Further reading (+3 rows) (+11 cells) (+399 characters)
Documentaries, videos and podcasts (+2 rows) (+5 cells) (+247 characters)
Companies (+1 rows) (+4 cells) (+56 characters)
Topic thumbnail

Sharding

Sharding is a scaling technique thatfor getsdatabases itsin ideawhich fromdata theis traditionalpartitioned databaseinto sharding,smaller chunks where a database is broken downit intocan piecesthen andbe stored inacross differentmultiple distinct servers.

Article

Sharding is a scaling technique that gets its idea from the traditional database sharding, where a database is broken down into pieces and stored in different servers. In the case of blockchain, the Ethereum blockchain would be separated and each part stored in different nodes on the network.

In the physical world, a shard is defined as a piece or fragment of a whole object, such as a broken piece of glass, ice, or pottery. In computing, a shard is a fragment or partition of a whole database.



Sharding is the process by which a database is intentionally separated into smaller pieces in order to improve the database's performance and make it more manageable to store. This is a potentially useful technique for managing large databases because storing them entirely in one place (i.e. on one server) requires high-end, costly computers. Data shards, meanwhile, can be distributed across numerous servers with lower software and hardware requirements, typically resulting in lower cost. 



Multiple blockchain projects are working to implement - or have already implemented - sharding as a method of improving the blockchain's performance in terms of transaction throughput. Among these are Ethereum, Zilliqa, and IOST.



Ethereum creator Vitalik Buterin describes the problem that sharding addresses as the Scalability Trilemma, which claims that with current technology, blockchain systems can have at most two of the three following properties:



In other words, if a blockchain is to have good scalability (i.e. high transaction throughput), then it will sacrifice decentralization, security, or both. 



Taking Ethereum as an example: In order to achieve security and decentralization, all Ethereum nodes store a full copy of the Ethereum ledger containing a record of every transaction that has ever been validated and added to the blockchain. The idea of sharding is to break that transaction history into pieces, and then have each node store a piece rather than the full history. For example, some nodes store the shard containing the history of all wallet addresses beginning with '0x00', while other nodes store the shard with all '0x01' wallets, and so on. Then node group '0x00' only has to communicate with node group '0x01' when a transaction occurs involving wallets from both groups. As a result, there are fewer nodes processing every single transaction, and transaction throughput increases.



Sharding is not considered a perfect solution to the Scalability Trilemma. By removing the condition that all nodes process all transactions, some decentralization and security are sacrificed. However, the design goal of sharding is to sacrifice as little decentralization and security as possible while gaining as much scalability as possible. 





Companies

Company
CEO
Location
Products/Services

Ethereum Foundation

None

Switzerland

Blockchain development

Further reading

Title
Author
Link
Type

Ethereum Sharding Explained Simply - Mango Research

Shawn Dexter

Web

Scalability Tradeoffs: Why "The Ethereum Killer" Hasn't Arrived Yet

Georgios Konstantopoulos

Web

Documentaries, videos and podcasts

Title
Date
Link

Beacon Casper chain by Vitalik Buterin and Justin Drake (Ethereum Foundation)



Programmer explains Ethereum Sharding | Scale and Performance fixes

September 9, 2017

Edits on 7 Aug 2018
Golden AI"Linkify text links in standard tables"
Golden AI edited on 7 Aug 2018 7:43 pm
Edits made to:
Further reading (+81/-81 characters)

Further reading

Author
Title
Link
Type

Maxym Kharchenko

The Art of Database Sharding

http://intermediatesql.com/wp-content/uploads/2012/04/2012_369_Kharchenko_ppr.dochttp://intermediatesql.com/wp-content/uploads/2012/04/2012_369_Kharchenko_ppr.doc



Michael Mangus
Michael Mangus edited on 7 Aug 2018 5:26 pm
Edits made to:
Article (+8/-8 characters)

Article

Sharding is a scaling technique that gets its idea from the traditional database sharding, where a database is broken down into pieces and stored in different servers. In the case of blockchain, the EthereumEthereum blockchain would be separated and each part stored in different nodes on the network.

Edits on 23 Feb 2018
Michael Naval
Michael Naval edited on 23 Feb 2018 7:13 pm
Edits made to:
Further reading (+1 rows)

Further reading

Author
Title
Link

Maxym Kharchenko

The Art of Database Sharding

http://intermediatesql.com/wp-content/uploads/2012/04/2012_369_Kharchenko_ppr.doc

Edits on 9 Dec 2017
Michael Naval
Michael Naval edited on 9 Dec 2017 3:10 pm
Edits made to:
Description (+167 characters)
Article (+293 characters)
Topic thumbnail

Sharding

Sharding is a scaling technique that gets its idea from the traditional database sharding, where a database is broken down into pieces and stored in different servers.

Article

Sharding is a scaling technique that gets its idea from the traditional database sharding, where a database is broken down into pieces and stored in different servers. In the case of blockchain, the Ethereum blockchain would be separated and each part stored in different nodes on the network.

Edits on 3 Dec 2017
Michael Naval"Initial topic creation"
Michael Naval created this topic on 3 Dec 2017 3:43 pm
Edits made to:
Topic thumbnail

 Sharding

Sharding is a scaling technique for databases in which data is partitioned into smaller chunks where it can then be stored across multiple distinct servers.

No more activity to show.