metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2012-06-29 06:21 pm

Обучение частным случаям частных реализаций

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

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

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

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