Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 13   вперед  Ctrl
 Re: Причины ненависти к языку SQL?  [new]
Eugene New
Member

Откуда:
Сообщений: 456
Котовасия,
речь об ККЭ, тут не до примадонн, тут массовое производство, где незаменимым не место.


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

массовое производство

Скорее уж массовое проектирование, т. к. программа это проект, а производство это запуск компилятора и копирование готовых файлов.
30 сен 18, 18:43    [21690482]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Котовасия
Member

Откуда:
Сообщений: 1185
Eugene New,

не понимаю, в чем смысл спора.
Ты задал вопрос: "почему Фаулер <блаблабла>".
Я ответил: "возможно, потому, что он считает <блаблабла>" и привел цитату из его книжки.
А ты начинаешь возражать.
Ты меня с Фаулером отождествляешь, что ли?
30 сен 18, 18:54    [21690486]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Котовасия
Member

Откуда:
Сообщений: 1185
Eugene New,

ой, извини.
Ты про одного, я - про другого...
Но я с тобой в общем согласен, все равно.
30 сен 18, 18:56    [21690488]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Eugene New
Member

Откуда:
Сообщений: 456
Котовасия,
не понимаю, в чем смысл спора.

Всего лишь на "это оправдано" возражаю. Но вы правы, дальнейший спор бессмыслен.

Фаулер

У них куча этих Мартинов и Фаулеров, причем Мартин то имя, то фамилия..
30 сен 18, 19:02    [21690492]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Очень лысый
Member

Откуда: БОМЖ
Сообщений: 600
Мне кажется, что вопрос ненависти к SQL как языку вещь надуманная. Мало того, некоторые "NoSQL" решения к нему возвращаются. Опять таки, "NoSQL" это не очень удачный термин. Здесь речь идёт скорее о том, что для хранения и обработки данных используются нереляционные движки. Причины, почему их придумывают и пользуют - самые разные. Либо это специализированное хранилище чего либо, типа key-value, либо отказываются от каких-то принципов RDBMS, например, целостности и т.п. там, где они не особо важны, для более высокой производительности и масштабируемости.
Вообще должен заметить, что RDBMS и SQL живее всех живых и как использовались для определённого класса задач, так и продолжают использоваться. Другое дело, что появилась куча областей, где "NoSQL" решения стали альтернативой для RDBMS.
30 сен 18, 19:15    [21690502]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Котовасия
Member

Откуда:
Сообщений: 1185
Eugene New
...
Фаулер

У них куча этих Мартинов и Фаулеров, причем Мартин то имя, то фамилия..

Есть люди, осилившие Д.Кнута. А есть - читавшие Фаулеров. Как-то получается, что эти читатели - чаде всего разные люди.
Это в дополнение к
автор
Можно подумать понимание элементарных понятий теории множеств это нечто экстраординарное.

Не трать время на фаулеров и прочий околоайтишный менеджмент.
Разве в случае интереса к теме "как быстро заставить работать толпу обезьян".
30 сен 18, 19:18    [21690504]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Eugene New
Member

Откуда:
Сообщений: 456
отказываются от каких-то принципов RDBMS, например, целостности


Уж не связаны ли массовые жалобы на списания с давно закрытых карт Сбербанка с отказом от целостности данных?
Ну вроде того, что человек три года назад закрыл карту, 10 раз сходит в Сбербанк и ему подтвердили, что карта закрыта, а потом у него образовался долг за обслуживание "закрытой карты".
30 сен 18, 19:50    [21690519]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53057
Котовасия
Eugene New
...
пропущено...

У них куча этих Мартинов и Фаулеров, причем Мартин то имя, то фамилия..

Есть люди, осилившие Д.Кнута. А есть - читавшие Фаулеров. Как-то получается, что эти читатели - чаде всего разные люди.
Это в дополнение к
автор
Можно подумать понимание элементарных понятий теории множеств это нечто экстраординарное.

Не трать время на фаулеров и прочий околоайтишный менеджмент.
Разве в случае интереса к теме "как быстро заставить работать толпу обезьян".

Думаешь на одном Дональде Кнуте выехать? Инженерия софтверных знаний - более широка...
1 окт 18, 00:47    [21690654]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53057
Очень лысый
Мне кажется, что вопрос ненависти к SQL как языку вещь надуманная. Мало того, некоторые "NoSQL" решения к нему возвращаются. Опять таки, "NoSQL" это не очень удачный термин. Здесь речь идёт скорее о том, что для хранения и обработки данных используются нереляционные движки. Причины, почему их придумывают и пользуют - самые разные. Либо это специализированное хранилище чего либо, типа key-value, либо отказываются от каких-то принципов RDBMS, например, целостности и т.п. там, где они не особо важны, для более высокой производительности и масштабируемости.
Вообще должен заметить, что RDBMS и SQL живее всех живых и как использовались для определённого класса задач, так и продолжают использоваться. Другое дело, что появилась куча областей, где "NoSQL" решения стали альтернативой для RDBMS.

Я думаю что идёт от современного прототипирования. Если вы - Java разработчик и на стартапе - то вам
в качестве DBMS конечно можете поднимать и конфигурить Постргре или Мискль. Но когда
вы решаете о том что вам взять в качестве storage layer (я-то знаю я там был) для простого микросервиса то оказывается
что вам ничего не стоит добавить в maven depencencies LevelDb, или RockDb. Эти штуки - бесплатны.
Хранят данные на диске как key-value. Работают очень быстро. Некоторые из них уже соптимизированы
под SSD.

А дальше - пошло-поехало. Прототип работает. Хранилище работает. Зачем его мигрировать в БД. Какие justifications?
SQL-запросы? О чем вы? Нет их там. Такой он Микросервис.

Вот так. Прототипы часто выползают из недр вашего ноутбука. С ноутбучными storage-layers.
1 окт 18, 01:00    [21690656]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Eugene New
Member

Откуда:
Сообщений: 456
mayton,
Думаешь на одном Дональде Кнуте выехать

"Кнут" сидит внутри LevelDb :-) LSM-деревья.

Очень уж громкие названия у этих библиотек для решаемой задачи.
И что потом с этими данными от микросервисов происходит? Они как-нибудь обрабатываются? Или это просто временные таблицы?
1 окт 18, 02:47    [21690669]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11485
Eugene New
"Кнут" сидит внутри LevelDb :-) LSM-деревья
... а Ом, Вольта и Ампер - внутри каждого электрика.
А ещё у каждого айтишника есть Бор, Гейзенберг, Ферми и Бозе - куда же нам без квантовой механики.
1 окт 18, 05:31    [21690682]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Eugene New
Member

Откуда:
Сообщений: 456
Basil A. Sidorov,
айтишника


Неприличными словами не выражаться! (с)
1 окт 18, 06:15    [21690686]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53057
Eugene New
mayton,
Думаешь на одном Дональде Кнуте выехать

"Кнут" сидит внутри LevelDb :-) LSM-деревья.

Очень уж громкие названия у этих библиотек для решаемой задачи.
И что потом с этими данными от микросервисов происходит? Они как-нибудь обрабатываются? Или это просто временные таблицы?

А как обрабатываются данные в RDBMS ?
1 окт 18, 07:56    [21690718]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Котовасия
Member

Откуда:
Сообщений: 1185
mayton
Котовасия
пропущено...

Есть люди, осилившие Д.Кнута. А есть - читавшие Фаулеров. Как-то получается, что эти читатели - чаде всего разные люди.
Это в дополнение к
пропущено...

Не трать время на фаулеров и прочий околоайтишный менеджмент.
Разве в случае интереса к теме "как быстро заставить работать толпу обезьян".

Думаешь на одном Дональде Кнуте выехать? Инженерия софтверных знаний - более широка...

Я как раз об обратном: начитаются одних лишь Фаулеров, и воображают себя архитекторами.
1 окт 18, 09:07    [21690740]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 605
Eugene New
sql и поверх плоских файликов вполне работает.

Это всего лишь значит, что вы используете набор плоских файлоков как реляционную БД.

пакость

А лично вы почему ненавидите SQL? У вас трудности с пониманием математических абстракций?

я не ненавижу ламеров, без опыта но с гонором. а SQL я люблю использовать там где он хорошо подходит и не одну сотню ламеров размазал тут на тему SQL за последние 15 лет.

spark хорошо продвинулся в плане скрещивани

spark всего лишь очередная библиотека, которая, кстати, использует SQL

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

        Dataset<Row> outputTable = table1Ds
                .filter(table1Ds.col(Table1.Table1_ID).equalTo(Table1Id))
                .join(table2Ds,
                        Table2sDs.col(Table2.Table1_ID).equalTo(table1Ds.col(Table1.Table1_ID))
                        , "left_outer"
                )
                .select(
                        table1Ds.col(Table1.ID),
                        Table2sDs.col(Table2.START_DATE),
                        functions.lit("").as("end_date"),
                        functions.when(Table2sDs.col(Table2.FIELD1).equalTo("MISSING"), null).otherwise(Table2sDs.col(Table2.FIELD1)),
                        ).as(Encoders.bean(MyMegaClass.class)));


если SQL не вернеться из комы эта хрень вытеснит SQL повсеместно
1 окт 18, 09:19    [21690747]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 605
Eugene New
пакость

А лично вы почему ненавидите SQL? У вас трудности с пониманием математических абстракций?


я не ненавижу ламеров, без опыта но с гонором. а SQL я люблю использовать там где он хорошо подходит и не одну сотню ламеров размазал тут на тему SQL за последние 15 лет.

Eugene New
spark хорошо продвинулся в плане скрещивани

spark всего лишь очередная библиотека, которая, кстати, использует SQL

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

        Dataset<Row> outputTable = table1Ds
                .filter(table1Ds.col(Table1.Table1_ID).equalTo(Table1Id))
                .join(table2Ds,
                        Table2sDs.col(Table2.Table1_ID).equalTo(table1Ds.col(Table1.Table1_ID))
                        , "left_outer"
                )
                .select(
                        table1Ds.col(Table1.ID),
                        Table2sDs.col(Table2.START_DATE),
                        functions.lit("").as("end_date"),
                        functions.when(Table2sDs.col(Table2.FIELD1).equalTo("MISSING"), null).otherwise(Table2sDs.col(Table2.FIELD1)),
                        ).as(Encoders.bean(MyMegaClass.class)));


если SQL не вернеться из комы эта хрень вытеснит SQL повсеместно
1 окт 18, 09:20    [21690748]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
tunknown
Member

Откуда:
Сообщений: 819
Eugene New
иррациональной ненависти к SQL.

Есть ли какие то рациональные причины?
Возможно, причины психологические.
Императивное проще понять, чем декларативное. Если человека со школы учить императивному, то для принятия декларативного ему нужно подняться над собой. Это всегда тяжело.
Возможна связь с иллюзией контроля.

В любом случае- всё вырождается в жонглирование костылями, которое удобнее реализовать императивно, а при декларативном подходе оно слишком бросается в глаза.
1 окт 18, 09:42    [21690766]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
mayton
Member

Откуда: loopback
Сообщений: 53057
H5N1
если SQL не вернеться из комы эта хрень вытеснит SQL повсеместно


Субъективно.. пока его знания спрашивают на собеседованиях - он будет нужен.
Если вдруг (внезапно) тех лид говорит что ... "тэээкс... тут дальше идут вопросики
по SQL но мы их поскипаем ибо нету на проекте" то такова селяви и надо либо
менять проект либо согласится с тем что SQL действительно не будет.

От себя

Добавлю некоторые поинты в плюс SQL

1) SQL достаточно лаконичен в описании отчотов. CriteriaAPI, SparkAPI это все таки решения
библиотечные построенные поверх языков носителей Java/Scala и обладающие определенным
техническим балластом. Вы не можете написать запрос пока не выучите язык-носитель.

2) Опирается на математический аппарат алгебры множеств. Это дает неоспоримое диалектическое
преимущество в спорах с NoSQL концепциями у которых этого аппарата нет либо он - какой-то
рудимент сбоку и прочие нюансы (не поддерживает NULL) или вообще не может сделать
срез по атрибуту который не индексирован (Cassandra).

3) Изменяется редко. ЕМНИП (Ansi-SQL92 хотя и протух но еще в деле). И хотя некий неведомый
консорциум клепает новые SQL-2003,2006,2008 объективно

4) Его можно использовать как некую средневековую "латынь" при описании схем (DDL). Даже
если гипотетически представить что SQL уже умер все равно нужен аппарат чтобы
сказать create enitity(int id); e.t.c.

5) Генерализирует многие типы-синонимы.

6) Сами по себе реляционные DBMS как правило содержат некий мета-уровень который описывает
служебные объекты схемы (индексы процедуры триггеры) и удобен для передачи знаний
по новому бизнес-домену. Грубо говоря мне достаточно 10-15 минут чтобы понять что данная
ЦРМ-ка состоит из 15 табличек с такими-то такими-то связями и индексирована так-то
и так-то.

Ничего подобного в NoSQL я не встречал. Там с этим очень плохо. Мрак и печаль. И если
у вас нет исходного кода от бизнес приложения которое работает с этой NoSQL dbms
то нифига вы там не найдете (прим: MongoDb). Не сможете оперативно ответить на вопрос - а какие
собсно бизнес объекты там лежат. Мдя...
1 окт 18, 09:52    [21690773]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Megabyte
Member

Откуда: ближайшее заМКАДье
Сообщений: 5021
H5N1

если SQL не вернеться из комы эта хрень вытеснит SQL повсеместно

Периодически звучат такие прогнозы о каком-либо продукте.
автор
"А воз и ныне там..."
(с)
1 окт 18, 11:01    [21690833]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 605
mayton
Субъективно.. пока его знания спрашивают на собеседованиях - он будет нужен.
Если вдруг (внезапно) тех лид говорит что ... "тэээкс... тут дальше идут вопросики
по SQL но мы их поскипаем ибо нету на проекте" то такова селяви и надо либо
менять проект либо согласится с тем что SQL действительно не будет.

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

mayton
1) SQL достаточно лаконичен в описании отчотов. CriteriaAPI, SparkAPI это все таки решения
библиотечные построенные поверх языков носителей Java/Scala и обладающие определенным
техническим балластом. Вы не можете написать запрос пока не выучите язык-носитель.

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

mayton
6) Сами по себе реляционные DBMS как правило содержат некий мета-уровень который описывает
служебные объекты схемы (индексы процедуры триггеры) и удобен для передачи знаний
по новому бизнес-домену. Грубо говоря мне достаточно 10-15 минут чтобы понять что данная
ЦРМ-ка состоит из 15 табличек с такими-то такими-то связями и индексирована так-то
и так-то.

Ничего подобного в NoSQL я не встречал. Там с этим очень плохо. Мрак и печаль. И если
у вас нет исходного кода от бизнес приложения которое работает с этой NoSQL dbms
то нифига вы там не найдете (прим: MongoDb). Не сможете оперативно ответить на вопрос - а какие
собсно бизнес объекты там лежат. Мдя...

просто они смотрят не таблицы, а DAO объекты. у них то все от кода пляшет, а не данных
1 окт 18, 11:05    [21690836]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 11118
H5N1
если SQL не вернеться из комы эта хрень вытеснит SQL повсеместно


не увидел ничего нового в этой твоей хрени. При обращении к реляционным СУБД вся эта Linq подобная фигня один фиг генерирует SQL запрос и отправляет его на сервер. При обращении к не реляционным делает это иначе. Просто обобщённый интерфейс для написания запросов непосредственно на том языке в котором программируешь вместо составления строковой переменной напрямую. Удобно? Да. Но ничего нового в этом нет.
1 окт 18, 11:13    [21690846]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
H5N1
Member

Откуда: Yo.! из "Сравнения субд"
Сообщений: 605
Симонов Денис
не увидел ничего нового в этой твоей хрени. При обращении к реляционным СУБД вся эта Linq подобная фигня один фиг генерирует SQL запрос и отправляет его на сервер. При обращении к не реляционным делает это иначе. Просто обобщённый интерфейс для написания запросов непосредственно на том языке в котором программируешь вместо составления строковой переменной напрямую. Удобно? Да. Но ничего нового в этом нет.

ничего не знаю про linq, но толку от него если он это в sql превращает, отправляет на сервер, копирует по медленному интерфейсу данные, кастит ? мой пример выполниться в том же jvm процессе, прямо над структурами датафрейма. никто никуда перекачивать данные не будет.
кроме этого трансляция в sql говорит о том что записать развесистый объект, полученный к примеру от ML либы в поле уже не выйдет, в колонках только примитивные типы. верно?
вобщем трансляция может внешне выглядит похоже, но под капотом выглядит совершенно иначе.
1 окт 18, 12:07    [21690962]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
Eugene New
Сам я люблю язык структурированных запросов. Но если посмотреть на то, сколько всяких технологий придумали для его замену, на то, что пропагандируют в разных книжках, создается ощущение какой то темной иррациональной ненависти к SQL.

Есть ли какие то рациональные причины?

Я вижу три возможных:
1. Реляционные БД может быть плохо сочетаются с рапараллеливанием на много компьютеров
2. ООП плохо связывается с SQL
3. Возможно считается, что среднестатистический программист настолько туп и не обладает способностями к абстрактному мышлению, что не в состоянии понять реляционную теорию, основанную на понятии множеств.



Все просто.
Не осилили.
1 окт 18, 14:00    [21691190]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
Eugene New,

Ну да, вот, 3;е

Возможно считается, что среднестатистический программист настолько туп и не обладает способностями к абстрактному мышлению, что не в состоянии понять реляционную теорию, основанную на понятии множеств.
1 окт 18, 14:01    [21691191]     Ответить | Цитировать Сообщить модератору
 Re: Причины ненависти к языку SQL?  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
Eugene New
SergSuper,
Роберт Мартин, "Читая Архитектура", 2018 год. стр 170-172

Вроде человек с перфокарт начинал программировать, хотя и без особого успеха. Теперь книжки пишет, есть то хочется, я его понимаю. У него даже хватает честности признать, что ООП делается на процедурных языках со всеми его фишками.

Но на SQL его пробило. Я даже не понял, то ли он себя обманывает, то ли читателей. Суть в том, что он говорит, что решение о том, будет использоваться реляционная БД или нет надо откладывать до самого последнего момента. Приводит в пример свой проектик, который реализовал на плоских файлах.

Обман в том, что такой подход работает только если вы будете использовать реляционную базу как набор плоских файлов - то есть не будете использовать ее возможностей. Видал я в начале 2000-х такую программу - использовала Oracle, расчет зарплаты за месяц проводила за 10 часов. Но был выход - если запускать на сервере БД, то считало уже 5 часов. Потому что ребята делали это на dbf-файлах изначально и перенос на Oracel свели к запихиванию данных в таблицы в реляционной БД и полному скачиванию всей информации из них для последующей обработки. Очевидно, что все это можно было с полпинка оптимизировать до скорости в 100-1000 раз больше, если задействовать sql.

Насчет Мартина я так и не понял - то ли он действительно сам не может понять реляционные БД, то ли работает на пропаганду "линии партии".

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



Очевидно же.
Человек-дурак написал книгу не чтобы стали, а чтобы написать.
1 окт 18, 14:06    [21691207]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 13   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить