Tipos de NoSQL



En anteriores entradas comentaba que me resulta interesante éste tipo de bases de datos porque difieren de la gestión de bases de datos relacionales y al tratarse de bases de datos no-relacionales, distribuidas, de código abierto y escalables; de entrada le cambian todo el panorama que uno tiene sobre Base de Datos y por supuesto; nos empiezan a brillar los ojitos y nos dan ganas de saber más al respecto.

Pero bien, sin más rodeos; a lo que nos interesa: tipos de NoSQL:

  • Bases de datos documentales: nos permiten indexación a texto completo y realizar búsquedas más potentes. Los documentos que se manejan son un conjunto de datos identificados por etiquetas, los cuales  internamente pueden ser JSON o de otro tipo que se recuperan mediante claves primarias. Un uso común es el almacenamiento de datos recibidos mediante formularios web. Un ejemplo de éste sistema es MongoDB.
  • Bases de datos Clave-Valor:  Son las más sencilla en cuanto a funcionalidad, en los cuales simplemente se recupera un objeto binario (BLOB) a partir de una clave. Este tipo de bases de datos se suelen usar para almacenar y recuperar objetos dónde la estructura interna no es visible a la aplicación cliente. Cassandra es un ejemplo de éste tipo de sistemas. 
  •  Bases de datos en grafo: En éste tipo de base de datos, se representa la información como nodos de un grafo y sus relaciones con las aristas del mismo. El recorrido de éste tipo de base de datos es similar a un algortimo de búsqueda en profundidad o de búsqueda en anchura; algoritmos que hemos estudiado en la clase de Diseño de Algoritmos. Características interesantes son; que las consultas son más amplias y no demarcadas por tablas y no hay que definir un número determinado de atributos. HyperGraphDB; es un interesante ejemplo de ello. 
  • Bases de datos orientadas a objetos: En éste tipo de base de datos la información se representa mediante objetos tal y como en la como los presentes en la POO. Están diseñadas para trabajar con lenguajes de programación orientados a objetos como Java, C#, Visual Basic.NET y C++. 
  • Bases de datos tabular: Es un modelo relativamente sencillo de construir. Las tareas administrativas son similares a la administración de una base de datos multidimensional. Las mismas herramientas y enfoques son aplicables.

Comentarios