Prisma vs TypeORM: Qual é o melhor ORM para o Node.js?

  Рет қаралды 7,062

Waldemar Neto - Dev Lab

3 ай бұрын

Prisma ou TypeORM qual ORM utilizar no Node.js? Esse vídeo contem as respostas para uma das perguntas que todos os desenvolvedores Node.js fazem.
Vamos ver lado a lado os dois ORMs, os seus prós e contras, comparando developer experience, perfomance, migrations e muito mais.
💎 Quer acompanhar o meu mais novo curso, Aplicações Enterprise com Node.js e ter acesso a todo o código e desenvolvimento? Vem para a Tech Leads club comece.techleads.club/ e junte-se a comunidade!
Capítulos:
00:00 Inicio
01:30 TypeORM
07:00 Prisma
20:23 A hora da verdade
🔗 Links mostrados no vídeo
- kzfaq.info/get/bejne/iKefi8eqrsW0eGg.htmlsi=r_gRbLG9skEymszC
- github.com/typeorm/typeorm/issues/2784
- github.com/prisma/prisma/issues/13549
- github.com/prisma/prisma/discussions/22288
- www.prisma.io/docs/orm/prisma-client/queries/raw-database-access/custom-and-type-safe-queries
- github.com/prisma/prisma/discussions/15868
- github.com/prisma/prisma/discussions/3929
🚀 Me siga nas redes
- Instagram: waldemar.devlab
- Linkedin: www.linkedin.com/in/waldemarnt/

Пікірлер: 83
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Não esqueçam de comentar qual ORM vocês utilizam e como é a experiência de vocês com ele 🚀
@karlmalone3603
@karlmalone3603 3 ай бұрын
Cara, nunca tinha visto uma análise tão bem feita entre esses dois ORMs. Sensacional!
@junqueiratec
@junqueiratec 3 ай бұрын
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.
@victor.josviak
@victor.josviak 14 күн бұрын
Pra quem gosta do typeorm recomendo usar o mikroOrm a implementação é quase idêntica e tem mais suporte
@ercioalendre
@ercioalendre 3 ай бұрын
Boa! Muito bom conteúdo como sempre. 👏👏👏
@rafabiton1
@rafabiton1 3 ай бұрын
Baita vídeo, parabéns pela didática
@wilsonllucena
@wilsonllucena 3 ай бұрын
Parabéns pela análise me ajudou demais numa decisão técnica !
@diorgeneseugenio7599
@diorgeneseugenio7599 3 ай бұрын
Waldemar é monstro demais! 🚀
@ViniciusMinettoDev
@ViniciusMinettoDev 3 ай бұрын
Muito bom! Excelente vídeo, eu utilizo Sequelize gosto dele sempre me ajudou muito a agilizar o desenvolvimento.
@user-nz1jf8zf7f
@user-nz1jf8zf7f 3 ай бұрын
É isso, vou continuar no typeorm e futuramente começo usar o prisma
@vhbschlichting
@vhbschlichting 3 ай бұрын
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!
@ofabiobaptista
@ofabiobaptista 2 ай бұрын
Parabéns pelo vídeo .. ótimo para a galera que só vai na hype e não faz seus testes e verificações
@alessandrogold
@alessandrogold 3 ай бұрын
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.
@JorgeWilliamRodrigues
@JorgeWilliamRodrigues 3 ай бұрын
opa achei seu canal muito interessante, poderia analisar o sequelize vs typeORM?
@paolorr
@paolorr 3 ай бұрын
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
@omarcospreviato
@omarcospreviato 3 ай бұрын
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...
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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!
@victorfeldhaus6015
@victorfeldhaus6015 3 ай бұрын
Atualmente utilizo o prisma e outro ORM interno da empresa
@felipe7454
@felipe7454 3 ай бұрын
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!
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
E aii! Massa! Depois compartilha mais sobre a experiencia com o kysely. Ele é um query builder né?
@dhyonemolina5487
@dhyonemolina5487 3 ай бұрын
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.
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Perfeito! Para projetos menores é tranquilo de usar mesmo!
@klebermachado4473
@klebermachado4473 3 ай бұрын
Pra quem veio do PHP utilizando Eloquent, sempre tem essa impressão que os ORMs para Node.js são muito limitados.
@felipegamax
@felipegamax 3 ай бұрын
Realmente
@Lenglish-tp7ci
@Lenglish-tp7ci 2 ай бұрын
Eloquent é um monstro
@AlexCastroDev
@AlexCastroDev 2 ай бұрын
experimenta o Lucid
@klebermachado4473
@klebermachado4473 2 ай бұрын
@@AlexCastroDev eu utilizo com Adonis.js, mas nem de longe ele possui os mesmos recursos que o Eloquent
@AlexCastroDev
@AlexCastroDev 2 ай бұрын
@@klebermachado4473 pois é, pra mim rails é o melhor entre eles.
@rodrigopacheco44
@rodrigopacheco44 3 ай бұрын
@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 👏
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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.
@matheusdalmolindasilva8673
@matheusdalmolindasilva8673 3 ай бұрын
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?
@GabrielMarques-xl4uz
@GabrielMarques-xl4uz 3 ай бұрын
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.
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Ja fiz alguns testes mas não usei em produção ainda, mas vou utilizar assim que tiver a oportunidade.
@ramontiago159
@ramontiago159 3 ай бұрын
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?
@mateusleal1254
@mateusleal1254 3 ай бұрын
Prisma é legal demais, muito facil e rapido de implementar.... agora pessoal ta gostando muito do Drezzle ORM... q é mais leve e performatico...
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Pois é, já fiz alguns testes, mas ainda não utilizei em produção.
@LuisGustavo-um4hs
@LuisGustavo-um4hs 3 ай бұрын
achei muito bom o Drezzle, mas segue o mesmo esquema do prisma, muito malabarismo de tipo pra deixar as coisas genéricas
@samusaw
@samusaw 3 ай бұрын
Conteúdo de primeira! O que acha do Sequelize? Os joins do sequelize e query raw são bacana.
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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.
@MarcusTorres-zv5cv
@MarcusTorres-zv5cv Ай бұрын
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
@EwertonDutra
@EwertonDutra 3 ай бұрын
Uso o lucid 🙂😁
@jsdev5362
@jsdev5362 3 ай бұрын
Boa!
@silveiratalita
@silveiratalita 12 күн бұрын
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.
@diegosantossaradinho
@diegosantossaradinho 3 ай бұрын
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.
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Ó vou por ele na lista para analisar.
@marquesbot
@marquesbot 3 ай бұрын
Drizzle ORM facilita com tipagem mas é bem similar ao SQL, basicamente vc escreve SQL e tem tipagem
@melkdesousa9302
@melkdesousa9302 3 ай бұрын
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.
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Ó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.
@matheusteixeira4161
@matheusteixeira4161 3 ай бұрын
Qual sua opinião sobre o Sequelize? Aqui na empresa usamos o Sequelize em todos os projetos.
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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.
@bim-techs
@bim-techs 3 ай бұрын
Waldemar, pra ter acesso ao curso completo só sendo membro do Tech Leads Club ?
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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.
@Leozinhopirado167
@Leozinhopirado167 3 ай бұрын
TypeORM
@gustavolol3
@gustavolol3 3 ай бұрын
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 ?
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Cara um query builder como kysely ou knex sempre vai ser mais seguro que um orm mas vai escrever mais código.
@afsdab
@afsdab 3 ай бұрын
Do jeito que está indo é melhor usar o driver do banco direto kkkkk
@EwertonDutra
@EwertonDutra 3 ай бұрын
Pior que é 😅
@WillianMattos
@WillianMattos Ай бұрын
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?
@WaldemarNetoDevLab
@WaldemarNetoDevLab Ай бұрын
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.
@joaoviitor9021
@joaoviitor9021 Ай бұрын
Rapaz, eles são top, mas eu gosto muito de fazer projetos com o knex.
@WaldemarNetoDevLab
@WaldemarNetoDevLab Ай бұрын
Knex é bom! gosto bastante dele também.
@balllaz
@balllaz 27 күн бұрын
Drizzle!
@gabrielmedeiros9806
@gabrielmedeiros9806 3 ай бұрын
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
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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.
@caiohenrique1624
@caiohenrique1624 3 ай бұрын
Onde aprendo essa estrutura f*da igual desse projeto?
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Vem pra comunidade 😉 link tá na descrição do vídeo 👊🏼
@lucascoliveira3957
@lucascoliveira3957 Ай бұрын
E o drizzle?
@DoggCatcher
@DoggCatcher Ай бұрын
Melhor que os 2, depois que conheci todos meus projetos pessoais to usando
@lucascoliveira3957
@lucascoliveira3957 Ай бұрын
@@DoggCatcher pq melhor q os dois?
@vagnerlandio
@vagnerlandio 3 ай бұрын
Alpha: TypeORM Beta: Prisma Stable: Dizzle
@mariodoncel1916
@mariodoncel1916 3 ай бұрын
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
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Ó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.
@evertonverton6428
@evertonverton6428 3 ай бұрын
Nada substitui um SQL bem feito
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
Certamente!
@evertonverton6428
@evertonverton6428 3 ай бұрын
mas o curso esta com prisma 🤔🤔
@WaldemarNetoDevLab
@WaldemarNetoDevLab 3 ай бұрын
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.
@hermersonaraujo9378
@hermersonaraujo9378 3 ай бұрын
knexjs >
@lgustavosmc
@lgustavosmc 3 ай бұрын
Sequelize
@LeonardoBeliloMessias
@LeonardoBeliloMessias 3 ай бұрын
sql na unha
@GabrielLopesbiutas
@GabrielLopesbiutas 3 ай бұрын
Nenhum deles, Drizzle, tenho usado e tem se provado melhor que Prisma e TypeORM.
@cardeal1389
@cardeal1389 3 ай бұрын
Prisma é para mulheres... Feliz dia 8 de março a todas as mulheres.