Mysql vs Nosql: ¿Cuál prefieres para bases de datos?

  • Autor Autor Aledky91
  • Fecha de inicio Fecha de inicio
Aledky91

Aledky91

Delta
Verificación en dos pasos activada
¿Cual os gusta mas a la hora de utilizar bases de datos? En mi opinión.. si se van a guardar muchísimos datos preferiría usar Nosql (Mongodb). Si no fuese el caso me quedaría con Mariadb
 
Mysql :encouragement:
 
Mysqli [emoji41]

Enviado desde mi SM-J106B mediante Tapatalk
 
Como haz dicho, si vas a tener una gran cantidad de request en tu aplicación o vas a hacer algo que tenga gran alcance y un gran flujo de usuarios en tiempo real no es posible usar mysql por que revienta de tantos request, en ese caso se debe utilizar no sql, de resto para proyectos pequeños mysql es perfecto
 
Depende de tu necesidad.
Las relaciones en mongo u otras no sql son de más cuidado pues puede afectar el rendimiento.
Mysql se sirve para casi todo aunque el acceso a sea más lento y las referencias son más sencillas de realizar.
Nosql para cantidades enormes de datos es muy recomendable.

Enviado desde mi Moto G (5) Plus mediante Tapatalk
 
PostgreSQL 🙂
 
Como haz dicho, si vas a tener una gran cantidad de request en tu aplicación o vas a hacer algo que tenga gran alcance y un gran flujo de usuarios en tiempo real no es posible usar mysql por que revienta de tantos request, en ese caso se debe utilizar no sql, de resto para proyectos pequeños mysql es perfecto

Y que son gran cantidad de request??? cuantas aproximadamente bro? me das un ejemplo 😉
 
MySQL utilizando MyISAM para lectura rápida de datos en tabla. Si la aplicación es relacional, constraints, relaciones, etc.. lo tuyo sería usar MySQL innodb.

Por otro lado, MongoDB no es relacional. No existe un esquema definido, ya que puedes crearlo al vuelo (mientras insertas data).
Así, que debes plantearte primero que tipo de aplicación vas a desarrollar. La estructura, el flujo de datos, módulos. (Arquitectura)

En mi caso, yo iría por lo que conozco e implementar algo en paralelo. Por ejemplo, yo utilizo Redis para las sesiones y para almacenar datos recurrentes o data que se lee constantemente. Así evito que MariaDB se sobrecargue.
Ejemplos de usos: lista de top jugadores o medallas recien logradas por usuario. (Sí, es para un juego)

Si es posible usa MariaDB.

Sent from my SM-G930F using Tapatalk
 
Y que son gran cantidad de request??? cuantas aproximadamente bro? me das un ejemplo 😉

Claro, Los request son las solicitudes o las peticiones que se le hace al servidor, y los response son las respuestas del servidor. Te explico.

Imagina que tienes un set point o una URI que le pasas un id ya sea de un post o algo. La primera solicitud que tu haces al servidor es obtener ese id, consecutivamente el servidor te lo devuelve y luego tu vuelves a hacer un request mandandole ese id para que te retorne los datos.

Y entonces imagina que haces todo eso nada mas para usar 2 datos de la tabla. EJ: le envías un request para obtener los datos de 1 articulo pero en realidad tu necesitas solo el precio y el titulo y los otros datos están demás, allí consumes banda ancha por que no todo lo vas a usar y haces 2 request y 2 response solo para obtener 2 datos, ahora imagina a 1000 o 2000 personas queriendo ver un producto y haciendo eso. Obvio vas a tumbar el servidor, en casos especiales como estos se utilizan base de datos no relacionales para evitar colapsar el servidor
 
Yo uso sqlite en un sitio de drupal de 4.5 millones de registros y va rapido, eso si le meti como cache mongodb y carga la pagina a .300 ms
 
Utilizo MongoDB o Cassandra en apps que sé que son escalables. Para todo lo demás uso PostgreSQL o en su caso MySQL (MariaDB).

Aunque siendo realistas, tu app debe ser bastante peculiar para que veas las verdaderas ventajas del NoSQL. Incluso puedes tener grandes volúmenes de datos y MySQL te va a funcionar de maravillas. Pero si buscas escalabilidad horizontal y aumentar el rendimiento, son una excelente alternativa estas bases de datos.

Saludos.
 
Compañeros aprovecho el hilo de preguntar, si requiero realizar un aplicativo web donde exista una relación de usuarios hacia varias fotos, es recomendable usar MySQL?

Una segunda duda que tengo, es el almacenamiento de las fotos, se realizán en el servidor interno, y los enlaces se guardan en la Base de Datos, o recomiendan sub utilizar nubes como el google drive para evitar la saturación.

Gracias de antemano por sus respuestas.
 
Quedate con lo que mejor conoces y que has comprobado que funciona.
 
SQL VS NoSQL
  • SQL permite combinar de forma eficiente diferentes tablas para extraer información relacionada, mientras que NoSQL no lo permite o muy limitadamente.
  • NoSQL permite distribuir grandes cantidades de información; mientras que SQL facilita distribuir bases de datos relacionales.
  • SQL permite gestionar los datos junto con las relaciones existentes entre ellos; en NoSQL no existe este tipo de utilidades .
  • NoSQL permite un escalado horizontal sin problemas – por su capacidad de distribución-; mientras que escalar SQL resulta más complicado.
Aprovecho el espacio para abrir un interrogante

Los motores de base de datos son utilizados como intermediarios entre la base de datos y las aplicaciones, estos sistemas también proporcionan métodos para mantener la integridad de los datos, para administrar el acceso de usuarios a los datos y para recuperar la información si el sistema se corrompe. Permiten presentar la información de la base de datos en variados formatos. La mayoría incluyen un generador de informes. También pueden incluir un módulo gráfico que permita presentar la información con gráficos y tablas.

Quisiera conocer cuál es su opinión referente al mejor motor de Bases de Datos Open Source con el que hayan trabajado y su experiencia, aparte de los mencionados anteriormente.
 
En mi experiencia mysql/mariadb es suficiente para prácticamente todo. No creo que alguien aquí tenga un proyecto que realmente requiera nosql. Además que las ventajas de los modelos relacionales en materia de integridad de información es algo muy deseable de mantener.

Ahora, si yo tuviera muchos datos antes que abandonar las bases de datos relacionales iría a Amazon AWS RDS. Alguna vez necesite hacer eso con un cliente que tenía un CRM opensource a mi gusto muy mal construido (vtiger crm) que se chupaba entero.

Quizá si necesitas implementar logica del negocio en la base de datos, (procedimientos almacenados, otros) sería interesante ir a postgresql, pero personalmente no recomiendo colocar lógica del negocio en la base de datos, se puede hacer, pero si después hay que cambiar de motor, es un dolor de cabeza.

Si alguien esta recién aprendiendo... yo creo que lo mejor es dedicar tiempo a aprender una tecnología que este disponible en todas partes.
 
Atrás
Arriba