Найти в Дзене
🔹 OLTP vs OLAP: transactional или аналитическая
? 🔹Чем отличаются OLTP (Online Transaction Processing) и OLAP (Online Analytical Processing) и зачем это нужно? 🔸 OLTP — transactional система для повседневных операций: много коротких транзакций (INSERT/UPDATE), низкая задержка, real-time ответы. Без этого приложение не сможет быстро регистрировать покупки или платежи. 🔸 OLAP — аналитическая система (обычно Data Warehouse) для сложных агрегатов и исторического анализа: оптимизирована для больших чтений и сложных JOIN/AGGREGATE, но не для частых записей...
20 часов назад
🔹 ELT — когда трансформации в базе побеждают
🔹 Что решает ELT и чем отличается от ETL (Extract, Transform, Load)? 🔸 ELT нужен, чтобы убрать узкие места в сети и процессинге: вместо трансформаций до загрузки мы загружаем сырые данные и выполняем обработка в БД (база данных). Это сокращает движение данных и ускоряет итерации аналитиков. 🔸 Ключевое отличие: ETL трансформирует до загрузки; ELT — Extract, Load, then transformation внутри хранилища. В cloud (облаке) хранилища дают масштаб и дорогоэффективный compute для таких transformation...
1 день назад
🔹 Партиционирование таблиц: ускоряем большие таблицы
🔹 Как партиционирование помогает улучшить производительность запросов? 🔸 Партиционирование (partitioning) уменьшает объём данных, которые нужно читать: вместо полного скана таблицы запросы читают только релевантные партиции — это снижает I/O и ускоряет обработку. 🔸 range — хорош для временных рядов: разделяйте по дате, чтобы старые партиции можно было быстро архивировать/удалять без влияния на свежие данные. 🔸 hash — полезен для равномерного распределения данных по партициям, когда нет естественного диапазона; уменьшает «горячие» партиции при высокой конкурентности...
2 дня назад
🔹 GIL: почему Python блокирует потоки (и что с этим делать
) 🔹 Что такое GIL и как он влияет на threading и parallelism? 🔸 GIL (Global Interpreter Lock) появился, чтобы защитить внутреннее состояние CPython — в основном простая реализация счётчика ссылок и структуры объектов. Без GIL пришлось бы тонко синхронизировать доступ на C‑уровне, что сильно усложнило бы реализацию интерпретатора. 🔸 GIL сериализует выполнение байт-кода, поэтому в CPU‑bound (CPU — Central Processing Unit) задачах потоки (threading) в CPython не дают настоящего параллелизма. Для IO (Input/Output) потоков выигрыш остаётся полезным...
3 дня назад
🔹 Монолит vs микросервисы: что брать
? 🔹 Как выбрать между monolith и microservice для простого проекта? 🔸 Monolith решает проблему простоты: все в одном процессе — одна сборка, локальные вызовы функций, простые деплой и отладка. Масштабирование (scalability) обычно вертикальное: больше CPU/RAM для всего приложения. 🔸 Microservice даёт гибкое масштабирование и независимые релизы: маленькие сервисы общаются по Application Programming Interface (API) — сетевые вызовы, можно масштабировать только узкие места. Цена: сеть, оркестрация, мониторинг и сложнее локально дебажить...
4 дня назад
Если нравится — подпишитесь
Так вы не пропустите новые публикации этого канала