Shard (database architecture)

Shard (database architecture)

A Shard is a method of horizontal partitioning in a database.

Shard database architecture

Horizontal partitioning is a design principle whereby "rows" of a database table are held separately, rather than splitting by columns (as for normalization). Each partition forms part of a shard, which may in turn be located on a separate database server or physical location. The obvious advantages are that the number of rows in each table are reduced (this reduces index size, thus improves search performance). Also if the sharding is based on some real-world aspect of the data (e.g. European customers vs. American customers) then it may be possible to infer the appropriate shard membership easily and automatically, then only query the single relevant shard. cite journal
title=Shard – A Database Design
author=Rahul Roy
date=July 28, 2008
(http://technoroy.blogspot.com/2008/07/shard-database-design.html)]

Sharding in practice is obviously far more difficult than this. Although it has been done for a long time by hand-coding (especially where rows have an obvious grouping, as per the example above), this is often inflexible. There is now a desire to support sharding automatically, both in terms of adding code support for it, and for identifying candidates to be sharded separately.

Where distributed computing is used to separate load between multiple servers; either for performance or reliability reasons, a shard approach may also be useful here.

Support for Shards

In Hibernate

Hibernate Shards (as an extension to Hibernate Core) is one of the first persistence frameworks to make explicit support for shards.cite web
title=Hibernate Shards
url=http://shards.hibernate.org/
date= 2/ 8/2007
] The purpose of Hibernate Shards is to make the features of sharding available to developers, whilst retaing use of the Hibernate Core API. Adding shards to an existing database is an easy addition in the future, rather than a major refactoring.cite web
title=Hibernate Shards
url=http://www.hibernate.org/hib_docs/shards/reference/en/html/
]

See also

* shared nothing architecture

References


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Shard — may refer to:* Sherd, a fragment of pottery, glass or stone * Elytron, a forewing found on some insect species * Shard London Bridge, a planned skyscraper * Meth, another word for the drug meth, reffering to the shard like crystals Popular… …   Wikipedia

  • MongoDB — Developer(s) 10gen Initial release 2009 Stable release 2.0.1 / October 22, 2011; 31 days ago ( …   Wikipedia

  • MapReduce — is a software framework introduced by Google in 2004 to support distributed computing on large data sets on clusters of computers.[1] Parts of the framework are patented in some countries.[2] The framework is inspired by the map and reduce… …   Wikipedia

  • Birmingham — This article is about the city in England. For the U.S. city named after it, see Birmingham, Alabama. For other uses, see Birmingham (disambiguation). City of Birmingham   City and Metropolitan borough   …   Wikipedia

  • Burj Khalifa — برج خليفة Burj Khalifa on 23 December 2009 Former names Burj Dubai …   Wikipedia

  • Western use of the Swastika in the early 20th century — adopted the symbol in the 1920s, it continued in use in Western countries with its original meaning until the Nazi association became dominant in the 1930s. The term swastika is first attested in English in 1871, and first refers to the Nazi… …   Wikipedia

  • History of London — Roman London Anglo Saxon London Norman and Medieval London Tudor London Stuart London 18th century London 19th centur …   Wikipedia

  • Manhunter (film) — Manhunter …   Wikipedia

  • Dalian International Trade Center — General information Status On hold Type Mixed use Location Dalian, China Construction started 200 …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”