sql - nosql

Páginas: 6 (1341 palabras) Publicado: 27 de diciembre de 2013
A parte de las clásicas bases de datos SQL (RDBMS), aparecen y van tomando fuerza nuevos tipos de bases de datos.

Su mayor ventaja es que están preparados para ser muy rápidos. Mucho.

Según su tipo, cada una sigue una estrategia completamente diferente para persistir la información.

Cabe destacar que normalmente no sustituyen a la base de datos clásica SQL, sino que surgen por otranecesidad. Una necesidad de rendimiento extremo. Si se utilizan de una manera única, o se combinan con una base de datos SQL es una decisión de arquitectura del sistema.

Algunas de ellas pueden ser accedidas mediante SQL, pero normalmente no será así, puesto que cada una tendrá una API exclusiva.

Existen proyectos como Spring Data que pretenden abstraernos de dicha complejidad. Siendo posiblecambiar de un tipo de base de datos a otra de una manera directa, según nos convenga.

Servidores SQL tradicionales

Como hemos visto en el tutorial de introducción a bases de datos SQL, las bases de datos SQL disponen la información representándola a modo de filas y columnas dentro de tablas. También relacionan la información mediante claves ajenas y son capaces de indexarla con índices yalgunas características más.

Hasta no hace mucho, si un periódico, por ejemplo, tenía 1000 visitantes por segundo y su infraestructura no soportaba ese tráfico, se optaba por arquitecturas en las que cada X minutos, en vez de atender a las peticiones, se generaba un fichero html y éste era el que se despachaba mediante servidores apache básicos. Los cuales no tenían que acceder a bases de datos niconsumir tiempo de procesador ni memoria como lo haría un servidor web como Tomcat, PHP o .Net.

Hoy en día, empresas como Twitter, Facebook y similares tienen un tráfico millones de veces superior, tenemos aplicaciones RIA que son accedidas simultáneamente por infinidad de clientes de todo tipo, así que la tecnología existente se quedaba un poco corta. No porque no fuese capaz de hacerlo, sinoporque lo hacía muy lentamente.

Las bases de datos NoSQL rompen con la barrera del rendimiento, según su tipo, su estrategia de ejecución es distinta, pero algunas de ellas como Redis funcionarán según nos interese en memoria, llevando un registro en el disco y periódicos snapshots de la información, o directamente en disco. En el caso de Redis podemos llegar a configurar qué parte de la memoriaqueremos que utilice, pudiendo incluso apagar el consumo de la misma para el proceso de datos.

Una comparación desafortunada podría ser que las bases de datos NoSQL son como un MemCaché para nuestra aplicación.

Algunas arquitecturas colocan una aplicación-bd(nosql)-bd(sql) de forma que la información es accedida increíblemente rápido.

Otro problema de los servidores tradicionales son ellos límites de espacio y proceso que tienen, en el caso de NoSQL, según su tipo, el límite es el propio sistema operativo.

4 vertientes (por ahora)

Fuentes de Datos
Clave-Valor Mapeo de Columnas Documentos Grafos
Redis HBase MongoDB Neo4j
¿Cómo funcionan?

Aunque variará según su tipo, podemos decir que el razonamiento general es que NO vamos a guardar la información en tablas ycolumnas.

La información se va a guardar de "otro" modo:

El caso de las de tipo Clave-Valor (tomemos Redis)

Dispondremos de un api que permita hacer PUT y GET, y la información estará condensada en una super lista en la que podemos tener índices (índices no de la manera que los entendemos en sql tradicional), y estos índices nos permitirán buscar entre nuestra información.

Esto permite variarla estructura de la información que guardo sin perder la agrupación de la misma, por ejemplo imaginemos que guardamos a un usuario y sus datos. Usaríamos su DNI como clave y el resto de sus datos como valores. En unos meses tenemos que cambiar la estructura de esos datos almacenados. Simplemente variaremos la información que guardamos en los nuevos usuarios, y podemos hacer un pequeño script...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • bases de datos SQL y NOSQL
  • NoSQL
  • NoSql
  • NoSQL
  • Nosql
  • Cassandra
  • Que es sql
  • que es sql

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS