Точка входа в программирование
20.1K subscribers
1.27K photos
222 videos
2 files
2.8K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
加入频道
💾 SQL vs NoSQL: основные отличия

База данных — сердце любого сервиса: именно она хранит заказы, профили, лайки, логи. Условно все СУБД делят на два лагеря. Реляционные (SQL) следуют строгой схеме и хранят данные в таблицах. Нереляционные (NoSQL) признают более свободный порядок: документами, ключ-значением, графами. Как понять, что подходит проекту?

Что такое SQL в реальности

SQL-база — словно бухгалтерская книга. Колонки описываются заранее, каждая запись проверяется по правилам, а изменения проходят через защищённые транзакции с гарантией «всё-или-ничего» (ACID). Поэтому:

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

Типичные представители: PostgreSQL, MySQL, Oracle.

Чем живёт NoSQL

NoSQL напоминает открытую мастерскую: форму деталей никто заранее не фиксирует, главное — быстро принимать и выдавать. Данные складываются целиком (JSON-документы), по ключу в памяти или узлами в графах. Отличительные черты:

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

Популярные решения: MongoDB (документы), Redis (ключ-значение), Cassandra (колонки), Neo4j (графы).

В зрелых проектах обе технологии живут бок о бок. SQL хранит финансы и критичные связи; NoSQL — всё, что растёт особенно быстро или не вписывается в жёсткую схему. Правило простое: если запись нельзя потерять или нужно соединить несколько таблиц одной командой — кладите её в SQL. Всё остальное, что требует гибкости и масштабируется пачками узлов, смело отдавайте NoSQL.

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

Какую базу данных вы используете чаще – реляционную или NoSQL? Делитесь опытом!

#бд #sql #nosql
👍51
Рекурсия в SQL

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

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

#sql
👍6