LINUX.ORG.RU

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

 ,


0

4

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

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

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

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

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

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

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

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

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

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

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

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

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

Даже у тебя по первой ссылке есть слова ФИФО, также есть и ЛИФО, средная и нормативный метод.

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

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

типа, если перебрал норматив - плати двойную цену? поди отмотал метр туалетной бумаги, а потом ещё и руки помыл два раза! сразу три проводки в бухгалтерии: учёт бумаги, воды и мыла. так никаких баз данных не хватит.

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

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

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

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

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

Это у вас так.

А в основном требуют так: https://normativ.kontur.ru/document?moduleId=44&documentId=6926

Чтобы выяснить, какая наценка была на этот салат (вдруг его столовая уже в убыток продаёт?).

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

Блин, ну в вас сразу виден синдром трех ларьков.

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

Тебе надо учитывать все - возможности производственных линий, наличие и зарплата рабочим, транспортные расходы, расходы на хранение, то что у тебя что-то скоммуниздят а что-то полетит в брак…

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

И вот зайдите в эту задачу со своим подходом трех ларьков. Обосретесь не начавши от натуги.

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

при попытке перехода от агрегированных операций на частные, так как это угроза существования компании от анал-литиков

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

В ВОВ часто взрывались ракеты на Катюшах. Проанализировали в разрезе мест производства, нашли цех, где брака было значительно выше среднего. Исправили.

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

Чтобы выяснить, какая наценка была на этот салат (вдруг его столовая уже в убыток продаёт?).

Это из серии
https://rarus.ru/1c-restoran/article-kak-rasschitat-sebestoimost-blyuda-i-sformirovat-otchet-v-1c-upravlenie-predpriyatiem-obshchepita/?ysclid=mfxkw9to73432196336 Как рассчитать себестоимость блюда и сформировать отчет в 1С:Управление предприятием общепита?

Не вникал особо, но неужели для этого нужно вести учёт?

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

Поимо этого могут быть запросы от государственных и налоговых органов - куда что и кому. И там ваши сказки строй 4.14*раски про агрегированный учет никого не взволнут. Нагнут и будете простаивать пока не откопаете первичку в толстых картонных коробках.

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

Не вникал особо, но неужели для этого нужно вести учёт?

Да. А для чего ещё?

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

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

А ты напряги умишко немного - вот ты открываешь ресторан. У тебя аренда, зарплата работникам, закупка продуктов, реклама. Какой выставить ценник на бухло и жраку чтобы выйти в плюс годика через три? Это кажется что легко все. Было бы легко - разорялось бы меньше

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

90% бухучёта нынче это как раз расчёт себестоимости.

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

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

Если клиентуры будет мало, то ничто не поможет.

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

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

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

Если будут продавать борщ по десять рублей, а клиентуры не будет, то также будут работать в убыток.
Похоже вы в этих вопросах не разбираетесь.

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

Как человек, лично знакомый с несколькими директорами ресторанов, могу сказать, там сложности далеко не только в этом.

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

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

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

Ну что же.
Это подтверждает то, что из Запорожца Мерседес сделать - неблагодарная задача.

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

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

Ностальжи

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

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

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

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

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

Вот вы смеётесь, а в 90-е в одном издательстве почти так и было. В одном отделе искали в Интернете новости, делали отчёт, распечатывали и отдавали руководству. Другой отдел получал эту распечатку и с неё в компьютере писал статьи.

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

Другой отдел получал эту распечатку и с неё в компьютере писал статьи.

Ага, затем статью передавали нач. отдела программирования, он её рецензировал, …, …
Всё как обычно!

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

В бумажном архиве оно сохраннее и надёжнее, меньше шансов продолбать.

С этим тезисом я уже в соседней теме спорил.

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

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

Ага, затем статью передавали нач. отдела программирования, он её рецензировал, …, … Всё как обычно!

А виноват во всём конечно - @monk.
И за SQL с тебя спрос …

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

И в налоговом учете есть учет стоимости запасов и методы списания себестоимости.

Почитай про УСН, например. При продаже/использовании надо определить по какому документу пришёл продаваемый/списываемый товар и принять к расходу только в той части, в которой этот документ оплачен.

Если агрегация, то к расходу принимать нельзя, пока есть хоть какая-то задолженность поставщику.

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

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

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

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

И вот зайдите в эту задачу со своим подходом трех ларьков. Обосретесь не начавши от натуги.

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

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

Ну а так да, бывает, что СУБД суют туда, где она совершенно избыточна, и можно было обойтись простыми текстовыми, yaml/json/xml, или dsv файлами.

Для вас document-oriented придумали, изверги.

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

И как часто это делают… хотя бы до того, как всё рухнет?

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

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

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

от гиперусложненной бюрократии

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

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

Это вы такие наивные в таком возрасте. А к нам вот налоговая завалилась не так давно с запросом куда кому когда и по каким ценам ушли товары определенных партий ввезенные по конкретной ГТД. И отвечайте им по своим консолидированным отчетам и рассказывайте сколько хотите про то что там есть в налоговом учете.

Опять же повторюсь - когда у вас ИП или даже ООО купипродайка «три ларька» - вот это все прокатывает. А если вы крупная корпорация занимающаяся фармой или хайтеком - там этот подход не работает. Более того - там как правило вообще нереально охватить все в рамках одной системы и идет целый зоопарк erp, bi, системы хранения документации, куча миддлварей, всякие интранетовские приложение разных мастей. И там вам надо отчитываться в локальную налоговую по стране, в корпоративную штаб-квартиру по GAAP , генерировать кучу внутренних управденческих отчетов - и это только бухгалтерия а там еще полно всего.

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

В каком еще «моем» возрасте, я аттестат аудитора получал в 1999 году, это 26 лет назад, от потуг граждан, что рассказывают, что нужно проводками (!) детализировать каждую котлету, блевать хочется.

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

то нахер и там не нужна детализация в твоей котлете.

На котлету ушло 100 грамм мяса. Двум из трёх поставщиков мяса ещё не оплатили поставку по тому мясу, которое на складе. Сколько ставить расход в КУДиР по этой котлете?

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

луддизм это когда люди чужие СУБД ломают, а не альтернативу пишут.

Когда мешают пользоваться СУБД – это луддизм? Когда в мягкой форме – только словами мешают – это луддизм?

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

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

п2 ст. 346.17 НК - кассовый метод принятия затрат при УСН (доходы - расходы), котлета отдельно нужна исключительно для твоих сексуальных фантазийй.

One ★★★★★
()