In this section, you will learn about hibernate shard database architecture.
As the name says shard is the fragment/segment/partition of a database table. A shard is a database architecture which partitioned the database horizontally. Each individual partition is known as shard or database shard. In shards, rather partitioning columns of the database table(normalization), rows of the database table are putting together in separate table. Each partition knows as shard and it can be located on a separate database server or physical location.
A group of Google engineers started Hibernate shards and open sourced this project to get the help from the open source community so as to complete it as soon as possible.
Sometimes relation data for a single database table/database is too much or in a distributed database architecture, network latency is too high (where distance is too far) or sometimes potential client wants their data in its own database. In that case shard is the solution.
Hibernate Shards is designed in such a manner to reduce this complication by providing horizontal partitioning on top of Hibernate Core. It provide unified view of multiple databases.
Some key features of Hibernate shard is given below :