Bom dia, aqui na minha empresa ja utilizamos typeorm,prisma,sequelize, sem duvida o typeorm te da mais controle e prima mais facilidade, so que ambos sempre dependentes etc, o fizemos novos projetos grandes é utilizar Knex com schema nosso criado ou seja nosso orm, com hooks etc, e pronto não usamos mais orms de mercado so nosso agora.
Rodrigo Santoro verso é real! Cara que conteúdo bom, um amigo meu me enviou e eu fiquei triste por estar usando o prisma em um projeto, não por ele nao dar conta, mas pelas quantidades de queries que você mostrou que ele chuta pro banco de dados. Obrigado pela aula!
E aí, Waldemar. Saudades dos seus vídeos, cara! Aqui onde eu trabalho usamos typeORM por uns 5 anos, muito robusta apesar de alguns bugs chatos. Tentamos o prisma e caímos em vários problemas por exemplo esse dos joins que você citou. Atualmente estamos testando o kysely e até que tá rolando. Vamos ver. Valeu!
Gostei do seu vídeo e concordo com tudo que disse, atualmente tenho usado o Prisma mesmo em grandes projetos pois gosto da experiência de desenvolvimento dele. Torço pra que ele continue melhorando, acompanho de perto o desenvolvimento e vejo que os desenvolvedores e a comunidade é bem engajada...
Vi alguns artigos falando sobre o drizzle e os benefícios que ele tem em comparação com o Prisma, desde type safety até custo nos recursos de banco de dados. Já ouviste falar do drizzle?
Já tive uma pequena experiência com o drizzle orm, em comparação com o Prisma não tem quase nenhuma curva de aprendizagem, principal beneficio que vi foi rodar em local serveless, e poder usar os Prepared statement na execução de querys.
Muito boa essa analise, já utilizei o Prisma em 3 projetos e se comportou super bem e a experiencia foi senssacional, lembrando que esse projetos não exigia muita complexidade nas requisição ao banco, logo se comportou super bem. Pretendo continuar usando em projetos menores com baixa complexidade.
Otima analise 👏👏 Nao gostei do prisma desde a primeira vez q vi; aqueles schemas achei mto estranho. Ja usei o typeorm e gostei, mas em um projeto recente decidi nao usa-lo pela falta de atualizacoes, e optei pelo sequelize. Bom saber q voltaram a manter o typeorm
Eu uso typeorm há alguns anos, e antes com java o hibernate. Um framework que gostei (na teoria) mas nunca usei foi o kysely, principalmente quanto ao seu construtor de consulta sql.
@WaldemarNetoDevLab que tal fazer um experimento nesse projeto com o DrizzleORM, pra ver como ele se sai com performance e em larga escala? Seria uma conteúdo muito bom de ver. Parabéns pelo vídeo 👏
Esqueceram do Mikro-orm, na empresa que trabalho adotamos em massa, destaco as features Enterprises como unit of work e hooks, alem de ser bem estável e bem mantido com correções de bugs e novas features.
Eu sinceramente, gosto do TypeORM, desde 2019 eu uso ele na maior parte dos projetos, na época a briga era sequelize vs TypeORM, e sinceramente, não tem comparação né gente, o Typeorm é mto melhor que o sequelize, fora que na época, ele era incompatível com projetos typescript. Agora, o Prisma, eu não gostei na da experiência de forma geral, achei meio complexo, enfim, continuo usando TypeORM, não penso em mudar.
video muito top mano, já sou desenvolvedor backend a 3 anos utilizando principalmente o typeorm junto com o Nestjs, e por mais que como vc disse no video o Typeorm n esteja tendo tanto suporte quanto o prisma eu sinto que nada me falta no Typeorm sabe, nunca cheguei a ter uma situação onde precisei fazer algo que o typeorm n me desse suporte, acredito que isso conta bastante, talvez o ciclo de updates e nova features do typeorm n seja tão grande justamente pela maturidade que ele alcançou, posso ta falando bobeira mas queria deixar essa visão, n sei se vc tem video sobre isso mas poderia fazer um do sequelize ? recentemente trabalhei em projetos com ele e foi um pouco de choque ver um orm um pouco mais "primitivo", no caso esta utilizando ele por um problema aparente do Typeorm q n conseguimos concertar, aproveitar e deixar aqui uma pergunta, o Typeorm consegue entender um contexto de cluster de conexões de banco de dados e encaminhar a pool de conexões para o banco com menos trafego automaticamente ? tipo certos problemas com isso a ponto de precisar configurar um tempo limite pequeno para fechar a conexão do usuario e forçar o realojamento para uma conexão saldável
Um ponto a mais sobre o Prisma é que ele tem sua propria engine. Isso acaba sendo um problema para a galera do serverless. Enquando os demais ORMs e Query Builders acabam sendo apenas uma layer sobre os drivers. Hoje em dia, como alternativa ao Prisma, prefiro o Drizzle. Em aplicações mais robustas, sem dúvidas, Typeorm.
Ótimo ponto, essa engine própria para mim é um grande problema, além de ser uma caixa preta ela tenta reimplementar os banco invés de deixar a responsabilidade do banco para o banco.
Cara, parabéns pelo vídeo. Fiquei com vontade de fazer o seu curso, mas desanimei com esse negócio de ter que pagar por mês pra ter acesso a uma plataforma. Eu só queria pagar um preço à vista pelo curso mesmo. Não tem como?
Opa Willian, vai sim! Mês que vem vai estar disponível para compra. Me segue aqui ou no insta (waldemar.devlab) que vou anunciar. Estamos trabalhando nos detalhes finais.
O prisma tem me trazido problemas numa aplicacao remix pequena justamente por conta disso que voce falou de nao ter joins. Estou analisando a possibilidade de mudar pro drizzle
Cada ano que passa, falo mais em não utilizar orm, escreve suas queries na mão que vai ser mais de boa. Essas parada de orm só da b/o dps de um tempo, não é a atoa que na comunidade de golang, a galera usa mto mais sem o orm. Eu uso o typeorm no dia a dia, particulamente até tenho uma experiência boa, mas quando tem algo realmente complexo sempre da um trabalho, perco um tempão vendo doc, forum e os caraio. Já em relação o prisma, nunca dei uma chance dps de ver uns posts em relação a problema de performace que ele apresentava, acho que atualmente mta coisa melhorou, mas ainda me deixa com um pé atrás. Estamos em uma época de mta informação, mta opção e smp tem gente querendo reinventar a roda e caindo na moda no mundo dev, quando vão ver, dps de um tempo só aumenta o trampo e fica cheio de efeitos colaterais negativos. Sem contar que adotar um orm também significa manter essa lib no projeto, fazer um update de lib como essas smp é uma doidera, difícil achar um corajoso em um projeto real e envolvendo grana querer fazer isso, sem contar a empresa focar nisso. Apesar de n ter tanto na área já pude notar claramente esses pontos
Concordo, eu ja utilizei bastante knex, que é somente um query builder e fiz o resto eu mesmo, no repositório eu hidratava minhas próprias entidades. É mais código, mas bem mais seguro e controlável. Mas exige maturidade.
curti o vídeo, e acho o type-orm massa, mais estou com uma dúvida. como você trabalha com transaction usando vários repositories? pensei em uma abordagem, mais não sei se é o ideal, seria. oque seria criar a transação e chamar o repositório chamando a transação, no repositórioi eu verifico se a mesma foi recebida, em caso positivo eu e faça a operação com ela, de outra forma, eu faça a opção normalmente. qual seria a forma ideal de ser fazer?
Matheus, faz um tempo que não vejo o Sequelize, quando aparace Typescript ele ficou para trás devido à falta de suporte a tipos e depois acabei não voltando nele. Não sei como está hoje. Eu achava ele ok, uma coisa que não gostava é que a maioria das queries padrões dele eram ruins, tinha que sempre refazer na mão.
Waldemar é a primeira vez q tomo decisões em um projeto de software e optei pelo Kysely (query builder). Não uso ORM . Posso ser surpreendido com dificuldades no futuro ?
Por enquanto, sim, pois o curso ainda não foi lançado então só os membros têm acesso ao código e ao que está sendo desenvolvido. Depois eu vou liberar partes grátis e outras partes vão ficar somente na comunidade.
Mais alguns problemas do Prisma, o que no momento na minha visão atrelado aos ponto que tu ja citou faz ser inadmissivel ser usado em produção. - Sem rollback customizavel. Alias rollback e prisma nao sao palvras que combinam em nada - Necessidade de escrever SQL puro para manipular dados dentro de uma migration - Impossibilidade de se conectar a diferentes instancias de banco de dados nativamemte conforme sua necessidade (exemplo: instancia de escrita e leitura) - Seeds caem nos mesmos problemas dos rollbacks. - Necessidade de manter seu schema em um unico arquivo, quando vc tem um numero consideravel de entidades vira uma zona - A criacao automatica de relacionamentos dentro do schema em alguns casos mais atrapalha do que ajuda
Ótimos pontos! Isso do schema é um problema mesmo, eu inclusive trabalho muito com monolito modular e fica um inferno gerenciar schemas de varios módulos juntos.
Sim no fim decidimos manter o Prisma em algumas partes para ter exemplo de comparação entre eles. Como é uma arquitetura modular, deixamos o Prisma somente em um módulo.
Eu juro que eu tento, mas até hoje tudo o que eu vejo tem objetivo de chegar no que existe há quase 20 anos, no caso aqui pelo que vejo, daqui uns 10 anos eles conseguem chegar no que o Hibernate do Java já faz há 20 anos..... Começaram a usar JS no backend com nodeJS porque queriam "simplificar" o backend trazendo o cara do front para o backend na mesma linguagem, viram a merda que fizeram, aí ao invés de abandonar isso, NÃO!!! inventaram o TYPESCRIPT, que deixa o JS tipado e mais "parecido" com o java, aí começaram a trazer os frameworks tradicionais para o TS também, ou seja, é uma roda gigante indo e voltando p/ o mesmo lugar... Sinceramente, aos novos, se não for front end, estudem java que vcs vão ter o melhor de tudo, porque nesse contexto ninguém inventa nada novo, é só narrativa.....
Não esqueçam de comentar qual ORM vocês utilizam e como é a experiência de vocês com ele 🚀
Pra quem veio do PHP utilizando Eloquent, sempre tem essa impressão que os ORMs para Node.js são muito limitados.
Realmente
Eloquent é um monstro
experimenta o Lucid
@@AlexCastroDev eu utilizo com Adonis.js, mas nem de longe ele possui os mesmos recursos que o Eloquent
@@klebermachado4473 pois é, pra mim rails é o melhor entre eles.
Cara, nunca tinha visto uma análise tão bem feita entre esses dois ORMs. Sensacional!
Bom dia, aqui na minha empresa ja utilizamos typeorm,prisma,sequelize, sem duvida o typeorm te da mais controle e prima mais facilidade, so que ambos sempre dependentes etc, o fizemos novos projetos grandes é utilizar Knex com schema nosso criado ou seja nosso orm, com hooks etc, e pronto não usamos mais orms de mercado so nosso agora.
Rodrigo Santoro verso é real! Cara que conteúdo bom, um amigo meu me enviou e eu fiquei triste por estar usando o prisma em um projeto, não por ele nao dar conta, mas pelas quantidades de queries que você mostrou que ele chuta pro banco de dados. Obrigado pela aula!
Pra quem gosta do typeorm recomendo usar o mikroOrm a implementação é quase idêntica e tem mais suporte
Prisma é legal demais, muito facil e rapido de implementar.... agora pessoal ta gostando muito do Drezzle ORM... q é mais leve e performatico...
Pois é, já fiz alguns testes, mas ainda não utilizei em produção.
achei muito bom o Drezzle, mas segue o mesmo esquema do prisma, muito malabarismo de tipo pra deixar as coisas genéricas
Waldemar é monstro demais! 🚀
E aí, Waldemar. Saudades dos seus vídeos, cara! Aqui onde eu trabalho usamos typeORM por uns 5 anos, muito robusta apesar de alguns bugs chatos. Tentamos o prisma e caímos em vários problemas por exemplo esse dos joins que você citou. Atualmente estamos testando o kysely e até que tá rolando. Vamos ver. Valeu!
E aii! Massa! Depois compartilha mais sobre a experiencia com o kysely. Ele é um query builder né?
Gostei do seu vídeo e concordo com tudo que disse, atualmente tenho usado o Prisma mesmo em grandes projetos pois gosto da experiência de desenvolvimento dele. Torço pra que ele continue melhorando, acompanho de perto o desenvolvimento e vejo que os desenvolvedores e a comunidade é bem engajada...
Eu também, eles tem um time grande e muito recurso, e uma grande ambição, tomara que mantenham esse ritmo, vai sair coisa muito boa dai!
Vi alguns artigos falando sobre o drizzle e os benefícios que ele tem em comparação com o Prisma, desde type safety até custo nos recursos de banco de dados.
Já ouviste falar do drizzle?
Já tive uma pequena experiência com o drizzle orm, em comparação com o Prisma não tem quase nenhuma curva de aprendizagem, principal beneficio que vi foi rodar em local serveless, e poder usar os Prepared statement na execução de querys.
Ja fiz alguns testes mas não usei em produção ainda, mas vou utilizar assim que tiver a oportunidade.
Muito boa essa analise, já utilizei o Prisma em 3 projetos e se comportou super bem e a experiencia foi senssacional, lembrando que esse projetos não exigia muita complexidade nas requisição ao banco, logo se comportou super bem. Pretendo continuar usando em projetos menores com baixa complexidade.
Perfeito! Para projetos menores é tranquilo de usar mesmo!
Parabéns pelo vídeo .. ótimo para a galera que só vai na hype e não faz seus testes e verificações
É isso, vou continuar no typeorm e futuramente começo usar o prisma
Otima analise 👏👏
Nao gostei do prisma desde a primeira vez q vi; aqueles schemas achei mto estranho. Ja usei o typeorm e gostei, mas em um projeto recente decidi nao usa-lo pela falta de atualizacoes, e optei pelo sequelize. Bom saber q voltaram a manter o typeorm
Muito bom! Excelente vídeo, eu utilizo Sequelize gosto dele sempre me ajudou muito a agilizar o desenvolvimento.
Boa! Muito bom conteúdo como sempre. 👏👏👏
Parabéns pela análise me ajudou demais numa decisão técnica !
Eu uso typeorm há alguns anos, e antes com java o hibernate. Um framework que gostei (na teoria) mas nunca usei foi o kysely, principalmente quanto ao seu construtor de consulta sql.
opa achei seu canal muito interessante, poderia analisar o sequelize vs typeORM?
@WaldemarNetoDevLab que tal fazer um experimento nesse projeto com o DrizzleORM, pra ver como ele se sai com performance e em larga escala? Seria uma conteúdo muito bom de ver. Parabéns pelo vídeo 👏
Pois é to pensando em fazer, mas vou tentar colocar ele em um projeto em produção atras de uma feature flag pra ver dados reais.
Esqueceram do Mikro-orm, na empresa que trabalho adotamos em massa, destaco as features Enterprises como unit of work e hooks, alem de ser bem estável e bem mantido com correções de bugs e novas features.
Ó vou por ele na lista para analisar.
Eu sinceramente, gosto do TypeORM, desde 2019 eu uso ele na maior parte dos projetos, na época a briga era sequelize vs TypeORM, e sinceramente, não tem comparação né gente, o Typeorm é mto melhor que o sequelize, fora que na época, ele era incompatível com projetos typescript. Agora, o Prisma, eu não gostei na da experiência de forma geral, achei meio complexo, enfim, continuo usando TypeORM, não penso em mudar.
Baita vídeo, parabéns pela didática
video muito top mano, já sou desenvolvedor backend a 3 anos utilizando principalmente o typeorm junto com o Nestjs, e por mais que como vc disse no video o Typeorm n esteja tendo tanto suporte quanto o prisma eu sinto que nada me falta no Typeorm sabe, nunca cheguei a ter uma situação onde precisei fazer algo que o typeorm n me desse suporte, acredito que isso conta bastante, talvez o ciclo de updates e nova features do typeorm n seja tão grande justamente pela maturidade que ele alcançou, posso ta falando bobeira mas queria deixar essa visão, n sei se vc tem video sobre isso mas poderia fazer um do sequelize ? recentemente trabalhei em projetos com ele e foi um pouco de choque ver um orm um pouco mais "primitivo", no caso esta utilizando ele por um problema aparente do Typeorm q n conseguimos concertar, aproveitar e deixar aqui uma pergunta, o Typeorm consegue entender um contexto de cluster de conexões de banco de dados e encaminhar a pool de conexões para o banco com menos trafego automaticamente ? tipo certos problemas com isso a ponto de precisar configurar um tempo limite pequeno para fechar a conexão do usuario e forçar o realojamento para uma conexão saldável
Um ponto a mais sobre o Prisma é que ele tem sua propria engine. Isso acaba sendo um problema para a galera do serverless. Enquando os demais ORMs e Query Builders acabam sendo apenas uma layer sobre os drivers. Hoje em dia, como alternativa ao Prisma, prefiro o Drizzle. Em aplicações mais robustas, sem dúvidas, Typeorm.
Ótimo ponto, essa engine própria para mim é um grande problema, além de ser uma caixa preta ela tenta reimplementar os banco invés de deixar a responsabilidade do banco para o banco.
Atualmente utilizo o prisma e outro ORM interno da empresa
Eu uso o Prisma
Cara, parabéns pelo vídeo. Fiquei com vontade de fazer o seu curso, mas desanimei com esse negócio de ter que pagar por mês pra ter acesso a uma plataforma. Eu só queria pagar um preço à vista pelo curso mesmo. Não tem como?
Opa Willian, vai sim! Mês que vem vai estar disponível para compra. Me segue aqui ou no insta (waldemar.devlab) que vou anunciar. Estamos trabalhando nos detalhes finais.
Conteúdo de primeira! O que acha do Sequelize? Os joins do sequelize e query raw são bacana.
Faz um tempo que não utilizo mais ele, ele tinha ficado para traz na tipagem e a experiência de desenvolvimento, não se se melhorou.
O prisma tem me trazido problemas numa aplicacao remix pequena justamente por conta disso que voce falou de nao ter joins. Estou analisando a possibilidade de mudar pro drizzle
Cada ano que passa, falo mais em não utilizar orm, escreve suas queries na mão que vai ser mais de boa.
Essas parada de orm só da b/o dps de um tempo, não é a atoa que na comunidade de golang, a galera usa mto mais sem o orm.
Eu uso o typeorm no dia a dia, particulamente até tenho uma experiência boa, mas quando tem algo realmente complexo sempre da um trabalho, perco um tempão vendo doc, forum e os caraio.
Já em relação o prisma, nunca dei uma chance dps de ver uns posts em relação a problema de performace que ele apresentava, acho que atualmente mta coisa melhorou, mas ainda me deixa com um pé atrás.
Estamos em uma época de mta informação, mta opção e smp tem gente querendo reinventar a roda e caindo na moda no mundo dev, quando vão ver, dps de um tempo só aumenta o trampo e fica cheio de efeitos colaterais negativos. Sem contar que adotar um orm também significa manter essa lib no projeto, fazer um update de lib como essas smp é uma doidera, difícil achar um corajoso em um projeto real e envolvendo grana querer fazer isso, sem contar a empresa focar nisso.
Apesar de n ter tanto na área já pude notar claramente esses pontos
Concordo, eu ja utilizei bastante knex, que é somente um query builder e fiz o resto eu mesmo, no repositório eu hidratava minhas próprias entidades. É mais código, mas bem mais seguro e controlável.
Mas exige maturidade.
curti o vídeo, e acho o type-orm massa, mais estou com uma dúvida.
como você trabalha com transaction usando vários repositories?
pensei em uma abordagem, mais não sei se é o ideal, seria. oque seria criar a transação e chamar o repositório chamando a transação, no repositórioi eu verifico se a mesma foi recebida, em caso positivo eu e faça a operação com ela, de outra forma, eu faça a opção normalmente.
qual seria a forma ideal de ser fazer?
Rapaz, eles são top, mas eu gosto muito de fazer projetos com o knex.
Knex é bom! gosto bastante dele também.
Do jeito que está indo é melhor usar o driver do banco direto kkkkk
Pior que é 😅
Drizzle ORM facilita com tipagem mas é bem similar ao SQL, basicamente vc escreve SQL e tem tipagem
Uso o lucid 🙂😁
Drizzle!
Qual sua opinião sobre o Sequelize? Aqui na empresa usamos o Sequelize em todos os projetos.
Matheus, faz um tempo que não vejo o Sequelize, quando aparace Typescript ele ficou para trás devido à falta de suporte a tipos e depois acabei não voltando nele. Não sei como está hoje.
Eu achava ele ok, uma coisa que não gostava é que a maioria das queries padrões dele eram ruins, tinha que sempre refazer na mão.
Waldemar é a primeira vez q tomo decisões em um projeto de software e optei pelo Kysely (query builder). Não uso ORM . Posso ser surpreendido com dificuldades no futuro ?
Cara um query builder como kysely ou knex sempre vai ser mais seguro que um orm mas vai escrever mais código.
Waldemar, pra ter acesso ao curso completo só sendo membro do Tech Leads Club ?
Por enquanto, sim, pois o curso ainda não foi lançado então só os membros têm acesso ao código e ao que está sendo desenvolvido.
Depois eu vou liberar partes grátis e outras partes vão ficar somente na comunidade.
TypeORM
Mais alguns problemas do Prisma, o que no momento na minha visão atrelado aos ponto que tu ja citou faz ser inadmissivel ser usado em produção.
- Sem rollback customizavel. Alias rollback e prisma nao sao palvras que combinam em nada
- Necessidade de escrever SQL puro para manipular dados dentro de uma migration
- Impossibilidade de se conectar a diferentes instancias de banco de dados nativamemte conforme sua necessidade (exemplo: instancia de escrita e leitura)
- Seeds caem nos mesmos problemas dos rollbacks.
- Necessidade de manter seu schema em um unico arquivo, quando vc tem um numero consideravel de entidades vira uma zona
- A criacao automatica de relacionamentos dentro do schema em alguns casos mais atrapalha do que ajuda
Ótimos pontos! Isso do schema é um problema mesmo, eu inclusive trabalho muito com monolito modular e fica um inferno gerenciar schemas de varios módulos juntos.
Nada substitui um SQL bem feito
Certamente!
E o drizzle?
Melhor que os 2, depois que conheci todos meus projetos pessoais to usando
@@DoggCatcher pq melhor q os dois?
Alpha: TypeORM
Beta: Prisma
Stable: Dizzle
sql na unha
Onde aprendo essa estrutura f*da igual desse projeto?
Vem pra comunidade 😉 link tá na descrição do vídeo 👊🏼
mas o curso esta com prisma 🤔🤔
Sim no fim decidimos manter o Prisma em algumas partes para ter exemplo de comparação entre eles. Como é uma arquitetura modular, deixamos o Prisma somente em um módulo.
Eu juro que eu tento, mas até hoje tudo o que eu vejo tem objetivo de chegar no que existe há quase 20 anos, no caso aqui pelo que vejo, daqui uns 10 anos eles conseguem chegar no que o Hibernate do Java já faz há 20 anos..... Começaram a usar JS no backend com nodeJS porque queriam "simplificar" o backend trazendo o cara do front para o backend na mesma linguagem, viram a merda que fizeram, aí ao invés de abandonar isso, NÃO!!! inventaram o TYPESCRIPT, que deixa o JS tipado e mais "parecido" com o java, aí começaram a trazer os frameworks tradicionais para o TS também, ou seja, é uma roda gigante indo e voltando p/ o mesmo lugar... Sinceramente, aos novos, se não for front end, estudem java que vcs vão ter o melhor de tudo, porque nesse contexto ninguém inventa nada novo, é só narrativa.....
Nenhum deles, Drizzle, tenho usado e tem se provado melhor que Prisma e TypeORM.
knexjs >
Sequelize
Prisma é para mulheres... Feliz dia 8 de março a todas as mulheres.
Boa!