TGViewer
Мамкін Архітектор Мамкін Архітектор @mamkin_architect · 3.24K subscribers
Post #693 2.1K
Це буде серія постів про мій досвід з базами даних, або чому мені подобається Redis. Почати хочу, власне, спочатку.

Ще в школі я читав комп'ютерні журнали, і там писали про бази даних. Для мене це було щось складне. База даних. Ого! Там були назви FoxPro, Clipper: настольні бази (доволі примітивні насправді), проте таблиці, індекси, запити мене вражали. А потім це вже став сервер, ти підключаєшся до сервера, і це звучало дуже потужно.

На моїй першій роботі ми масово використовували MS SQL, і на то були свої причини. Одна з них та, що тоді, мабуть, нічого іншого особливо і не було. Реляційні бази — це був way to go, industry стандарт без якихось альтернатив. Та й зараз, коли хтось каже "база даних", у більшості людей в голові буде SQL.

Ну, ви знаєте: нормальні форми, relations, кортежі (шо це?), SQL, ось це все. Думаю, що нормальні форми — це штука, обумовлена обмеженнями тогочасних технологій, тому що storage був доволі дорогим, і треба було думати, як зберігати інформацію ефективно. До речі, я б мабуть не пройшов співбесіду, якби треба було пояснити різницю між третьою та другою нормальною формою, але пам'ятаю, як упарювався, доводячи кастомеру, що дублювати одне поле в двох таблицях не можна, і треба робити третю куди це виносити 🙂

І якщо обрати топ-один причину, чому реляційна база стрельнула, то, мабуть, це саме storage. Інша причина, можливо, в тому, що таблиці в головах людей були дуже схожі на те, з чим вони працювали на папері. На папері ти малюєш таблички, ось тобі таблички в компутері. Спредшити, Excel, а до того Lotus 1-2-3. Метафора з паперу перейшла в застосунки, а потім на сервер (чи спочатку на сервер, якщо згадати мейнфрейми).

Ми писали проги на Delphi, і щоб оновити програму, треба було піти на сервак, скопіювати її на шару, а перед цим прослідкувати, щоб всі люди з неї повиходили, бо файл тримався Windows-сервером. А stored procedure ти просто міняв, і одразу вся логіка застосовувалась у всіх, хто її використовував. Тому не дивно, що ми доволі широко використовували SQL для зберігання бізнес-логіки.

Можна подумати, що я хейтер SQL і насправді його не знаю, а просто хочу будь-що, аби не SQL. Але насправді ніт. Я робив на ньому дуже складні речі, саме на Transact SQL, які, можливо, не варто було б робити на ньому. Працював з тригерами, з транзакціями. Єдине, чого не робив: процедури, які викликають процедури, бо це навіть для мене здавалось занадто. Але працював з кодом, який це використовував, і свого часу вважав себе дійсно експертом. Тому ні, SQL я знаю нормально і вважаю, що можу його критикувати і шукати щось інше.

Проте з часом воно трошки приїдається, настає криза формошльопа, який хоче жити інтересно і бути шпіоном, як казав класик. І тут на сцену виходить NoSQL, але про це буде наступний пост.

Напишіть шо ви думаєте за SQL — норм чи стрьом?
  • ❤ 21
  • 👍 19
  • 🔥 7
  • 🥱 1
More from @mamkin_architect
  1. Oct 7, 2026Хтось не деплоїть по пʼятницях. Ми не деплоїмо, поки триває тривога. Ми різні
  2. Oct 6, 2026Оновив Portainer однією кнопкою Я вже не раз розповідав, як влаштований мій homelab: є сер…
  3. Oct 1, 2026Обіцяв технічні подробиці по Дронам на районі, тому ось вони. Стек частково вже називав: P…
  4. Sep 30, 2026‼️ увага ‼️ Я провтикав і випадково закрив коменти деяким підписникам пару днів назад. Зар…
  5. Sep 30, 2026В Києві останнім часом тривога триває постійно, з дуже короткими перервами. Раніше треба б…
  6. Sep 21, 2026Від умовного Скайнету чи Матриці нас рятувало те, що LLM-ки доволі повільні: довго відпові…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →