Publicidad

RSS Neo4j

Cuándo pensamos en bases de datos relacionales a nuestra mente suelen acudir los mismos nombres. En la parte comercial tenemos Oracle y Microsoft SQL Server. Del lado del software libre, tenemos opciones como Postgre SQL o MySQL. Aunque cada una tiene sus peculiaridades, para un desarrollador no es difícil elegir entre un sistema y otro. Al final todo son tablas, columnas, claves primarias, y sobre todo, consultas SQL. La decisión de cuál elegir, se basará en sus características y precio. Si hablamos de bases de datos NoSQL, la cosa se complica. A día de hoy existen unos 150 sistemas de bases de datos NoSQL. Elegir uno de ellos puede ser muy difícil, ya que ninguno ha obtenido todavía la fama que sí han conseguido las bases de datos relacionales. Pero el problema principal que encontramos, es que aunque todas se denominan NoSQL, en realidad hay diferentes tipos. Dependiendo de lo que necesitemos, deberemos decantarnos por una u otra. Aunque hay varias aproximaciones diferentes para clasificar las bases de datos NoSQL (Teorema CAP, basándonos en el modelo de datos etc.), en general se considera que existen cuatro tipos diferentes: orientadas a documentos, orientadas a columnas, de clave-valor y en grafo. Así que veamos en qué consisten estos sistemas, para que podamos elegir la opción que mejor se adapte a nuestras necesidades. Orientadas a documentos Son aquellas que gestionan datos semi estructurados. Es decir documentos. Estos datos son almacenados en algún formato estándar como puede ser XML, JSON o BSON. Para hacernos una idea un documento suele ser algo parecido a: { Name: "Genbeta Dev", Tipo: "Blogging", Categorias: [ { Título: "Desarrollo", Articulos: 89 }, { Título: "Formación", Artículos: 45 } ] } Son las bases de datos NoSQL más versátiles. Se pueden utilizar en gran cantidad de proyectos, incluyendo muchos que tradicionalmente funcionarían sobre bases de datos relacionales. En esta categoría encontramos: MongoDB: probablemente la base de datos NoSQL más famosa del momento. En octubre del año pasado, MongoDB conseguía 150 millones de dólares en financiación, convirtiéndose en una da las startups más prometedoras. Algunas compañías que actualmente utilizan MongoDB son Foursquare o eBay. CouchDB: es la base de datos orientada a documentos de Apache. Una de sus interesantes características es que los datos son accesibles a través de una API Rest. Este sistema es utilizado por compañías como Credit Suisse y la BBC. Orientadas a columnas Este tipo de bases de datos están pensadas para realizar consultas y agregaciones sobre grandes cantidades de datos. Funcionan de forma parecida a las bases de datos relacionales, pero almacenando columnas de datos en lugar de registros. En esta categoría encontramos: Cassandra: incluida en esta sección, aunque en realidad sigue un modelo híbrido entre orientada a columnas y clave-valor. Es utilizada por Facebook y Twitter (aunque dejaron de usarla para almacenar tweets). HBase. Escrita en Java y mantenida por el Projecto Hadoop de Apache, se utiliza para procesar grandes cantidades de datos. La utilizan Facebook, Twitter o Yahoo. De clave valor Estas son las más sencillas de entender. Simplemente guardan tuplas que contienen una clave y su valor. Cuándo se quiere recuperar un dato, simplemente se busca por su clave y se recupera el valor. En esta categoría encontramos: DynamoDB: desarrollada por Amazon, es una opción de almacenaje que puedemos usar desde los Amazon Web Services. La utilizan el Washington Post y Scopely. Redis: desarrollada en C y de código abierto, es utilizada por Craiglist y Stack Overflow (a modo de caché). En grafo Basadas en la teoría de grafos utilizan nodos y aristas para representar los datos almacenados. Son muy útiles para guardar información en modelos con muchas relaciones, como redes y conexiones sociales. En esta categoría encontramos: Infinite Graph: escrita en Java y C++ por la compañía Objectivity. Tiene dos modelos de licenciamiento: uno gratuito y otro de pago. Neo4j: base de datos de código abierto, escrita en Java por la compañía Neo Technology. Utilizada por compañías como HP, Infojobs o Cisco. Como veis los tipos son muy diferentes. Si tenéis pensado en usar algún sistema NoSQL, aseguraros bien de qué es lo que necesitáis. Imagen | tec_estromberg En GenbetaDev | El concepto NoSQL, o cómo almacenar tus datos en una base de datos no relacional, UnQL, un lenguaje de consulta unificado para todas las bases de datos NoSQL

NoSQL: clasificación de las bases de datos según el teorema CAP

8 Comentarios
NoSQL: clasificación de las bases de datos según el teorema CAP

En el anterior post hablábamos de los distintos tipos de bases de datos NoSQL. Como ya comentábamos, estas bases de datos son muy distintas de las bases de datos relacionales. Y además pueden ser muy distintas entre sí.

Aunque conocer el tipo de modelo de datos es importante, también hay que tener en cuenta otros factores. Las bases de datos NoSQL están pensadas para ser escalables y distribuidas. Y por ser distribuidas tendremos que tener en cuenta el teorema CAP.

Leer más »

Bases de datos NoSQL. Elige la opción que mejor se adapte a tus necesidades

8 Comentarios
Bases de datos NoSQL. Elige la opción que mejor se adapte a tus necesidades

Cuándo pensamos en bases de datos relacionales a nuestra mente suelen acudir los mismos nombres. En la parte comercial tenemos Oracle y Microsoft SQL Server. Del lado del software libre, tenemos opciones como Postgre SQL o MySQL. Aunque cada una tiene sus peculiaridades, para un desarrollador no es difícil elegir entre un sistema y otro. Al final todo son tablas, columnas, claves primarias, y sobre todo, consultas SQL. La decisión de cuál elegir, se basará en sus características y precio.

Si hablamos de bases de datos NoSQL, la cosa se complica. A día de hoy existen unos 150 sistemas de bases de datos NoSQL. Elegir uno de ellos puede ser muy difícil, ya que ninguno ha obtenido todavía la fama que sí han conseguido las bases de datos relacionales.

Leer más »
Publicidad

El concepto NoSQL, o cómo almacenar tus datos en una base de datos no relacional

19 Comentarios
El concepto NoSQL, o cómo almacenar tus datos en una base de datos no relacional

A estas alturas es extraño toparse con alguien que no haya oído hablar de NoSQL, ni que sea de pasada. No obstante, no todos los desarrolladores con los que trato habitualmente tienen claro el por qué de su popularidad, posiblemente debido a que no han tenido aún la oportunidad de trabajar con alguno de los sistemas que se basan en este concepto.

En la carrera de informática, muchos hemos aprendido que los sistemas de bases de datos se clasifican mayormente en tres tipos: Las bases de datos relacionales, las orientadas a objetos, y las relacionales orientadas a objetos. Sin embargo, pronto nos dimos cuenta que, en la práctica, la mayoría de los motores de bases de datos más populares se basan en la arquitectura relacional, y todos ellos utilizan el lenguaje de consultas SQL (con variaciones) para operar con los datos. Tanto es así, que SQL se convirtió con el paso de los años en un estándar “de facto”, debido a su uso.

Leer más »
Publicidad
Inicio
Inicio

Ver más artículos