LINUX.ORG.RU

Его крокейшество о вредности СУБД, если архитектурно она для программ, а не живого человека

 ,


0

4

Давно уже что-то про Столярова Croco ничего не было =) А тут он повод недавно дал, расписав почему считает недопустимым использовать СУБД в архитектуре при проектировании софта. То есть, если для каких-то программ нужно хранение данных, его надо индивидуально под программу делать, а не подключать базы данных.

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

http://www.stolyarov.info/guestbook#cmt97

==============

Я придерживаюсь принципа несколько более узкого: недопустимо создание, распространение и использовние программ, для работы которых требуется СУБД.

Причины можно назвать, например, такие:

  1. СУБД — это лишняя внешняя зависимость, при том что вообще любые внешние зависимости суть хамство в отношении пользователей и мейнтейнеров;
  2. СУБД требует трудозатрат на установку, настройку и дальнейшее администрирование;
  3. СУБД способна упасть (и да, падает намного чаще, чем, скажем, тот же апач — вообще пока мои сайты жили на «традиционной» CMSке, именно СУБД была причиной всех случаев downtime моих сайтов, за исключением одного, когда на сервере физически осыпался жёсткий диск);
  4. СУБД требует от пользователя постоянно обновлять навыки, которые, возможно, больше ни для чего не нужны;
  5. СУБД хранит информацию пользователя в неочевидном для него виде; этим грешат не только СУБД, конечно, но СУБД мало того что хранят всё в бинарных файлах, которые без самой СУБД даже думать нечего разобрать, они ещё и вводят дополнительный слой хаотизации в виде схемы БД, провоцируя разработчиков софта на внедрение «решений», единственное «описание» которых остаётся в голове у автора;
  6. СУБД требует изрядных вычислительных мощностей и крадёт (а вовсе не повышает, как почему-то многие уверены) производительность.

Я, заметим, не рискну утверждать, что СУБД как сущность вообще никогда не может ни для чего применяться. Тут вопрос в том, кто на ком стоял: если главной целью является база данных как таковая, то есть вот имеется какой-то значительный объём разнородной, но при этом взаимосвязанной информации и стоит задача обеспечить его хранение и в нём поиск, причём никто заранее не знает, какие именно задачи будут решаться на этом массиве информации, какие именно поисковые запросы будут делаться и вот это вот всё, то да, СУБД вполне может оказаться адекватным решением, и даже для работы с ней могут создаваться вспомогательные программки. Это, конечно, не оправдывает существования языка SQL, который в любых его проявлениях представляет собой надругательство над здравым смыслом, но в целом СУБД как вид софта существовать, наверное, всё-таки может — но лишь в случаях, когда либо вообще нет никаких программ кроме неё самой, либо программы делаются для неё, а не она сама поддерживается для работы какой-то программы.

Всё это можно выразить и короче: СУБД, по-видимому, вполне имеет право на существование в ситуации, когда основным способом работы с ней будет непосредственное вбивание запросов на её языке запросов живым человеком. То есть когда именно вот это — основное, а всё остальное вспомогательное. В подавляющем большинстве случаев мы видим прямо противоположное: с СУБД как-то там общается некая программа (намного реже — больше одной программы, и это уже пограничный случай), а живой человек делает запросы либо только в рамках обслуживания всей системы, либо вообще никогда.

Когда же пишется некая программа, предполагающая применение для конкретных задач (а программы иначе, собственно, и не пишутся), и данные возникают исходя из этих задач, а не наоборот, то за саму идею задействования внешней СУБД нужно убивать на месте. Сугубо из санитарных соображений.

★★★★★
Ответ на: комментарий от praseodim

да, не все источники сохранились из-за природных условий и разных войн и прочего.

насчёт «уничтожены»: учёные бы за них уцепились двумя руками. может, какие-то местные дураки их нашли и тупо сожгли, как дрова.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

учёные бы за них уцепились двумя руками.

Есть понятие «неудобных артефактов». Если в теорию не укладывается, то лучше куда-то подальше спрятать.

monk ★★★★★
()
Ответ на: комментарий от olegd

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от praseodim

В остальных случаях или достаточно процессов или правильно будет программировать не многопоточность, а машину состояний.

Что по поводу встраивания (одного или нескольких инстансов) интерпретаторов динамических языков программирования? Там библиотеки и интерпретаторы не знают ничего про эту вашу машну состояний.

Ну то есть вот есть Lua или Python. Я хочу встроить несколько независимых интерпретаторов в свою программу (например для системы плагинов). И хочу, чтобы они друг друга и основную программу не блокировали, и могли при этом вызывать print(), popen() и т.д. И, опциональным требованием, могли использовать внешние библиотеки.

И это только юзкейс, с которым я сталкивался. Существуют ещё сотни.

Да и в многопроцессности нужны shared- мютексы, условные переменные и т.д. В чём плюс её тогда?

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

---

Столяров — поехавший, я ещё 7 лет назад тут об этом писал. В его CMS находят баги и уязвимости, в том числе новые версии компиляторов, по поводу которых есть пердёж в документации его CMS, что они, мол, только штампуют “idiotic features”.

А ещё он не считает нужным проверять результат malloc(), calloc() и прочее, на NULL.

Тех, кто указывает на эти косяки, он добавляет в игнор.

Но на его сайте только положительные отзывы: не вписывается в рынок, мол, такая качественная CMS.

shdown
()
Последнее исправление: shdown (всего исправлений: 2)
Ответ на: комментарий от monk

Я обслуживаю 1С в разных организациях. В том числе в кондитерском производстве и общепите, где как раз вот такой микро-учёт (1С:УПП на производстве и 1С:Общепит в общепите). Никто никуда от своих начальников не сбежал.

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от shdown

что они, мол, только штампуют “idiotic features”.

ну, насчёт «idiotic features» я с ним соглашусь. действительно, напихали всякого в панамку компиляторы. выхлоп стал похож на какую-то паранойю, которую только вот недавно поминали всуе. ужасно и приходится отключать, где можно. иначе просто работать с этим невозможно становится. особенно большие сорцы собирать.

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от shdown

если это так, то это плохо и это нельзя использовать.

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от One

кто говорил про проводки? Я имел в виду ERP систему в целом в которой чисто проводки - не самый жирный генератор нагрузки на бд.

Помимо проводок в бухгалтерию для отчетности есть еще cost controlling и profitabiliy analysis. Вот там и будет считаться каждая котлета.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Iron_Bug

ну для того чтобы добыть древнее знание мало учить языки - надо еще жениться на дочке верховного йога (почти с)Мирча Элиаде.

все что действительно предстваляет ценность а главное - опасность - не переведено с латыни не потому что некому и лень переводить, а потому что в Ватикане тоже есть свои свитки ДСП и совершенно секретно.

Основная штука в том что римская империя никуда не делась. Она продолжает существовать в той или иной форме с практически полной преемственностью.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

да можно дойти до паранойи и пересчитать все листья на деревьях и всю траву на газонах. но ЗАЧЕМ? все эти мелочи ничуть не помогают бизнесу. более того, я просто уверена, что это притащили туда всякие анал-литики, чтобы трясти из бизнеса бабло. а по факту ну не нужно это нафиг. лишние понты, лишняя нагрузка на базы, а пользоваться никто не будет. и даже если и будет, то никакой практической пользы не получит. а просто от нефиг делать рисовать всякие отчётики - этим любят заниматься манагеры, которым до бизнеса, как до лампочки, но они любят всякие свистоперделки и понты. и потом на разных унылых совещаниях трясут перед скучающей аудиторией какими-то совершенно ничего не значащими цифрами. это дурная деятельность, которая только мешает всем и ничего не меняет в лучшую сторону.

есть здравый смысл, а есть формализм и демагогия. вот это второе.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от kaldeon

ну я сомневаюсь что ее так уж и сожгли. Святые отцы тех времен явно были не дебилы, и все что было нужно просто перепрятали пустив дебилов жечь долговые расписки и доносы. Дебилы же не могли понять что они жгут.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

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

насчёт «римская империя никуда не делась», напомнило секту странных людей, которые утверждают, что «СССР до сих пор существует». как бы это сказать... в общем, это нездорово.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Qui-Gon

ну для того чтобы добыть древнее знание мало учить языки - надо еще жениться на дочке верховного йога (почти с)Мирча Элиаде.

И обязательно купить бубен.
Без этого атрибута жрецом не станешь …

anonymous
()
Ответ на: комментарий от Iron_Bug

секту странных людей, которые утверждают, что «СССР до сих пор существует». как бы это сказать… в общем, это нездорово.

Насколько я помню, там речь про формальность.

Zhbert ★★★★★
()
Ответ на: комментарий от Qui-Gon

Как ты отвечаешь на тред, если не читаешь на что отвечаешь?

От наличия букв на английском ничего не меняется, тупорылось следить за стоимостью ингредиентов каждой котлеты , если есть куда более эффективные методы как учёта, так и контроля

One ★★★★★
()
Ответ на: комментарий от Iron_Bug

насчёт «римская империя никуда не делась», напомнило секту странных людей, которые утверждают, что «СССР до сих пор существует». как бы это сказать… в общем, это нездорово.

Ну надо отличать, в каком смысле «никуда не делась». Одно дело, когда они паспорт предъявить пытаются советский и от исполнения российских законов отказываются, и прочая буйная шиза. А другое — это полуметафорически говорить, что римская империя никуда не делась, а в каком-то смысле существует. Можно и про СССР так сказать — очень многое из советского наследия до сих пор живо и влияет на жизнь и поведение людей. Особенно в мозгах, но не только. И хорошего и плохого. И в этом нет ничего нездорового, просто не всё надо воспринимать совсем уж буквально.

CrX ★★★★★
()
Ответ на: комментарий от Iron_Bug

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

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

Qui-Gon ★★★★★
()
Ответ на: комментарий от anonymous

Опять же сошлюсь на того же Элиаде. Он правда писал про йогов индии - но к любым шаманам это тоже применимо.

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

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

Qui-Gon ★★★★★
()
Ответ на: комментарий от One

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

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

Но вам трёхларечникам объяснять как и почему и что учинитывают в глобальных компаниях - бесполезно. Нету у вас нужных нейронных связей. Особенно старым трехларечникам. Впрочем оно вам и не нужно - на уровне трех ларьков босс и так знает кто как работает, кто сколько ворует… И простенькой 1С хватит. И 1 бухгалтера на 3 конторы - так что даже не надо заботиться о конкуррентном доступе к данным на запись.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

А уж Стив - проверенный успехом гений бизнеса.

С яблочными компьютерами и айфонами с айпадами - да. А вот с NeXT эпично слил как бизнесмен. Хотя как раз технические идеи были хорошие.

anonymous
()
Ответ на: комментарий от anonymous

У трехларечника все в проводку сливается. И дальще бухгалтерии мы не видим. Поэтому попытка импортозаместить буржуйские ERP отечественными однопользовательскими бухгелтерскими пакетами и станвоится трудновыполнимой задачей.

Qui-Gon ★★★★★
()
Ответ на: комментарий от anonymous

Как это в проводке отразить?

Учитывать в проводке конкретного покупателя (место в столовой, номер чека, время продажи). При жалобе отслеживать по всей цепочке, что откуда. Если жалоб хотя бы две, почти автоматически по пересечениям можно выявить причину.

monk ★★★★★
()
Ответ на: комментарий от Qui-Gon

У трехларечника все в проводку сливается. И дальще бухгалтерии мы не видим.

Да в бухгалтерия вопросов качества не касается.
Но убытки напоминают о том, что «в консерватории что-то не так».

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Qui-Gon

Послушайте Стива Джобса.

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

ни от флуктуаций на Марсе. это провоцирует неумных людей на всякое вредительство.

Всё много банальней.
«Если я усну и проснусь через сто лет и меня спросят, что сейчас происходит в России, я отвечу: пьют и воруют»
Это суждение конечно не нужно понимать буквально.
За этим стоит духовность людей.

anonymous
()
Ответ на: комментарий от anonymous

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

и да, далеко не все «пьют и воруют». большинство людей нормальные. но они и не говорят про «духовность».

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

и да, далеко не все «пьют и воруют». большинство людей нормальные. но они и не говорят про «духовность».

Духовность в любви к людям и помощи другим.
Таковых весьма мало.

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

нет, это обычно слышишь от тех, у кого рыло в пуху. а руки иногда в крови.

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

anonymous
()
Ответ на: комментарий от Iron_Bug

никому в здравом уме не нужна детализация на каждый пук. а чеки и так сейчас отправляются в налоговую

Её используют, потому что она «бесплатна». Никому в здравом уме и восьмиядерный процессор для повседневных задач не нужен. Но он уже стоит столько, что «пусть будет».

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

monk ★★★★★
()
Ответ на: комментарий от monk

А миллион проводок — это всего лишь полгигабайта. Объём в год вообще ни о чём. Одного диска на две тысячи лет хватит.

@monk, вот скажи, такого рода автоматизация, чем помогает людям?
Бухгалтерский и налоговый учёт от чего требует государство у фирм?

anonymous
()
Ответ на: комментарий от anonymous

Бухгалтерский и налоговый учёт от чего требует государство у фирм?

Ладно открою одну тайну.

От чего ветер дует?
От того что деревья качаются.

anonymous
()
Ответ на: комментарий от anonymous

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от anonymous

Как считаете, IT маркетинг таков?

Вспомнился мне по этому поводу анекдот.

Спрашивает отец жену.

  • Если бы тебе денег дали дала?

  • Да.
    Спрашивает дочь.

  • Если бы тебе денег дали дала?

  • Да.

  • Парадокс.

  • Дома одни …, а денег нет.

anonymous
()