19

¿Existe un solo tipo de bases de datos no relacionales?

21486Puntos

hace 2 años

Curso de Fundamentos de Bases de Datos
Curso de Fundamentos de Bases de Datos

Curso de Fundamentos de Bases de Datos

Antes de utilizar cualquier tecnología para bases de datos debes entender los fundamentos de diseño y modelado requeridos para que tengas la mejor arquitectura posible. Crea tus propios modelos de bases de datos con las mejores prácticas desde cero.

Escuchamos todo el tiempo que existen dos tipos de bases de datos: relacionales y no relacionales o NoSQL; en mi caso siempre creí que esto abarcaba dos tipos únicamente, sin embargo al saber más comencé a pensar que lo más apropiado sería diferenciar estos conceptos como bases relacionales y otros tipos de bases

Puede que esto te suene un poco enredado al inicio, pero en realidad las bases no relacionales son tan diferentes entre sí que difícilmente pueden ser consideradas un grupo que comparta demasiadas características (aunque claramente son bases de datos, pero las relacionales también lo son.)

Bases de datos no relacionales que puedes encontrar

  • Clave - valor: Son ideales para almacenar y extraer datos con una clave única. Manejan los diccionarios de manera excepcional. Ejemplos: DynamoDB, Cassandra.
  • Basadas en documentos: Son una implementación de clave valor que varía en la forma semiestructurada en que se trata la información. Ideal para almacenar datos JSON y XML. Ejemplos: MongoDB, Firestore.
  • Basadas en grafos: Basadas en teoría de grafos, sirven para entidades que se encuentran interconectadas por múltiples relaciones. Ideales para almacenar relaciones complejas. Ejemplos: neo4j, TITAN.
  • En memoria: Pueden ser de estructura variada pero su ventaja radica en la velocidad, ya que al vivir en memoria la extracción de datos es casi inmediata. Ejemplos: Memcached, Redis.
  • Optimizadas para búsquedas: Pueden ser de diversas estructuras, su ventaja radica en que se pueden hacer queries y búsquedas complejas de manera sencilla. Ejemplos: BigQuery, Elasticsearch.

¿Cómo eliges el tipo de base de datos que necesitas?

Un error muy recurrente en los últimos años es creer que las bases no relacionales son la respuesta ante todas las necesidades. Más veces de las que te imaginas la respuesta estará en las tradicionales bases de datos relacionales.

Entonces, ¿en qué momento usar un tipo de base distinta?

De acuerdo a los tipos de bases de datos que ya conoces que existen, una buena idea sería ver quién las está utilizando y de qué manera lo hace. Ejemplo: Tu aplicación está pensada para ser la nueva Facebook del futuro.

Facebook utiliza Cassandra así que sería una muy buena idea analizar qué hizo que ellos abandonaran las bases de datos relacionales y eligieran el modelo que ofrece Cassandra.

art-big-data-blur-373543.jpg

Dependiendo de lo que hagas, ¡muchas veces tendrás que usar más de un tipo de bases de datos!

No es para nada extraño encontrar proyectos que manejen diferentes tipos de bases de datos para sus proyectos. Sin embargo quienes más necesitan tener todas las opciones en sus manos son aquellas personas que se quieran dedicar a campos tan increíbles como Machine Learning o Business Intelligence.

Así que si en algún momento sonreíste al pensar en ser un experto en alguna de estas disciplinas, ¡no esperes más! Comienza con el pie derecho aprendiendo las bases con el Curso de Fundamentos de bases de datos

Curso de Fundamentos de Bases de Datos
Curso de Fundamentos de Bases de Datos

Curso de Fundamentos de Bases de Datos

Antes de utilizar cualquier tecnología para bases de datos debes entender los fundamentos de diseño y modelado requeridos para que tengas la mejor arquitectura posible. Crea tus propios modelos de bases de datos con las mejores prácticas desde cero.
Mariana
Mariana
PurpleDoll

21486Puntos

hace 2 años

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
3
32935Puntos

¿Cuando usar una base de datos en memoria como redis?

  • Sistemas de chat y mensajería

  • Listado de elementos más recientes

  • Contadores y uso de estadísticas en tiempo real

  • Manejo y administración de carros de compra en línea

  • Almacenamiento de sesiones de usuario dentro de una aplicación

  • Soporte como caché de páginas web

2
8606Puntos

Muy buen post para entender que en estas dos clasificaciones existe un mundo inmerso en cada una de ellas y escoger adecuadamente según nuestra necesidad será parte de nuestro conocimiento y experiencia, según la necesidad que se acabará!!

2

Excelente concepto.
En cuanto a la pregunta. Cuando uno decide que tipo de base de datos debo usar. Entiendo yo que es depende del core del negocio que se automatizara con el software o app a desarrollar.

0

Gracias la verdad he entendido que las bases de datos deben tener una estructura coherente con lo que se requiere, por esto se debe entender muy bien el modelo para poder saber a qué ejecutarlo, gracias platzi, he encontrado un excelente contenido