Sharding de BBDD

El concepto del "Sharding" ha ido ganando popularidad en los últimos años debido al enorme crecimiento del volumen de datos manejado por diferentes sitios web. Para solucionar sus problemas de escalabilidad recurrieron a esta técnica (Ej: Digg, Facebook, Amazon, Skype).

Esta técnica consiste en el particionamiento de los datos en base de datos de manera horizontal, agrupándolos de manera que tenga cierta consistencia y haciendo que el acceso a los datos sean mucho más rápido. El término en cuestión fue acuñado por ingenieros de Google y consiguió mucha popularidad con el anuncio de Big Table.

Sólo se necesita Sharding cuando el volumen de datos comienza a ser inmanejable, ya que en grandes tablas los accesos son lentos y no es lo mismo acceder a tablas con millones de registros que tablas con miles de registros.

Mejora de manera ostensible el rendimiento al agrupar menos datos en tablas más pequeñas proporcionando accesos mucho más rápidos. Si además se realiza un Sharding por localización geográfica se consigue una mejora en la latencia de transmisión de datos.

Para saber más:

Big Table: http://en.wikipedia.org/wiki/BigTable

http://www.codefutures.com/database-sharding/

Deja un comentario