Базы данных (Data Base). По всем вопросам @evgenycarter
🤔Что происходит на рынке баз данных в свете импортозамещения?
🔥Обсудим этот злободневный вопрос на бесплатном открытом уроке 26 февраля вместе с Сергеем Окатовым — руководителем управления разработки, Fullstack-разработчик с опытом >10 лет
✅Если вы бэкенд-разработчик, аналитик, тимлид, архитектор или занимаетесь вопросами миграции, этот урок — для вас. Мы обсудим мировые тенденции в сфере баз данных, рассмотрим предложения от отечественных производителей, а также сравним их с зарубежными аналогами. Разберемся, как обстоят дела на российском рынке и какие проблемы требуют решения.
👉🏻Этот открытый урок – хороший шанс расширить знания и получить свежие инсайты о рынке баз данных. Больше актуальных знаний ждут вас на онлайн-курсе OTUS “NoSQL”. Осталось меньше половины мест. Курс можно приобрести в рассрочку.
🤝Чтобы записаться на открытый урок, пройдите вступительный тест!
Шпаргалка по основам SQL
#db
👉 @database_info
Хотите попробовать себя в роли аналитика и попрактиковаться на реальных задачах? Приходите на бесплатный курс-симулятор Нетологии и Yandex Cloud «Основы анализа данных в SQL, Python, Power BI, DataLens».
В этой профессии много разных направлений — аналитик данных, BI-аналитик, продуктовый аналитик, Data Scientist. Но везде пригодится навык работы с инструментами-помощниками, которые вы и освоите на курсе.
Эксперты-практики расскажут, как делать простые отчёты, исследовать данные и строить интерактивные дашборды. А чтобы понять, что анализ данных — это точно ваше, вместе решите практические задачи из реальных кейсов.
Воспользуйтесь шансом попробовать новые инструменты и запишитесь на бесплатный курс Нетологии.
Регистрация: https://netolo.gy/cUII
Реклама. ООО "Нетология". Erid LatgCAGM7
Мастхэв для инженеров инфраструктуры, плюс для программистов
26 февраля стартует 6 поток Apache Kafka для разработчиков. Это углублённый курс с практикой на Java или Golang и платформой Spring+Docker+Postgres. Мы расскажем и покажем, как выйти на новый уровень владения инструментом.
Что вы получите:
👉 Узнаете , как использовать Kafka при создании приложения.
👉 Решите реальные бизнес-кейсы.
👉 Получите типовые шаблоны проектирования: они облегчат разработку на начальном этапе.
👉 Узнаете о большинстве частых ошибок, и научитесь их избегать.
Что в программе?
В курсе 28 онлайн-уроков, готовые стенды, много-много практики и закрытый чат с кураторами. Коротко о программе:
➡️ Терминология. В подробностях и с примерами расскажем, что такое нода, датацентр, кластер, ZooKeeper, консумер, топик и так далее.
➡️ Как выстроена архитектура Kafka.
➡️ Основы брокера. Разберем, как создать топик, настроить продюсер и консумер.
➡️ Как выстраивать архитектуру между микросервисами.
➡️ Наиболее распространенные проблемы при использовании приложения.
✔️ Регистрируйся на сайте и начни учиться бесплатно!
Записаться можно по ссылке.
Реклама. ООО «Слёрм» г. Лиски, ОГРН 1193668020545 Erid: 2Vtzqx1p7vF
Освойте DevOps с курсом Академии Кодебай и станьте экспертом в разработке и эксплуатации программного обеспечения
🔗 Программа рассчитана на 4 месяца обучения, в течение которых вы сможете изменить свою профессию или вырасти в должности. После каждого модуля уровень востребованности вас как специалиста будет повышаться.
💎 Вы освоите:
- Контейнеризацию и оркестрацию с использованием Docker и Kubernetes
- CI/CD
- Основы Linux и Git
- Компьютерные сети, базы данных и Bash-скрипты
- Мониторинг и управление жизненным циклом приложений
- Системы управления конфигурацией
👨💻 Для кого:
- Разработчиков, стремящихся к автоматизации и оптимизации процессов
- Системных администраторов
- Руководителей проектов, которые хотят повысить эффективность своей команды
📆 Старт курса: 19 февраля
📌 Узнать подробнее о курсе
Написание минимальной подсистемы хранения данных в памяти для MySQL/MariaDB
Я потратил неделю, копаясь во внутренностях MySQL/MariaDB вместе с ещё примерно 80 разработчиками. Хотя MySQL и MariaDB — это, по большей части, одно и то же (я ещё к этому вернусь), я сосредоточился именно на MariaDB.
Раньше я никогда сам не собирал MySQL/MariaDB. В первый день «недели хакерства» я смог наладить локальную сборку MariaDB и твикнул код так, что запрос SELECT 23 возвращал 213. Сделал я и другой твик — такой, что запрос SELECT 80 + 20 возвращал 60. На второй день я смог заставить заработать простую UDF на C, благодаря которой запрос SELECT mysum(20, 30) давал 50.
Остаток недели я потратил, пытаясь разобраться с тем, как сделать минимальный движок для хранения данных в памяти. Именно о нём я и расскажу. Это — 218 строк кода на C++.
Мой движок поддерживает команды CREATE, DROP, INSERT и SELECT для таблиц, поля которых могут хранить только данные типа INTEGER. Он не является потокобезопасным. Я таким его и делал, так как у меня не было времени для того чтобы разобраться с блокировочными примитивами MariaDB.
Здесь я расскажу и о том, как API MariaDB для создания пользовательских хранилищ информации соотносится с подобным API Postgres. Это сравнение я смог провести на основании опыта, полученного при создании проекта на предыдущей хак‑неделе.
Весь код для этого материала можно найти в моём форке MariaDB на GitHub.
https://habr.com/ru/companies/wunderfund/articles/789640/
original https://notes.eatonphil.com/2024-01-09-minimal-in-memory-storage-engine-for-mysql.html
#db
👉 @database_info
Practical SQL: A Beginner's Guide to Storytelling with Data
Автор: Anthony DeBarros (2022)
Книга служит быстрым введением в язык SQL, используемый для работы с реляционными базами данных. Вы научитесь выполнять сложные запросы данных вроде агрегации, фильтрации и поиска шаблонов, создавать и администрировать базы данных, работая с PostrgreSQL и pgAdmin.
Во время чтения книги вы научитесь:
✔Определять правильные типы данных для вашей информации;
✔Использовать основные математические и статистические функции;
✔Агрегировать, сортировать и фильтровать данные, чтобы находить шаблоны;
✔Выявлять ошибки в данных и исправлять их.
#db
👉 @database_info
⚡️ Совет по работе с базами данных 💡
Иногда вы хотите сделать столбцы уникальными, но не можете сделать это, потому что, например, в таблице все еще существуют строки, помеченные как удаленные, с тем же значением. Тем не менее, вы можете создать это ограничение, включив только неудаленные строки.
#db
👉 @database_info
🖥 Подкаст «Техно.Логично»: Data Science и машинное обучение
Как рассказать бабушке о своей работе, чтобы она поняла и не испугалась? Как отбиться от офферов крупных компаний, если твоя профессия считается одной из самых модных и востребованных в современном мире?
Вечные вопросы, над которыми ломают голову поколения дата-сайентистов. Чтобы найти ответы, мы пригласили в новую студию подкаста «Техно.Логично» коллег из Департамента анализа данных и моделирования Газпромбанка: управляющего директора Андрея Анисимова и главного аналитика-исследователя Ирину Скорынину.
Ребята рассказали:
🔹Где в Газпромбанке применяются математические модели
🔹Сможет ли ИИ заменить людей в машинном обучении
🔹Почему работать в Data Science стало так престижно – и всем ли туда нужно стремиться
🔹Если вы решили, что вам нужно – то как выбрать подходящий онлайн-курс по машинному обучению
Посмотреть и послушать:
🖤YouTube
📱Apple Podcasts
🎵Яндекс Музыка
🎁 Бонус – конкурс в конце выпуска
В подкасте обновилась не только студия, но и приз за победу в конкурсе – теперь это Яндекс Станция с голосовым помощником!
Условия конкурса к выпуску о Data Science: у Газпромбанка есть очень большая витрина с данными клиентов, которую используют для обучения математических моделей. Предположите в комментариях к видео, сколько столбцов у этой витрины? Автор наиболее точного ответа получит колонку с Алисой 🥹
Реклама Банк ГПБ (АО), ИНН: 7744001497, erid:2Vtzqucm1mQ
Подборка Telegram каналов для программистов
Системное администрирование 📌
/channel/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
/channel/sysadminof Книги для админов, полезные материалы
/channel/i_odmin Все для системного администратора
/channel/i_odmin_book Библиотека Системного Администратора
/channel/i_odmin_chat Чат системных администраторов
/channel/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
/channel/sysadminoff Новости Линукс Linux
/channel/tikon_1 Новости высоких технологий, науки и техники💡
/channel/mir_teh Мир технологий (Technology World)
/channel/rust_lib Полезный контент по программированию на Rust
/channel/golang_lib Библиотека Go (Golang) разработчика
/channel/itmozg Программисты, дизайнеры, новости из мира IT.
/channel/phis_mat Обучающие видео, книги по Физике и Математике
/channel/php_lib Библиотека PHP программиста 👨🏼💻👩💻
/channel/nodejs_lib Подборки по Node js и все что с ним связано
/channel/ruby_lib Библиотека Ruby программиста
1C разработка 📌
/channel/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
/channel/cpp_lib Библиотека C/C++ разработчика
/channel/cpp_knigi Книги для программистов C/C++
/channel/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
/channel/pythonofff Python академия. Учи Python быстро и легко🐍
/channel/BookPython Библиотека Python разработчика
/channel/python_real Python подборки на русском и английском
/channel/python_360 Книги по Python Rus
Java разработка 📌
/channel/BookJava Библиотека Java разработчика
/channel/java_360 Книги по Java Rus
/channel/java_geek Учим Java на примерах
GitHub Сообщество 📌
/channel/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
/channel/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
/channel/developer_mobila Мобильная разработка
/channel/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
/channel/frontend_1 Подборки для frontend разработчиков
/channel/frontend_sovet Frontend советы, примеры и практика!
/channel/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
/channel/game_devv Все о разработке игр
Вакансии 📌
/channel/sysadmin_rabota Системный Администратор
/channel/progjob Вакансии в IT
Чат программистов📌
/channel/developers_ru
Библиотеки 📌
/channel/book_for_dev Книги для программистов Rus
/channel/programmist_of Книги по программированию
/channel/proglb Библиотека программиста
/channel/bfbook Книги для программистов
/channel/books_reserv Книги для программистов
БигДата, машинное обучение 📌
/channel/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
/channel/bookflow Лекции, видеоуроки, доклады с IT конференций
/channel/coddy_academy Полезные советы по программированию
QA, тестирование 📌
/channel/testlab_qa Библиотека тестировщика
Шутки программистов 📌
/channel/itumor Шутки программистов
Защита, взлом, безопасность 📌
/channel/thehaking Канал о кибербезопасности
/channel/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
/channel/ux_web Статьи, книги для дизайнеров
Английский 📌
/channel/UchuEnglish Английский с нуля
Математика 📌
/channel/Pomatematike Канал по математике
Excel лайфхак📌
/channel/Excel_lifehack
Оптимизация SQL-запросов в 23 раза!!!
https://dev.to/navneet7716/optimizing-sql-queries-h9j
#SQL
👉 @database_info
Курс по SQLAlchemy. Часть 2
СЛОЖНЫЕ запросы: JOIN, CTE, Подзапрос, Оконные функции #8
Введение в RELATIONSHIP - вся МОЩЬ ORM #9
Продвинутые RELATIONSHIP + индексы и constraints на уровне БД #10
Pydantic DTO и FastAPI + SQLAlchemy #11
Связь МНОГИЕ-КО-МНОГИМ #12
Alembic Миграции Базы Данных #13
источник
#SQL
👉 @database_info
⚡️ Совет по работе с базами данных 💡
Удаление сотен тысяч строк происходит медленно, влияет на производительность и не освобождает выделенное дисковое пространство. Но вы можете удалить старые данные очень эффективно, если разделите таблицу на временные диапазоны и удалите один из них.
#SQL
👉 @database_info
Совет по работе с базой данных 💡
Иногда вы хотите получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять n+1 запросов в коде, что очень медленно!
Но с помощью lateral joins
вы можете сделать циклическое соединение for-each в SQL
https://sqlfordevs.com/for-each-loop-lateral-join
#SQL
👉 @database_info
Открытый практикум Linux by Rebrain: DWARF's, ELF's & ptrace или как работает ваш дебагер. Часть 2
Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!
👉Регистрация
Время проведения:
14 Февраля (Февраля) в 20:00 по МСК
Программа практикума:
🔹Разберём устройство современного дебагера
🔹Научимся использовать системный вызов ptrace
🔹Рассмотрим форматы ELF и DWARF
🔹Напишем простой отладчик, используя полученные знания
Кто ведёт?
Константин Деревцов – Rust разработчик в компании picodata (picodata.io)
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2Vtzqx7geoV
CS50 Введение в базы данных SQL
Introduction
Lecture 0 - Querying
Lecture 1 - Relating
Lecture 2 - Designing
Lecture 3 - Writing
Lecture 4 - Viewing
Lecture 5 - Optimizing
Lecture 6 - Scaling
источник
#db
👉 @database_info
"Эксперты" SQL до сих пор спорят, что быстрее: IN, EXISTS или JOIN. Будьте осторожны: они ничего не понимают в базах данных SQL.
SELECT ... FROM o WHERE ... IN ( SELECT ... FROM i )
это join💡.
База данных может выполнить его как semi-join from (o) to (i) , или как join from (distinct i) to (o)
#db
👉 @database_info
Пошаговое руководство по чтению и пониманию SQL-запросов
SQL, или язык структурированных запросов, - это язык программирования для управления и обработки данных в реляционной системе управления базами данных (РСУБД). Это стандартный язык, используемый во многих компаниях для обеспечения беспрепятственного доступа к данным. Поскольку он широко используется, при приеме на работу SQL обычно указывается в качестве одного из необходимых навыков. Поэтому изучать SQL просто необходимо.
Одна из распространенных проблем при изучении SQL - понимание запросов, в основном когда их пишет другой человек. В компаниях мы работаем в команде, и нам часто приходится читать и понимать их SQL-запросы. Поэтому нам необходимо практиковаться в деконструкции SQL-запросов и их понимании.
В этой статье мы рассмотрим пошаговый процесс чтения и понимания SQL-запросов. Как это сделать? Давайте разберемся в этом.
https://www.kdnuggets.com/a-step-by-step-guide-to-reading-and-understanding-sql-queries
#db
👉 @database_info
Как в СУБД реализовать администратора без прав доступа к данным
В СУБД-строении есть не новая, но не теряющая актуальности задача. Сформулировать её можно примерно так: как убрать возможность суперпользователя взаимодействовать с данными, но оставить ему все возможности по управлению СУБД? Эта функция затребована не только большими компаниями с жёсткими требованиями к информационной безопасности, но и крайне нужна всем, кто попадает под различного вида государственные регуляции, вроде приказа ФСТЭК №64 или страшного GDPR.
Всё это необходимо, чтобы закрыть риски, связанные с доверием как к самому DBA, так и обезопасить себя на случай угона учётной записи злоумышленником.
В этой статье мы хотим поговорить о том, какие есть подходы к решению этой проблемы, какие можно найти реализации на рынке, и что решили сделать мы в Postgres Professional.
Одним из возможных решений данной задачи является введение классической ролевой модели, в рамках которой нас интересует выделение следующих ролей:
Администратор СУБД;
Администратор БД (он же владелец данных);
Администратор безопасности.
https://habr.com/ru/companies/postgrespro/articles/788268/
#db
👉 @database_info
Облачные базы данных: Шпаргалка
В современном мире, основанном на данных, выбор правильной базы данных имеет решающее значение и в то же время сложен. Сейчас облако предлагает больше возможностей для структурированных, полуструктурированных и неструктурированных баз данных, чем когда-либо. Эта шпаргалка поможет выбрать наиболее подходящую для ваших нужд.
Структурированные базы данных📌
Структурированные базы данных организуют данные в предопределенные схемы и модели.
Реляционные базы данных, такие как MySQL и PostgreSQL, хранят данные в таблицах со строками и столбцами.
Колоночные базы данных, такие как Amazon Redshift и Google BigQuery, также имеют структурированную модель данных, но хранят их по-другому, оптимизируя для аналитических запросов.
Преимущества:
- Эффективные SQL-запросы
- Возможность применения ограничений и валидации
- Последовательность там, где это необходимо
Примеры использования: CRM-системы, управление запасами, бухгалтерский учет, аналитика
Полуструктурированные базы данных📌
Полуструктурированные базы данных обеспечивают гибкость, храня данные без соблюдения формальной схемы. Данные часто хранятся в виде JSON или других гибких форматов.
Примеры включают в себя документ-базы данных, такие как MongoDB, графовые базы данных, наподобие Neptune, широкие колоночные хранилища, такие как ScyllaDB, и хранилища ключ-значение, такие как DynamoDB.
Преимущества:
- Гибкость для изменяющихся данных
- Масштабируемость на разных серверах
Примеры использования: Электронная коммерция, ленты социальных сетей, данные IoT
Неструктурированные базы данных📌
Неструктурированные базы данных оптимизированы для хранения и обработки огромных объемов разнородных данных, таких как документы, изображения, видео. Примеры: AWS S3, Azure Blob Storage.
Преимущества:
- Хранение огромных объемов данных
- Высокая масштабируемость
Примеры использования: Медиарепозитории, управление контентом, океаны данных, журнальные данные, резервное копирование.
#db
👉 @database_info
Learn PostgreSQL
Author: Luca Ferrari, Enrico Pirozzi (2023)
Последнее издание этой книги по PostgreSQL поможет вам начать использовать PostgreSQL с абсолютного нуля и быстро разобраться во внутренней работе базы данных. Благодаря структурированному подходу и практическим примерам вы пройдете путь, охватывающий основы, от SQL-запросов и запуска серверных программ до конфигурирования, управления, защиты и оптимизации производительности базы данных.
Это новое издание не только поможет вам разобраться со всеми последними изменениями в экосистеме PostgreSQL, но и углубиться в такие понятия, как разбиение на разделы и репликация, с помощью нового набора примеров. Книга также снабжена образами Docker для каждой главы, что делает процесс обучения более быстрым и легким. Начав с абсолютных основ баз данных, книга переходит к таким продвинутым концепциям, как оконные функции, ведение журнала, аудит, расширение базы данных, конфигурация, разделение и репликация. Книга также поможет вам легко перенести существующую систему баз данных на PostgreSQL и содержит отдельную главу, посвященную аварийному восстановлению. В конце каждой главы приведены практические вопросы, позволяющие регулярно проверять полученные знания.
К концу этой книги вы сможете устанавливать, настраивать, управлять и разрабатывать приложения для баз данных PostgreSQL.
#db
👉 @database_info
PRQL
Pipelined Relational Query Language, произносится как "Приквел".
PRQL - это современный язык для преобразования данных - простая, мощная, конвейерная замена SQL. Как и SQL, он читабелен, ясен и декларативен. В отличие от SQL, он формирует логический конвейер преобразований и поддерживает такие абстракции, как переменные и функции. Его можно использовать с любой базой данных, использующей SQL, поскольку он компилируется в SQL.
https://github.com/PRQL/prql
#db
👉 @database_info
Сравнение векторных БД
https://vdbs.superlinked.com/
#SQL
👉 @database_info
Открытый практикум Linux by Rebrain: Файловые системы
Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!
👉Регистрация
Время проведения:
17 Января (Среда) в 20:00 по МСК
Программа практикума:
🔹Blocks, inodes, directoryes
🔹Hardlinks
🔹Superblock
🔹Восстановление суперблока на примере ext4
Кто ведёт?
Андрей Буранов – Системный администратор в департаменте VK Play. 10+ лет опыта работы с ОС Linux. 8+ лет опыта преподавания. Входит в топ 3 лучших преподавателей образовательных порталов.
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2VtzqutyuX6
Курс по SQLAlchemy. Часть 1
Зачем Учить SQLAlchemy ORM
Подключение к Базе Данных, сырые SQL запросы через engine #2
Создание таблиц и вставка данных через Core #3
Session и первые шаги в ORM #4
Создание таблиц через КЛАССЫ - Mapped и mapped_column #5
SELECT и UPDATE запросы через ORM и Core #6
Базовые SELECT запросы #7
источник
#SQL
👉 @database_info
Ожидания пользователей > реальное приложение – почему так?
Расскажет опытный эксперт на бесплатном практическом уроке «CAP-теорема и управление ожиданиями пользователей» от OTUS.
На вебинаре разберём:
1. Введение в CAP-теорему
2. Технические ограничения и ожидания пользователей
3. Реальные кейсы и способы решения
Урок будет полезен для разработчиков, сисадминов, аналитиков, DevOps и архитекторов.
Занятие пройдёт 23 января в 20:00 мск и будет приурочено к старту курса «Microservice Architecture». Доступна рассрочка на обучение.
Как создавать резервные копии и восстанавливать базы данных PostgreSQL
Некоторое время назад мне понадобилось создать резервную копию базы данных PostgreSQL с продакшен-сервера, чтобы устранить проблему, которую было сложно воспроизвести в тестовой среде. Оказалось, что я не могу быстро найти ответ с помощью поиска в Google. Через некоторое время мне удалось выяснить, какие команды нужно использовать, и мне показалось хорошей идеей поделиться этими знаниями.
https://mydeveloperplanet.com/2023/05/10/how-to-backup-and-restore-a-postgresql-database/
#SQL
👉 @database_info