powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Причины ненависти к языку SQL?
25 сообщений из 306, страница 1 из 13
Причины ненависти к языку SQL?
    #39710345
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам я люблю язык структурированных запросов. Но если посмотреть на то, сколько всяких технологий придумали для его замену, на то, что пропагандируют в разных книжках, создается ощущение какой то темной иррациональной ненависти к SQL.

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

Я вижу три возможных:
1. Реляционные БД может быть плохо сочетаются с рапараллеливанием на много компьютеров
2. ООП плохо связывается с SQL
3. Возможно считается, что среднестатистический программист настолько туп и не обладает способностями к абстрактному мышлению, что не в состоянии понять реляционную теорию, основанную на понятии множеств.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710379
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene New,

можно пример разных книжек?
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710386
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper,
Роберт Мартин, "Читая Архитектура", 2018 год. стр 170-172

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

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

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

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

Честно было бы сказать на его месте, что решение о использовании или неиспользовании реляционных БД принимается в самом начале. Мне, конечно, сложно представить, как можно не понимать простейших аспектов реляционной теории, но я не берусь отрицать существование таких людей.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710389
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene NewСам я люблю язык структурированных запросов. Но если посмотреть на то, сколько всяких технологий придумали для его замену, на то, что пропагандируют в разных книжках, создается ощущение какой то темной иррациональной ненависти к SQL.

Причин много. Упрощение. Некоторые узлы сложных систем после миграции
в микросервис оказались настолько простыми что им реляционная алгебра не нужна. Но хранилище
им нужно.

Еще - незаполненный сегмент в части API. Между РСУБД и файловыми библиотеками
наподобие BerkeleyDB был ваккуум. Сейчас он заполняется всякими Redis, RockDb, LevelDb,
и прочими которые уже не файло-подобные но и еще не реляционные. Ну и конечно - либеральная
лицензия.

+Нереляционные которые полезны (реально полезны) для графового поиска информации
в соц-сетях и генеалогических проектов наподобие MyHeritage. Из таких я помню есть Neo4j.

Насчет ненависти - это вы Евгений конечно перебираете. Я не знаю откуда вы черпаете информацию.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710391
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,
я люблю Firebird и уважаю его разработчиков! Вы совершенно напрасно думаете, что я враждебен.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710396
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene NewНасчет Мартина я так и не понял - то ли он действительно сам не может понять реляционные БД, то ли работает на пропаганду "линии партии".

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

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

С одной стороны как ни странно не все умеют работать. Встречал случаи, когда люди на полном серьезе тащили все на клиента и уже там в разбирали во вложенных циклах. С другой стороны как выше написали тенденция к упрощению и сокращению - объективный фактор. Не случайно в этой связи появление того же node, чисто ради того, чтобы и на клиенте и на сервере был один js.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710399
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene NewВидал я в начале 2000-х такую программу - использовала Oracle, расчет зарплаты за месяц проводила за 10 часов. Но был выход - если запускать на сервере БД, то считало уже 5 часов. Потому что ребята делали это на dbf-файлах изначально и перенос на Oracel свели к запихиванию данных в таблицы в реляционной БД и полному скачиванию всей информации из них для последующей обработки. Очевидно, что все это можно было с полпинка оптимизировать до скорости в 100-1000 раз больше, если задействовать sql.
Тут все от задачи зависит.

Если она - из области distributed computing то может и лучше ее считать распределённо а потом сливать "ручейки
информации" в единый хост-хранилище отчотов. Вобще как говорят it depends.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710401
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_nautilus_У Теплякова можно почитать критику какой-то из книжек Мартина. Лично я не очень люблю авторов, которые книжки пишут словно рыба икру мечет. Как правило в таких случаях выше риск, что в книге будет преобладать конъюнктурная попса и автор среди прочего будет именно навязывать определенную точку зрения.

На миг сложилось впечатление что мы "Пастернака" осуждаем по линии партии даже нечитая ...

А Мартин написал всего-то 5-6 книг (по разным источникам).
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710403
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sql это просто реляционная алгебра.

математику ненавидят двоечники, которые ее не понимают
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710408
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene NewОбман в том, что такой подход работает только если вы будете использовать реляционную базу как набор плоских файлов - то есть не будете использовать ее возможностей.
обман в том, что оперирование множествами, и язык SQL это круто, но без индексов и прочих ухищрений по оптимизации всё это не будет работать быстро.
Может поэтому авторов типа Мартина плющит - хотели пулю из серебра, а получили из г.
Тем не менее, эта, даже говённая пуля, всё равно работает.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710420
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene New... Суть в том, что он говорит, что решение о том, будет использоваться реляционная БД или нет надо откладывать до самого последнего момента.
...

Тони Хоар, соизобретатель "структурного программирования" как подхода к проектированию
программ, и соавтор с Далом и Дейкстрой сборника статей "Структурное программирование",
где-то давал комментарий к первой статье в сборнике, в которой Дейкстра рассказывает,
среди прочего, как он учит своих студентов программированию "сверху-вниз".
Хоар высказался в таком духе: это очень здорово, но этому нельзя учить начинающих.
Начинающие не знают, где у программы верх.

Книжек по архитектуре программного обеспечения раньше какого-то момента тоже читать нежелательно.
Начинающий просто не поймет смысла написанного и превратит его в ненависть.

О существе архитектуры вообще и программной архитектуры в частности, имхо,
красочнее всех высказался Фредерик Брукс, примерно так (точную цитату искать не буду):
- архитектура, это то, обо что вы спотыкаетесь, когда ночью бредете в туалет.
Если оно не может быть отодвинуто, так, чтобы следующей ночью не спотыкаться,
то это и является архитектурой.

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

Eugene NewЧестно было бы сказать на его месте, что решение о использовании или неиспользовании реляционных БД принимается в самом начале....
Это решение возможно.
И в целом наборе обстоятельств - умно.
Оно предопределяет существенные элементы архитектуры.

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

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

Существо архитектуры - в стенах, дверях и коридорах.
Автор всего лишь говорит, что твоя обязанность - запланировать наличие коридора.
А какой лампочкой ты будешь его освещать - это можно решать потом.
Как-то так.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710426
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНа миг сложилось впечатление

И правильно, что миг, ведь я писал про принцип отбора, а не про то, что конкретно Мартин какой-то не такой.

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

Хорошо сказано.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710431
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аналогии с архитектурой хромают, как и с любым объектом из реального мира, т. к. программирование совмещает в себе проектирование и реализацию. Никто не строит здание так, чтобы переносить после постройки капитальные стены и менять этажность, никто не начинает строительство, понятия не имея, что это будет за здание и для чего оно будет использоваться и никто не меняет проект, когда построена уже половина здания.

Не хотелось бы уходить слишком далеко от темы.

Вот, например, LinkQ - зачем его сделали вообще? Они что то упростили этим, заставив изучать новый язык запросов?
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710432
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene NewАналогии с архитектурой хромают, как и ...

вот и не надо судить о любви и ненависти к sql, читая книжки по архитектуре.
Просто не читайте пока таких книжек.

Eugene NewВот, например, LinkQ - зачем его сделали вообще? Они что то упростили этим, заставив изучать новый язык запросов?

можно было бы предложить почитать вот это, 2006 год.

http://blogs.tedneward.com/post/the-vietnam-of-computer-science/

на хабре есть русский перевод.

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

Но может быть, потом, когда-нибудь, вспомните, что ссылку вам давали в связи с вопросом - что могло мотивировать создателей linq
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710437
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene New...
Никто не строит здание так, чтобы переносить после постройки капитальные стены и менять этажность...

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

Брукс считает, что о "хорошести" программы можно судить не раньше, чем после третьего переписывания.
Правда, состоит в том, что количество переписываний предсказать нельзя.

Выделенный тезис - самое сакральное знание о программировании.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710439
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,
сколько таинственности :-) знаю я про ORM и упомянул об этом в п. 2.
по мне так если ООП плохо сочетается с реляционными БД, которые прекрасно подходят для хранения данных, то горе ООП, а не реляционным БД.

пусть меня поправят, если я ошибаюсь, но
linq же не ORM, а именно язык запросов на замену sql. Entity Framework - ORM.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710442
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если linkq лучше для использования с ORM - то чем?
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710479
schi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710550
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene NewА если linkqКогда я был маленький, то некоторое время упорно читал неандреталец, но, всё-таки, исправился.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710573
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во первых не стоит смешивать теплое и мягкое: язык sql с реляционными базами. sql и поверх плоских файликов вполне работает.
во вторых реально существует огромный пласт задач где вполне оправдан отказ от полноценной реляционной базы. начиная с сайтиков-форумов, заканчивая бигдата задачами, которые зачастую на файликах поверх hdfs делают. как я понимаю микросервисы с идеологией отдельной базы будут под документо-ориентированные субд перетягивать одеяло. так что прототип на файлике вполне оправдан.
что касается sql, то пакость застыла в развитии и 10-15 лет никакого развития. если так пойдет и дальше, новомодные фреймворки и его начнут массово вытеснять. spark хорошо продвинулся в плане скрещивания декларативной и процедурной части языка, тогда как у sql по прежнему между декларативной и процедурным "расширением" пропасть и похоже что-то в там развивать уже никто не будет.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710588
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мартин считает разработчиков в массе своей тупыми обезьянами, неспособными освоить sql:

http://www.ooart.ru/uploads/book/arhitektura_korporativnyh_programmnyh_prilozhenij_fauler_m.pdf

Товарищ Многие разработчики просто не владеют SQL и потому, пытаясь сформулировать эффективные запросы и команды, сталкиваются с проблемами. Помимо того, все без исключения технологии внедрения предложений SQL в код на языке программирования общего назначения страдают теми или иными изъянами. (Безусловно, было бы лучше осуществлять доступ к содержимому базы данных с помощью неких механизмов уровня языка разработки приложения.) А администраторы баз данных хотели бы уяснить нюансы обработки SQL-выражений, чтобы иметь возможность их оптимизировать.
По этим причинам разумнее обособить код SQL от бизнес - логики, разместив его в специальных классах.

Возможно, с точки зрения принципов построения ККЭ (красного кровавого энтерпрайза) Мартин прав: работаем с теми людьми, какие есть.
Вот и вся интрига.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710592
Eugene New
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,
sql и поверх плоских файликов вполне работает.
Это всего лишь значит, что вы используете набор плоских файлоков как реляционную БД.

астыла в развитии и 10-15 лет никакого развития
А сейчас все в программировании застыло. Разве что велосипеды по новому открывают. Берут то, что придумано в 1970-х и выдают за новейший технологический прорыв.

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

spark хорошо продвинулся в плане скрещивани
spark всего лишь очередная библиотека, которая, кстати, использует SQL
--
Котовасия,
озможно, с точки зрения принципов построения ККЭ (красного кровавого энтерпрайза) Мартин прав: работаем с теми людьми, какие есть.
Есть же еще люди с нормальными способностями. Выходит, что они дебилов отбирают специально. А дебилы ведь все равно ничего хорошего не сделают..
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710594
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eugene New>Есть же еще люди с нормальными способностями
Мало, судя по всему.
Еще раз: речь об ККЭ, тут не до примадонн, тут массовое производство, где незаменимым не место. Для того и RUP, Agile, и зубрежка шаблонов проектирования и ORM.

Подход вполне оправдан при определенных масштабах производства.
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710597
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1что касается sql, то пакость застыла в развитии и 10-15 лет никакого развития. если так пойдет и дальше, новомодные фреймворки и его начнут массово вытеснять. spark хорошо продвинулся в плане скрещивания декларативной и процедурной части языка, тогда как у sql по прежнему между декларативной и процедурным "расширением" пропасть и похоже что-то в там развивать уже никто не будет.
Куда вы хотите его развивать?
...
Рейтинг: 0 / 0
Причины ненависти к языку SQL?
    #39710599
Котовасия
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonH5N1что касается sql, то пакость застыла в развитии и 10-15 лет никакого развития. если так пойдет и дальше, новомодные фреймворки и его начнут массово вытеснять. spark хорошо продвинулся в плане скрещивания декларативной и процедурной части языка, тогда как у sql по прежнему между декларативной и процедурным "расширением" пропасть и похоже что-то в там развивать уже никто не будет.
Куда вы хотите его развивать?
Хочется императивности, вместо "селект ... фром ... вэрэ..." чтобы "for (int i = 1...,", как у пацанов из одинэс... ;)
...
Рейтинг: 0 / 0
25 сообщений из 306, страница 1 из 13
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Причины ненависти к языку SQL?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]