Investigacion

Páginas: 7 (1531 palabras) Publicado: 26 de octubre de 2012
º

FACULTAD DE INGENIERIA Y ARQUITECTURA

Materia: Análisis de Sistemas II

Catedrático: Ing. Nelson Antonio Tesorero Valencia

Tema: NoSql

San Salvador, sábado 28 de julio de 2012

¿Por qué aparecen los sistemas NoSQL?
Las bases de datos relacionales no tienen nada de malo: Precisamente gracias al transcurso de los años, hemos logrado aprender técnicas bastante comunespara normalizarlas en la medida de lo posible, escalarlas según crece la demanda, y utilizarlas como sistema de persistencia para almacenar información desde nuestro lenguaje procedural u orientado a objetos favorito (entre otros). La cuota de uso de software como SQLite, MySQL, PostgreSQL u Oracle, por poner cuatro ejemplos conocidos, es muy alta, encontrándose en la mayor parte de los desarrollosmodernos.
Pero llegó la web, el software como servicio, los servicios en la nube y las startups de éxito con millones de usuarios. Y con todo ello llegaron los problemas de alta escalabilidad. Si bien los modelos relacionales se pueden adaptar para hacerlos escalar incluso en los entornos más difíciles, sí que es cierto que, a menudo, se hacen cada vez menos intuitivos a medida que aumenta lacomplejidad. Triples y cuádruples JOINs en consultas SQL que asustan al más pintado nada más verlas, a veces poco eficientes, y sistemas de almacenamiento de resultados en cachés para acelerar la resolución de las peticiones y evitar ejecutar cada vez estas pesadas operaciones, son el pan de cada día en muchos de estos proyectos de software.
Los sistemas NoSQL intentan atacar este problema proponiendo unaestructura de almacenamiento más versátil, aunque sea a costa de perder ciertas funcionalidades como las transacciones que engloban operaciones en más de una colección de datos, o la incapacidad de ejecutar el producto cartesiano de dos tablas (también llamado JOIN) teniendo que recurrir a la desnormalización de datos.
Algunas implementaciones bien conocidas que podríamos como NoSQL son: CouchDB,MongoDB, RavenDB, Neo4j, Cassandra, BigTable, Dynamo, Riak, Hadoop, y otras muchas.
Pero, ¿en qué se diferencian exactamente?
Si tuviéramos que resumir las características comunes en estos sistemas, yo diría que son principalmente tres: Ausencia de esquema en los registros de datos, escalabilidad horizontal sencilla, y velocidad endiablada (aunque esto último no siempre es cierto, pues muchosde estos sistemas aún no están suficientemente maduros).
La primera característica significa que los datos no tienen una definición de atributos fija, es decir: Cada registro (o documento, como se les suele llamar en estos casos) puede contener una información con diferente forma cada vez, pudiendo así almacenar sólo los atributos que interesen en cada uno de ellos, facilitando el polimorfismo dedatos bajo una misma colección de información. También se pueden almacenar estructuras de datos complejas en un sólo documento, como por ejemplo almacenar la información sobre una publicación de un blog (título, cuerpo de texto, autor, etc) junto a los comentarios y etiquetas vertidos sobre el mismo, todo en un único registro. Hacerlo así aumenta la claridad (al tener todos los datos relacionadosen un mismo bloque de información) y el rendimiento (no hay que hacer un JOIN para obtener los datos relacionados, pues éstos se encuentran directamente en el mismo documento).
Con escalabilidad horizontal me refiero a la posibilidad de aumentar el rendimiento del sistema simplemente añadiendo más nodos, sin necesidad en muchos casos de realizar ninguna otra operación más que indicar al sistemacuáles son los nodos disponibles. Muchos sistemas NoSQL permiten utilizar consultas del tipo Map-Reduce, las cuales pueden ejecutarse en todos los nodos a la vez (cada uno operando sobre una porción de los datos) y reunir luego los resultados antes de devolverlos al cliente. La gran mayoría permiten también indicar otras cosas como el número de réplicas en que se hará una operación de escritura,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Investigacion
  • Investigacion
  • Investigacion
  • Investigacion
  • Investigacion
  • Investigacion
  • Investigacion
  • Investigacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS