Todo un honor estar debatiendo con Manuel en este live
@GustavoHernandez-fy4fk
3 жыл бұрын
Saludos Hector! Estaría bien un video de MVC sin ORM trabajado con puro SQL
@ManuelZapata
3 жыл бұрын
Gracias a ti por haber aceptado la invitación!
@edwinspiredev4930
Жыл бұрын
Por años he usado sql directamente, ahora estoy empezando con un orm y me pareció muy bueno e interesante, agiliza el trabajo aunque me quita un poco de control.
@doukosaint
2 жыл бұрын
SQL es lo mejor, me parece que entender la base de datos ayuda mucho mas
@darknesspurple
2 жыл бұрын
Caballeros... Que debate tan enriquecedor, me encantó, despeja muchas dudas.
@dodo11858
3 жыл бұрын
Idea para debate: herencia vs composición. Buen debate, un saludo! D
@ManuelZapata
3 жыл бұрын
Me gusta esa idea!
@JonyBgood__79
3 жыл бұрын
Increíble! Muchas gracias por lo que aportan y como lo aportan! Esperando con ganas el próximo debate!
@leticiavilla539
Жыл бұрын
Genial!
@mendozaleon3597
Жыл бұрын
Hola Manuel y Héctor , gracias por brindar sus conocimientos. Tengo una duda se considera mala práctica tener en un mismo proyecto uso de ORM y SQL puro ?
@miliblack9320
3 жыл бұрын
Muy buenos debates chavos, los empiezo a ver poco a poco. Y aprender otras herramientas Gracias.
@xanderjims
3 жыл бұрын
Muchas gracias @manuel y @hleon super bueno el #devbate, pregunta para cuándo un video sobre control de versiones y documentación en la Base de datos, saludos!!
@gustavorodriguez6098
2 жыл бұрын
me gustan estos debates son unos cracks
@AnthonyCode
Жыл бұрын
a mis alumnos les enseño excel y cuando usamos acces para conectar y hacer dashboards vemos algo de vista sql y se hace muy sencillo, también el hecho de usar herramientas case para modelado que te genera todo el codigo sql y pues ahí esta la idea de lo que ya estas haciendo
@cesaraugusto66
3 жыл бұрын
1:43:15 "Me encanta como tienes que defender lo que odias" jajajaj te pasas Hector
@marlonconrado6136
3 жыл бұрын
Los debates de estos dos personajes son demasiado instructivos. Yo por mi parte he utilizado las dos formas, ORM y SQL pero en el proyecto en el que trabaje con SQL puro nos cambiaron la base de datos a Postgresql y en ese momento desee haberlo echo con un ORM.
@Dragoon77
Жыл бұрын
Llego un año tarde pero esto está excelente
3 жыл бұрын
Excelente vídeo!
@carlo86ify
Жыл бұрын
Buenas, Como siempre, sigo estos debates y me gusta comentar por si se llega a ver u otras personas quieren opinar al respecto. Para mí respecto al rendimiento veo complicado que ORM tenga mejor rendimiento porque al final el ORM va a tirar de la base de datos y si usar SQL puede ser malo por el diseño ORM le va a pasar lo mismo, porque si las columnas de los filtros no están indexados correctamente tanto SQL como ORM van a sacar un mal resultado. Sobre de que no se cambie la BBDD yo si lo he visto más de lo que parece sobretodo cuando en los Datawarehouse tienen una plantilla de reporting o BI que la base principal y experta o más bien la lógica de negocio está a nivel de PowerBI, esto lo que hace es que se prefiera integrar los productos de Microsoft por la compatibilidad y más funcionalidades, por ejemplo Direct query que solo es compatible o solo era compatible con SQL Server con MySQL por ejemplo no funciona, si en estas capas está toda la lógica de negocio, que sería en BI como el lenguaje de programación donde se tiene la lógica de negocio sería igual que pasar de C++ a R como pasar PowerBI a Qlik Sense. Esto quiere decir que posiblemente no tenga muchos procedimientos almacenados tan complejos como para que se complique más que la otra capa. Aquí aprovecho a comentar lo que decía Manuel de SQL estándar, yo lo interpreto como por ejemplo: Tiene mucho mejor rendimiento usar decode en Oracle en vez de un CASE? En MySQL es mucho más óptimo usar If que CASE?, es más óptimo el ISNULL de SQL Server y el IFNULL de MySQL que un COALESCE? Sí es no entonces por qué no estandarizar las funciones? jajaajajaja, porque poco más tiene de cambios, donde más cambios puede haber es en las funciones de fechas que ahí si viene la fiesta, pero en el caso que hablo las funciones de fechas que cuando hay muchos es para sacar reporting estaba en la herramienta de visualización, las fechas que se usan en los procesos suelen ser más para hacer incrementales y poco más, que no es tan complejo de migrar y sobre el tipo de índices y tipos de datos ya las herramientas de migración te las contemplan, pero ya digo que pasar de PowerBI a Qlik donde las lógica están ahí sería tan problemático como migrar sps con lógica de negocio jajaja A lo que me refiero es que siempre depende del caso o por lo menos es mi forma de verlo, posiblemente una empresa que era una pyme y no sabía que iba a crecer tanto y se instalaron Oracle express, fue creciendo y las licencias de pago te arruinaría el negocio, porque creciste pero no tanto para pagar esas bestialidades de precios, pues me pasaría a postgreSQL que para mí sería como C# con java o incluso más parecidos pero gratis los PL/SQL serán PL/PGSQL. La parte que yo critico de una migración es que para los planes de mantenimiento sí que cambia por lo que no se debería migrar a BBDD muy diferentes, porque no me quiero imaginar migrar de SQL Server con los planes de mantenimiento de Ola hallengren a Oracle jajaajaj. De que SQL sea antiguo no quiere decir que no avance, una de las pruebas es que en las versiones van metiendo nuevas funcionalidades como por ejemplo en MySQL en versiones 5 no se podía hacer vistas que contengan subconsultas ahora sí, no existían las CTE ahora sí, las funciones LAG y LEAD que sin estas funciones nos obliga a hacer unas subquerys poco prácticas o incluso bucles en sp. Conclusión que ya esto es un pergamino: Casi siempre prefiero SQL pero es muy cierto que el ORM hace que no importa si te conectas a distintas BBDD que no vas a tener que traducir el código a ese tipo de lenguaje, pero como me gusta el rendimiento me gusta saber que cada cosa que haga en las consultas los explain me dan la cardinalidad correcta en el 90% de los casos Sería muy buen debate un SQL Server vs Oracle, MySQL vs postgreSQL. En lenguajes de programación por ejemplo Java vs C#, Python vs R, Java vs Python. Muchas gracias por los debates. Saludos desde España.
@murphishouse
Жыл бұрын
Hola Manuel, felicito a los dos por la calidad de profesionales y maestros que son. Consulto como aplicó dry, patrones, arquitectura, mvc en web cuando la lógica puede estar en queries views, stored procedure y se reusa en muchos endpoint algúna queries. Pq me gusta lo de meterles patrones pero los queries tiene mejor rendimiento en la base de datos y gestionarlos de forma relacional tiene sus ventajas, pero en la mvc de la API mejoró la presentación agrupó objetos y array de objetos, y hay porciones de queries qué aparecen en muchas su queries o controles qué se repiten en controladores pero es lógica en la bd qué se llama. Alguna cosas como programación orientada a aspectos salió pero no se como ayuda. Que opinas pq la verdad esta bueno el ORM pero sacrificas rendimiento y cñhay cosas que la podrías resolver en la bd.
@murphishouse
Жыл бұрын
Otro detalle no es lo mismo trabajar con Oracle, SQL Server, Postgres, o MySQL tienen diferentes abstracciones para modularizar dentro.
@murphishouse
Жыл бұрын
Un tema recurrente. Las subqueries son difíciles de hacer en los ORM, y traer todo los datos que querés de forma eficiente cuando queres se hace difícil, terminas saliendo de dominar un sql para dominar un ORM qué por detrás o de forma híbrida referencia cosas como el código sql. Pq en objetos podes tener campos de entities, dto etc, por otro lado tablas, views, stored procedure, functions, events, triggers, etc
@SpawnCD
2 жыл бұрын
nunca es tarde, pero me siento comodo y super productivo, mapeando Stored Procedure con Entity Framework o Dapper, y accediendo a la administracion desde los ORM a tareas programadas sobe SQL.
@luisliquin6398
2 жыл бұрын
Muy buenos puntos de vista, hace poco incursione con orm, pero por el momento trabaje mas con sql desde la app; capaz con el tiempo cambie de opinion pero para el desarrollo prefiero llamar al sp de la db y si modifico algo solo toco la base de datos.
@edwinloaiza1017
3 жыл бұрын
saludos muy buen debate
@ManuelZapata
3 жыл бұрын
Gracias Edwin!
@enriqueruiz320
3 жыл бұрын
Me rindo, me dedicaré al arte 😆
@SimaDamian
3 жыл бұрын
Muy bueno, Yo voy mas por SQL pero me gusta mucho ORM, trabajo mucho con C# y uso varios metdos (librerías/utilidades) para relaizar los mapeos y manejar la construcción de las consultas. Igualmente coincido en todos los puntos.
@ManuelZapata
3 жыл бұрын
Gracias por compartir como lo usas!
@wanchuchos
3 жыл бұрын
Si tengo varias bases de datos ( una por cada cliente ) y solo un servicio web, es bueno usar el ORM, no afecta el rendimiento o algo asi???
@r.gianfrancocarbonells.9662
3 жыл бұрын
Mmm ORM proyectos pequeños sin mucho escala y SQL proyectos grandes con gran escala, además orm para hacer las querys con gran tamaño de data te tumba el server, además estaría manejando en el Back todo todo eso, hay muchas desventajas
@pringstom
2 жыл бұрын
te tumba pq no tienes consultas pulidas
@elotrofulano
Жыл бұрын
Round 1, de mi parte SQL
@patricior7300
2 жыл бұрын
Consulta: Pandas es un ORM ? Tidyverse es un ORM ? No me queda claro el concepto. Gracias!
@Dragoon77
Жыл бұрын
No, esas son librerías para el manejo de datos en general. Los ORM son librerías específicamente para interactuar con una base de datos relacional (mysql, Postgres, etc) usando programación orientada a objetos en el lenguaje que estes usando en lugar de SQL
@adolfovanegas7802
3 жыл бұрын
buenas , buen debate. Por favor, escuche que si en una base de datos hay 500 tablas, no es necesario mapearlas todas, como hacerlo, si la ecencia de un Orm es esa. por ejemolo tienes la tabla de productos esta misma esta relacionada con varias mas , como lo son marcas, categorias sub categorias aranceles y les aseguro varias mas, asi mismo para la de clientes.. facil puedes llegar a 500 tablas o mas, claro, estamos hablando de varios sistemas.. cxc, cxp, nominas, inv, ventas, compras etc...como armar la aplicacion si estos objetos no se mapean, que tienes que tomar en cuenta para excluir los mismos. saludos.
@moviedomof
2 жыл бұрын
+ rapido le das masa alos SP que ya incluso los SP llaman a vistas y listo.. eso seguro ya esta desarrollado si agaras un sistema al cual desarrollarle una capa cliente . Me gusto mucho TypeORM cuando labure contra postgred pero lleva tiempo entender lo que metieron eln la BD y las consultas quedan muy en el codigo luego te cambian algo en la BD y te rompen todo
@moviedomof
2 жыл бұрын
Si tenes microservicios y que a'untana la misma BD (que es comun cuando dividis por dominios) el codigo back esta separado incluso en diferentes tecnologias (.net en EF, Nestjs con prisma o typeorm etc) y si cada porgramador le dio a su manera los mapeos... madre mia es un quilombo...
@cristhianavargascuero5821
3 жыл бұрын
Gran debate! muy bueno, jeje emociones encontradas con lo del banco Manuel, bueno adicionalmente Manuel debió ganar en lo del tema del Rendimiento! no te escucharon...
@fernandopoveda5485
3 жыл бұрын
Esperen, y el refrigerio? :-(
@ManuelZapata
3 жыл бұрын
Jajajaja
@albertosanch292
3 жыл бұрын
Pregunta de un novato que se va adentrando al mundo de la programacion, yo inserto los registro uno por uno, cómo se insertarían los 50 o 100 con el procesamiento que ha dicho en el min 52:30 ? Por ejemplo para insertar como 10k registros, que son pocos, me tarda como 35 segundos , haciendolo uno por uno, es decir, recorriendo los datos y llamando al insert ? Podría compartir algun enlace o video, o libro en el que expliquen esto que ha comentado con más detalles ?
@dexter117
2 жыл бұрын
Pienso que en este caso podrias apoyarte de un ORM y manejar dichas inserciones con programacion concurrente. Distribuyendo la data a distintos hilos sincronizados, a esto se le conoce como paralelismo de datos. Claro, teniendo el cuidado que tus tablas no sean bloqueadas por una transacción que aún no se ha completado localmente en tu servidor de base de datos.
@Dragoon77
Жыл бұрын
El ORM de Django o sqlalchemy tienen métodos para hacer Bulk insert, donde puedes hacer insert de muchas filas con un solo query . INSERT en SQL puro lo permite también
@OPlutarch
2 жыл бұрын
1:13:30 jajajaja
@mgilrosa
3 жыл бұрын
normalmente uso ORM. pero a veces, repito, a veces, es más fácil usar SQL que hacer consultas complicadas en ORM
@ManuelZapata
3 жыл бұрын
Gracias por el aporte, Miguel!
@roy_c
3 жыл бұрын
El concepto de ORM (object relational mapping) en funcional tendría que pasar a ser FRM (function relational mapping) xD ja
@dexter117
2 жыл бұрын
Es absolutamente posible a pesar de que tu comentario tenga un toque sarcástico. Te comento que un ORM al tratarse de un mapeo está fundamentado en el modelado de datos, siendo este un proceso propio de los subsistemas lógicos que pueden conformar una red de telecomunicaciones o SI en el cual tú representarás mediantes tipos abstractos cierto conjunto de variables escalares codependientes entre si. Resulta que, el principio de abstraccion de datos no es propio de la Orientacion a Objetos. Este concepto parte desde la primera vez que los lenguajes funcionales implementaron practicamente el concepto de closures. Tu podrias lograr un modelado con puros closures, siendo estos, las representaciones literales de una estructura algebraica. Sin embargo, el motivo por el cual esto no es del todo viable es debido a la concepcion de ¨estado¨, escalabilidad, flexibilidad y externalización de dependencias. No conseguiriamos arquitecturas de software tan eficientes a nivel de practicidad como lo hacemos con la OOP.
@carlosdorado7577
2 жыл бұрын
sql sin orm, agregar una capa solo complica las cosas
@cpaez2000
3 жыл бұрын
Disculpen que se los diga. Pero este debate no tiene sentido. Ambas tecnologias no compiten entre si. Desarfortunamente todo se reduce a ignorancia y/o incapacidad de conocer una y otra por parte de los desarrolladores. Si soy trucha en SQL entonces me voy ahi, si me siento mas comodo en ORM entonces desarrollo por aca. Que luego el resultado sea un monton de problemas porque no seleccione de acuerdo al entorno, recursos y sobre todo naturaleza del proyecto, sino a mi convenciencia, pues ni modo.
@ManuelZapata
3 жыл бұрын
No pusiste cuidado al debate. Lo que hicimos fue evaluar cada opción frente a distintas situaciones y analizar fortalezas y debilidades. Eso era todo.
Пікірлер: 56