Валентин Хомутенко / «что не так с ORM в Go»

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024

ความคิดเห็น • 26

  • @avonaryagami
    @avonaryagami ปีที่แล้ว +8

    Пишу на го именно потому что здесь не принято тянуть странные проблемы на продакшн.
    Насколько же проще подддерживать код, когда в нем нет орм.
    Тоже раньше писал на питоне, много. Го как глоток свежего воздуха после питона.

    • @mexvision-3556
      @mexvision-3556 หลายเดือนก่อน

      Ясно=) Окей)

  • @ВадимИванов-б2ю
    @ВадимИванов-б2ю ปีที่แล้ว +5

    В сложных запросах мне проще написать без ORM

  • @alexeyzverev852
    @alexeyzverev852 3 ปีที่แล้ว +7

    А можно в описание к видео добавить ссылки на затронутые ORM из доклада, а то перематывать и искать нужный момент не удобно.
    И спасибо за данное видео.

  • @stassmith8593
    @stassmith8593 6 หลายเดือนก่อน +2

    Как хорошо, что у го есть своя идеология и люди, которые ее поддерживают и бьют по рукам новаторам. Вы хотите как в других языках, где ты нативный язык вообще можешь не знать, а должен знать десяток фреймворков и даже не понимаешь, что происходит, вокруг сплошная магия! Вам дали язык, он со всем справляется, практически, из коробки,если хочется добавить, то вот вам библиотеки) ну не нужно тянуть в него лишнее, орм и тд, и заставлять разработчика бороться и копаться в инструменте, а не в решении проблемы

  • @st.kevich
    @st.kevich ปีที่แล้ว +11

    Худшее что может сделать ORM - дать унифицированный доступ к любой БД. Звучит круто, а на деле просто отрезание всех уникальных фич ради которых и существуют разные БД.

    • @ВладимирЛеденёв-э6г
      @ВладимирЛеденёв-э6г 4 หลายเดือนก่อน +1

      Я только ради этого и использую ОРМ. Нафиг не нужны эти фичи, если они влияют на синтаксис SQL и с одной на другую базу нужно переписывать код.

    • @maxpain177
      @maxpain177 3 หลายเดือนก่อน

      @@ВладимирЛеденёв-э6г А у вас такое развлечение каждую неделю переходить на новую БД? Над большими проектами работали? Партиционирование таблиц использовали, к примеру?

    • @mexvision-3556
      @mexvision-3556 หลายเดือนก่อน

      Я занимаюсь разработкой CMS для игр. Таких как Lineage 2, Perfect World, World of Warcraft. Ее используют как правило администраторы фришард серверов. Так вот в чем дело. У одной игры, может быть несколько эмуляторов. Например Lineage 2, может иметь Java эмулятор который использует MySQL, а также может иметь PTS сервер, где в качестве базы данных используется MSQLServer. Мне как разработчику и нафиг не упали эти уникальные фишки. У меня один проект, который должен работать с SQLite, MySQL, MSQLServer и т.п. И свапать драйверы он должен на лету. Так как у одного проекта, могут быть одновременно запущены несколько разных эмуляторов, от разных команд, с разными версиями игры и т.п. И чем меньше подобных различий будет, тем проще будет мне. Объективно ли мое мнение - нет. Как и все другие)

  • @borismor1
    @borismor1 ปีที่แล้ว +3

    Sqlc не упоминается

    • @vladislavdudnikov26
      @vladislavdudnikov26 ปีที่แล้ว

      Видео старое, stable-версия sqlc вышла в 2020 только

  • @ckbeg
    @ckbeg 7 หลายเดือนก่อน +2

    Классный доклад

  • @yuriiholenko6764
    @yuriiholenko6764 ปีที่แล้ว +2

    КГ\АМ

  • @RusRes
    @RusRes 2 ปีที่แล้ว +1

    В микросервисах базу не шарят между разными компонентами, которые делают разные команды. Поэтому зависимости проще отследить и меньше риски, чем в монолитной архитектуре, где поменяешь тип у колонки - и где-то неизвестно где отвалится

  • @mocksoul
    @mocksoul 2 ปีที่แล้ว +1

    если хотите ORM лучше не используйте SQL и всё.

  • @tuteyshey
    @tuteyshey 3 ปีที่แล้ว +1

    Клево, спасибо за доклад)

  • @alex-0x6b
    @alex-0x6b ปีที่แล้ว +3

    ORM нужно уметь пользоваться. Не заставляйте ORM делать джойны выгребая все сразу, а старайтесь делать одиночные запросы. Джойны и в чистом SQL будут тормозить. Если хорошо оптимизировать орм, то она может работать быстрее всяких связок db/sqlx.

    • @greenbear8179
      @greenbear8179 10 หลายเดือนก่อน +9

      джоины в чистом скл тормозят только в слаборазвитых умах ормщиков.

  • @beka777go
    @beka777go 3 ปีที่แล้ว

    Спасибо за доклад. было бы интересно узнать так же об prisma которая хорошо зарекомендовала себя в js, и добавляет поддержку golang

    • @yarbersheer8559
      @yarbersheer8559 2 ปีที่แล้ว +1

      Prisma Client Go is no longer officially maintained.

    • @ebriussenex9850
      @ebriussenex9850 ปีที่แล้ว

      Там ещё бекенд самой ормки на расте, что довольно интересно

  • @orl5990
    @orl5990 4 หลายเดือนก่อน +1

    В больших и сложных проектах где очень сложные сущности и взаимоотношения между данными базы без ORM не обойтись. ORM снижает производительность впринципе. Но, это меньшее зло по сравнению с тем, что могут натворить шаловливые ручки программистов имеющих произвольный доступ к таблицам базы данных. Типичный пример - богомерзкий 1С, поумолчанию использует ORМ, управлять базой из 1500(ERP среднего предприятия) таблиц имеющих сложные взаимосвязи практически нереально.

  • @AndriiKuftachov
    @AndriiKuftachov ปีที่แล้ว +1

    Да, ORM - это круто!
    В проекте Doctrine делала два запроса в одном 12 JOIN, второй 8 JOIN.
    Руками переписал на запрос с одним JOIN и второй запрос к одной таблице.
    Главное, что для всех это было сюрпризом.
    P.S. Меня брали как Go Developer, но потом заставили опуститься до PHP.

    • @mexvision-3556
      @mexvision-3556 หลายเดือนก่อน

      Бедная, аж до PHP опустили... А че согласилась тогда? Если это такое дно...