LINUX.ORG.RU

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

 ,


0

4

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

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

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

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

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

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

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

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

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

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

★★★★★

гы, уже все архитектуры СУБД обсудили – или только некоторые?

или большинство кроме SQL ничего и не знает? а как же – тот же MUMPS, например.

вот, крик души MUMPS программиста – Евгения Каратаева, автора книжки по MUMPS и разработчика MiniM DB, MiniMono (к сожалению, с конца 2024 года он закрыл проект и сайт – наверно больше увлекся своей книжкой по гиперкомплексным числам; но а) аргументы и тезисы справедливы и поныне; б) есть и более другие, и открытые реализации MUMPS)

почему я не люблю SQL: Чем мне не нравится SQL:

1. Условность стандарта  
2. Неполнота операций. Дайте два! 
3. Что используем на самом деле - стандарт или реальную имплементацию?
4. Повторное использование кода или копипаст?
5. Самодеятельность оптимизаторов.
6. Переносимость.
7. Чем завалены форумы.
8. Ждем милости от разработчиков.

сопоставив с тезисами Столярова:

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

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

  1. СУБД — это лишняя внешняя зависимость, при том что вообще любые внешние зависимости суть хамство в отношении пользователей и мейнтейнеров;

некоторые собираются довольно просто и самодостаточно устанавливаются «в одном файле»: SQLite, MiniMDBmono, Berkley DB

  1. СУБД требует трудозатрат на установку, настройку и дальнейшее администрирование;

опять же, в некоторых СУБД администрирование, настройка и установка – минимальны и тривиальны

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

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

но бекапы вообще везде необходимы.

  1. СУБД требует от пользователя постоянно обновлять навыки, которые, возможно, больше ни для чего не нужны;

какие это навыки? навыки написания промптов к ч0рному ящику «написания запросов на DDL/DML SQL?» навыки «администрирования СУБД»? навыки 1-8 из проблем «чем не нравится SQL»?

навыки «профилирования плана запросов и исчисления хинтов на индексах для оптимизации SQL запросов»?

вот это да, дичь и не так чтобы уж сильно нужно в более других архитектурах СУБД.

но опять же, если про SQL. у SQL ровно одно, но довольно существенное преимущество: это возможность посредством вложенных SELECT, JOIN-ов, и какой-то матери в принципе вытащить любые данные.

в остальном – преимущества довольно спорны. более другие архитектуры СУБД и работают быстрее, и можно целые приложения писать по обработке данных на их более адекватном чем на SQL языке (если не заморачиваться с курсорами в SQL, и/или, хранимками – то средства «голого SQL ANSI SQL 92» по обработке данных – довольно таки убоги – но см. пункты 1-6 выше )

и какого-то сложного администрирования – как правило и не требуют.

anonymous
()
Ответ на: комментарий от anonymous
  1. СУБД хранит информацию пользователя в неочевидном для него виде; этим грешат не только СУБД, конечно, но СУБД мало того что хранят всё в бинарных файлах, которые без самой СУБД даже думать нечего разобрать, они ещё и вводят дополнительный слой хаотизации в виде схемы БД, провоцируя разработчиков софта на внедрение «решений», единственное «описание» которых остаётся в голове у автора;

вы уж определитесь: или трусы, или крестик.

схема данных – это хорошо или плохо? вот в SQL схема данных есть явная в DDL, это хорошо или пункты 1-8 из возражений Е. Караваева всё же их перевешивают?

вот в MUMPS схемы нет вообще – это хорошо или плохо?

ну и т.п.

неочевидный вид становится очевидным, если

  1. описаны форматы данных импорта-экспорта, например, текстовое представление глобалов и рутин;

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

  3. задействовать схему данных и какой-то дополнительный слой для ее реализации. например, хотя MUMPS – schemaless, но поверх этой многомерной модели данных можно реализовать и реляционную, и графовую, и объектно-ориентированную и какую угодно. и в том числе, на чистом стандартном М. и в том числе, уже реализовано – см. например EsiObjects на саурсфорже; Cache Object Script; MSH ; объекты в FreeM; и тому подобное.

  4. достаточно полно всё документировать

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

которых и так достаточно, ибо «основное время современные компьютеры исполняют пустой цикл» (с) Столяров.

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

почему в стародревнем комплекте фидошного пойнта давным давно используются СУБД и форматы типа JAM, SQUISH а не только «мессаги в отдельных файлах». а в большинстве е-мейловых MUA дальше mbox/maildir обычно не продвинулись, и MUA которые например хранят сообщения в SQL базе данных – я могу назвать только один такой.

в котором SQL запросами можно искать, обрабатывать фильтры, правила для перемещения в нужный ящик.

ведь это же очень практично и удобно.

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

то вот как раз какая-то СУБД для индексации и поиска по всей этой «нетленке» – очень даже напрашивается.

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

все это гораздо более неудобнее простого фидонета – гипертекстового и векторного, ога.

где таки можно было невозбранно достигнуть желаемого – а в e-mail – нет.

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

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

я не говорю, что он идеален. но это вполне себе рабочая лошадка.

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

а в большинстве е-мейловых MUA дальше mbox/maildir обычно не продвинулись, и MUA которые например хранят сообщения в SQL базе данных – я могу назвать только один такой.

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

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

современный AI типа чятгопоты, кстати, тоже сделан неправильно.

ещё в православном фидонете можно было писать довольно легко и просто почтовых роботов.

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

"дорогой рогалик и D&D, Play By Email. вот тебе очередные ходы: <….>. запроси чятгопоту и пускай оно пришлет ответных ходов. с уважением, твой Dungeon Master "

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

… ну и т.п.

то есть:

для общения с чятгопотой гораздо лучше подошло бы фидо с православным голым дедушкой – а не AJAX и вебсокеты и жсон в браузере

или даже: в фидобраузере

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

вялотекущая шизофрения, которая почти незаметна и никому не мешает

твой пример, похоже, и являет то самое «почти»

честному человеку эта концепция не нужна

интересно (нет) откуда тебе это «известно»

когда я слышу слово духновность, моя рука тянется к револьверу

для чего?

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

разговоры о «более других» архитектурах - это только разговоры.

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

я не говорю, что он идеален.

так если не идеальна эта модель данных и архитектура СУБД – можно сначала попробовать и более другие. а не отказываться от СУБД вообще

но это вполне себе рабочая лошадка.

которую зачастую тоже «используют неправильно». вот например, в браузере – зачем там SQLite для сессии вкладок? или еще более странная чем SQL но еще менее функциональная модель данных?

по большей части, SQLite используется не по назначению.

БД-в-одном файле используется для недоделанной реализации транзакционности на уровне ФС, а не потому что там нужна именно реляционщина.

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

зачем для этого самопальная костыльная БД завязанная именно на реализацию этих костылей в браузере – а не на более открытый, доступный и понятный стандарт СУБД, тот же MUMPS, например?

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

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

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

но это не значит что ими совсем не нужно пользоваться.

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

которую зачастую тоже «используют неправильно». вот например, в браузере – зачем там SQLite для сессии вкладок? или еще более странная чем SQL но еще менее функциональная модель данных?

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

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

потому что мыло - это информация для юзера. как ты будешь читать свою почту в БД?

вот например, тот единственный MUA c грамотной архитектурой: https://manitou-mail.org/

как буду читать?

  1. прочитаю таки документацию про то, как его настраивать.

  2. поставлю один простой компактный клиент под все требуемые системы.

  3. поставлю постгрю и настрою плагины, скрипты и фильтры на перле.

https://manitou-mail.org/doc/mdx/mdx.plugins.html

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

  1. проверю хранимки, плагины, архитектуру СУБД и модели данных – если вдруг соберусь свое что-то писать а не пользоваться готовым. например, добавить в любимый фидобраузер теги для фасетной классификации.

  2. модель данных, хранимки, плагины – всё в вики задокументировано. на всё есть исходники.

нет той проблемы что «внутренная модель данных» ХЗ как устроена. есть схема – если сильно надо, то и в графическом IDEF1/1X ER виде.

нет проблемы «нужно читать документацию чтобы разобраться как оно там устроено».

есть проблема как раз если нет такой документации.

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

суть в том что и SQLite там как правило – не нужен.

а вот какой-то костыль для реализации транзакций и целостности хотя бы части если не всех ACID – как раз нужен.

то есть: в этом конкретном случае SQLite используется – не по назначению

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

ну и

  1. закачаю старую почту из maildir в постгрю скриптом на SQL,

  2. проиндексирую ее скриптом-плагином фильтром на перле

  3. напишу пару правил для MUA, возможно с SQL кодом.

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

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

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

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

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

круче всего это выглядело в каком-нибудь plan 9 с его plan 9 fs = styx протоколе, где «файловая ФС» = сетевой сервер с запросами Open/Read/write/close/walk и т.п.

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

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

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

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

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

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

внезапно, FreeBASIC и конкретно «дистрибутив» WinFBE довольно полно напоминает классический GW-BASIC и соответственно, Visual Basic 4-5.

с нормальными OpenGL, и WebGL привязками. и всяким прочим, включая телнет консоль к мумпсам и call-in inferface: minim_freebasic.html

вообще, даже жалко что Каратаев больше не делает свой MiniMDB и MiniMono – вещи получились внезапно, довольно годные.

впрочем, и без его проприетарщины хватает открытых реализаций мумпса: YottaDB, FreeM, GT.M, O’Kane libmumps.cpp например.

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

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

Не всегда. Я бы даже сказал, что скорее обратное → не зависит и ничего не мотивирует.

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

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

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

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

Чем ты можешь доказать эту практику? Есть какие-то пруфы или общедоступная статистика?

там, где есть понятие KPI, работать вообще не надо

С этим, кстати, не спорю.

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

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

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

Но не все скорбные головой - великие.

Какой смысл утверждать каков Столяров?
Ну вот такой он.
Если самокритично посмотреть, то в нас тоже недостатков много.
Серебряной пули - нет.

anonymous
()

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

Но предложение по поводу хранения всей информации в виде текстовых файлах очень странное. Мне интересно как он из 50 ГБ файла или 10 00 000 файлов будет быстро составлять отчет.

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

Но предложение по поводу хранения всей информации в виде текстовых файлах очень странное.

Здесь всё зависит от задачи.
Вот Microsoft xslx хранит в xml и даже отказались от бинарного формата.
Понять почему они так сделали то можно, но это больше похоже на то, что у них не разработана приемлемая архитектура хранения данных в бинарном формате, поэтому в каждом проекте новый велосипед.

Утверждать, что всегда нужно использовать какого-либо формата текстовые файлы не правильно.

anonymous
()

СУБД требует трудозатрат на установку, настройку и дальнейшее администрирование;

Не настроил и не администрировал…

СУБД способна упасть (и да, падает намного чаще, чем, скажем, тот же апач

…вот оно и падало.

Но @Croco же иксперд, он не может ошибаться! (%

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

Ну вот лично мой опыт, который я ни в коем случае не распространяю «на всех» (как некоторые здесь в треде любят делать) — KPI, это такая штука, которая позволяет в любой момент сказать тебе «Че-то ты не эффективный» или «Че-то ты неинициативный» и порезать тебе ЗП чуть ли не на треть. Причем твои эффективность и инициативность тут не играют вообще никакой роли, всй зависит сугубо от того, насколько чудак на букву М начальник отдела или выше. Также эта срань во всю используется, чтобы не платить в случае «сложностей», можно просто «поставить» всем низкий KPI, и все идут в задницу с недоплатой ЗП.

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

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

Но @Croco же иксперд, он не может ошибаться! (%

Хорошему ыксперту не надо надо что-то щупать, что бы иметь мнение :) Ты только посмотри на всех наших тутошних СПВ.

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

О чем ты вообще? Какой опеннет? Причем он тут?

В форуме иногда говорят, что новости взяты с opennet, …
@dataman конечно создаёт треды о выходе новых проектов, но может быть было удобней отвести для этого специальный раздел.

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

Строго говоря может конечно и упасть, и тупить начать… Другое дело что для этого нужны определенные условия. Например у нас была раньше не очень грамотно спроектирована система лояльности, которая текущий баланс карты вычисляла начиная с самой первой транзакции по карте. Естественно что спустя некоторое время спустя время отклика по некоторым активно используемым картам начало достигать минут. Помню, что меня привлекли тогда к исправлению этой системы))) Но это была достаточно крупная система. Откуда у данного преподавателя столь негативный опыт в использовании СУБД - остаётся только гадать

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

Откуда у данного преподавателя столь негативный опыт в использовании СУБД - остаётся только гадать

Мне кажется, что он просто имеет мнение, а вживую дел с этим не имел по идеологическим причинам.

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

Так для настроения.

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

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

Есть рассказы

Рассказ — плохой аргумент, нужны факты. Кто конкретно был мотивирован в уничтожении артефакта? В чём заключалась заинтересованность: страх истины, национальный конфликт? Эту мотивацию можно как-то проявить, вывести на чистую воду по поведению, заявлениям, практикам, методам работы, иным свидетельствам?

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

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

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

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

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

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

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

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

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

Ну и немало осело в руках британской аристократии которая основательно прошуршала все ценное в колониях.

Qui-Gon ★★★★★
()

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

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

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

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 2)