[SOLUCIONADO] SQL / NOSQL

Iniciado por MarianoSp, Febrero 07, 2022, 08:11:15 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 07, 2022, 08:11:15 PM Ultima modificación: Febrero 11, 2022, 02:10:21 AM por AXCESS
Hola gente ! pregunta, nunca he usado BBDD NOSQL, que diferencia tiene con las otras? cuando conviene usar una u otra?

Buenassss
La verdad mucha....

Segun lo que quieras hacer uno o otra es mas conveniente.

Si son ponele millones de registro dicen los qu saben que NO-SQL tiene mejor manejo o rendimiento.(big-data...etc)....

Es un simple ejemplo.

Mejor es una vuelta por el señor google y muchas horas sillas para que te quede una mejor idea.

Exitos

Febrero 08, 2022, 01:23:06 PM #2 Ultima modificación: Febrero 08, 2022, 03:26:38 PM por DtxdF
Hola @MarianoSp

La decisión a elegir se toman por diversas razones, y todo dependerá qué tantos requerimientos se hayan obtenido del cliente, la rapidez que se quiera conseguir, si se necesita un esquema (aunque ya hablaré un poco más de esto en breve) bien definido. Pues la razón de si una es mejor que otra, no tiene sentido, básicamente uno es un informático y debe hallar la mejor solución para determinado problema a tratar.

Cuando se requiere que seamos bastante flojos (no algo innovador en los programadores) y queremos que las validaciones de algún esquema sean hechas cuando ingresamos datos, pues una base de datos relacional debe hacer esto, y en la mayoría de casos lo hace. No obstante, no quiere decir que en una base de datos no relacional, usando un ODM no se pueda conseguir eso, y de hecho, no necesariamente tiene por qué ser un ODM sino que puede ser hasta el mismo motor[1].

A veces se requiere tener cierto control sobre los tipos de datos y ser más flexibles, pero esto no es necesariamente algo bueno si se usa en exceso o cuando no se tiene algo muy bien definido, porque podría crearse inconsistencias. Claro, que a veces no se requiere consistencia, sino más bien flexibilidad, pero hay que ser sabios en esta elección.

Aunque las bases de datos no relacionales, en efecto, no se relacionan como lo hacen las bases de datos relacionales, es posible realizarlo con algunas de una manera lógica[2] lo cual es muy útil, pero si se requiere que se tenga relación y explotar esta capacidad, tal vez las bases de datos relacionales sean lo que buscas.

Mayormente se elige sin pensarselo más de dos veces una base de datos no relacional por su rapidez, pero se debe pensar muy bien la aplicación que se le dará uso, ya que no es buena idea pensar que si una base de datos aumente en tamaño, no se puedan realizar algunas cosas para mejorar el rendimiento escalando verticalmente gracias a, por ejemplo, un balanceado de carga.

He de repetir que ninguna es mejor, sino que su uso dependerá tanto del aplicativo, del desarrollador, y las necesidades. Una base de datos no relacional es muy útil para un sistema en tiempo real que requiere un muy buen rendimiento, mientras que un sistema financiero requiere una relación estricta entre tablas para su correcto funcionamiento y validación.

Referencias:

1.- No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
2.- No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

~ DtxdF
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Como dijo DtxdF ninguna es mejor que la otra. Hay situaciones en las que un a base relacional se comportará mejor que una no relacional y vice versa. En mi opinión para un desarrollador que trabaja solo o que programa como hobby, usualmente es mejor usar bases no relacionales ya que no requieren que diseñes una estructura de datos desde el principio, sino que la podés modificar durante el desarrollo. Además la mayoría de bases no relacionales tienen APIs para multiples lenguajes lo que te permite dejar de lado los ORM en programas simples, algo que es muy difícil usando bases relacionales. Reitero, esta es mi opinión.

Si tuviera que recomendar una base de datos no relacional recomendaría Firestore, ya que junto con el resto de productos de Firebase provee un montón de ayudas al desarrollo de pequeñas aplicaciones y proyectos totalmente gratis.