metaclass: (Default)
[personal profile] metaclass
http://d4s.livejournal.com/210142.html
Вопрос про обучение SQL. Не про продажу человеко-часов конкретному кастомеру с конкретной СУБД.
В комментариях ад содома и гоморры, с приведением каких-то дичайших конструкций из частных реализаций.

Людей нужно хотя бы обучить тому, что такое реляционная модель, что такое индексы и как вообще связаны эти буковки с результатом. А уж конкретные извращения можно изучить в процессе работы с конкретной БД, очевидно, что засирать этим голову ДО понимания базовых вещей совершенно не нужно.

Date: 2012-06-29 04:42 pm (UTC)
From: [identity profile] w00dy.livejournal.com
да фиг его знает. орм требует другого подхода к снаряду, и просто так взять и переписать sql это не правильный вариант. Основное удобство orm в том что он даёт строгую типизацию при работе с базой. Меняется схема, правятся классы и дальше уже компилятор покажет где чего поламалось в коде.

Date: 2012-06-29 08:19 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
А, то есть Вы тожэ подтверждаете, что работать в рамках реляцыонной модэли через ORM невозможно. Ну да, ну да.

Внимание, вопрос: а нафига нужна реляцыонная база данных, если не работать с реляцыонной модэлью данных?

Date: 2012-06-29 08:31 pm (UTC)
From: [identity profile] dr-hyder.livejournal.com
Ну вообще говоря реляционные базы данных очень часто используют просто как storage, все эти реляции им нафиг не упали, только мешают. Посмотрите на всё(ну хорошо, не на всё, но значительную часть) nosql движение, например. Люди наконец осознали что в принципе для их потребностей городить огороды не обязательно, достаточно документа со плавающей схемой на энтити, как в каком нибудь MongoDB и всё, реляционность, транзакции и прочие триггеры там не нужны. И ничо, работает, нормально.

Пытаться же из ORM выжать функциональность SQL, только в "удобном, обьектном" виде - это лучше себе сразу ногу прострелить, не мучица.

Date: 2012-06-29 08:36 pm (UTC)
From: [identity profile] w00dy.livejournal.com
> Люди наконец осознали что в принципе для их потребностей городить огороды не обязательно

А до этого юзали мускль и не жужжали. Видать последник толи изговнился, толи стал толстым.

Date: 2012-06-29 08:41 pm (UTC)
From: [identity profile] dr-hyder.livejournal.com
Мускль скейлить упаришься, а nosql решения легко, that's the point. То есть win-win такой, отказались от реляционности, асид послали в жопу и оказалось что скейлится всё куда проще(не то чтобы неожиданно оказалось, это я так шучу). Конечно и подход к сложным запросам пришлось поменять, никаких тебе волшебных group by, надо ручками map-reduce делать. Я вообще обожаю эту тему страшно, что SQL люблю, что nosql :)

Date: 2012-06-29 08:55 pm (UTC)
From: [identity profile] tzirechnoy.livejournal.com
>Посмотрите на всё(ну хорошо, не на всё, но
>значительную часть) nosql движение,

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

Date: 2012-06-29 09:04 pm (UTC)
From: [identity profile] dr-hyder.livejournal.com
Экий вы резкий!

Date: 2012-07-01 09:42 am (UTC)
From: [identity profile] si14.livejournal.com
Ну, на самом деле, есть смысл в кауче/риаке. Причём первый можно, при желании, навелосипедить на втором. CRDT же. К Mongo сотоварищи это, конечно, не относится.

Date: 2012-07-02 07:50 am (UTC)
From: [identity profile] tzirechnoy.livejournal.com
Я совершэнно не спорю, что во многих технологиях, которые называют "nosql", есть смысл. Я говорю, что нет смысла в слове "nosql".

Date: 2012-07-02 09:55 am (UTC)
From: [identity profile] si14.livejournal.com
Угу, соглашусь.

Date: 2012-07-01 09:40 am (UTC)
From: [identity profile] si14.livejournal.com
Нихера не работает. Не знаю ни одной приличной конторы, включая нашу, где использовался бы MongoDB и на него не ругались бы матом. Это пиздец чистейшей воды, прокатывает разве что для прототипа или для чего-нибудь, где мало кода и у базы один клиент. Как только в эту базу начинает ходить больше одного куска кода — можно закапывать, отсутствие схемы — постоянная проблема. «Ой, мы опечатались и записали вместо creation_time cretaion_time, тесты прошли, но почему-то на половине записей всё отваливается».

Date: 2012-07-01 11:47 am (UTC)
From: [identity profile] dr-hyder.livejournal.com
Ну вообще говоря отсутствие схемы это фича, во многих местах очень полезная, практически незаменимая. Если вы хотите наоборот контроля за схемой(что ясное дело тоже обычный юзкейс) тогда она вам не очень подходит. Но есть ещё возможность не давать прямой доступ к схеме, а давать доступ только через сервис. Для RDBMS это менее полезно потому как там люди часто хотят делать всякие ad-hoc запросы, аггрегировать и вообще RDBMS людей несколько развратили подобными возможностями, до того что сложно представить как можно жить без них. Для монго это нормальная практика, дающая множество преимуществ(хотя конечно далеко не везде применимая). Но монго это не замена RDBMS, она для других целей. Если вам не подходит - неча на монго пенять.

Date: 2012-06-29 08:34 pm (UTC)
From: [identity profile] w00dy.livejournal.com
Всё можно, если осторожно. Конкретно по запросу - нет контекста в котором он используется. А без контекста делать что-то безсмысленно.

А база нужна потому что на неё объектная модель красиво ложится. Между объектами ведь тоже есть отношения всякого рода и их нужно хранить и уметь выбирать.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 17th, 2025 09:04 pm
Powered by Dreamwidth Studios