Базы данных (Data Base). По всем вопросам @evgenycarter
🟡Пройдите тест по С++
— Ответьте на 20 вопросов и проверьте, насколько хорошо вы знаете язык. Сможете сдать — пройдёте на продвинутый онлайн-курс "C++ Developer. Professional" со скидкой!
🚀На этом курсе вы:
- Научитесь прикладному применению стандартов C++11 / C++14 / C++17.
- Освоите асинхронное и многопоточное программирование.
- Получите глубокое представление о шаблонной магии и паттернах проектирования.
Наглядным результатом вашей работы станет выпускной проект,
👉🏻ПРОЙТИ ТЕСТ ОНЛАЙН-КУРСА ПО C++ https://vk.cc/csCUaCРеклама. Информация о рекламодателе на сайте otus.ru
BLACK FRIDAY by REBRAIN - одно из крупнейших сообществ по IT-инфраструктуре: Скидки до 50% и мини-практикумы в подарок 🎁
Друзья, мы начинаем новую неделю с приятных новостей! С 20 ноября по 3 декабря объявляем новый Sale by REBRAIN.
Вас уже ждут:
- Самая большая скидка 50% на один из самых популярных практикумов - Kubernetes и Kubernetes x Yandex.Cloud.
- Скидки на большие и средние программы
- Мини-практикумы по лучшим ценам
- Мини-практикум в подарок!
- Персональная скидка
Получи необходимые знания и навыки в DevOps, Linux, Networks, Kubernetes, Docker, Ansible, Gitlab CI, Linux, Kafka, MySQL, Golang от опытных профессионалов, работающих в лучших компаниях, таких как Avito, Skyeng, AWS, Luxoft, DataArt и других!
Переходите в наше сообщество и забирайте самые выгодные предложения с экономией до 50.000 рублей
Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2VtzqvgsVUc
Ключевые понятия для понимания разделения баз данных
Разделение баз данных на несколько серверов означает разделение данных на несколько серверов баз данных и обычно используется для масштабирования. Однако при этом возникают значительные операционные и инфраструктурные сложности, которых следует избегать до тех пор, пока это не станет абсолютно необходимым.
Подходы, позволяющие отложить шардинг
Вертикальное масштабирование: Использование более мощных отдельных серверов баз данных - больше процессоров, памяти, хранилищ и пропускной способности каналов ввода-вывода. Это гораздо проще в управлении, чем шардинг, и при этом позволяет значительно расширить систему.
Оптимизация SQL: Настройка SQL-запросов и схемы базы данных для достижения максимальной производительности на одном сервере. Требуются соответствующие индексы, эффективный SQL и т.д.
Кэширование: использование кэшей in-memory, например Redis, для снижения нагрузки на базу данных за счет отсутствия необходимости обращаться к ней при каждом запросе.
Реплики чтения + балансировщик нагрузки: Добавляет горизонтальную масштабируемость чтения без полной сложности шардинга. Направляет чтение между репликами.
Эти подходы к оптимизации должны быть исчерпаны перед шардингом, учитывая его сложность.
#db
👉 @database_info
Почему информационная безопасность – одна из ключевых составляющих успешного бизнеса?
Расскажем на бесплатном открытом уроке «Роль ИБ в бизнесе» от OTUS. Занятие проведет эксперт по кибербезопасности Сергей Терешин, руководитель курса «Информационная безопасность. Professional».
На эфире вы:
- получите понимание важности информационной безопасности в бизнесе и необходимости своевременного обновления мер безопасности;
- поймете, как меняющийся ландшафт угроз влияет на бизнес и как перейти к подходу страхования рисков.
Вебинар будет полезен руководителям отделов и специалистам ИБ, он состоится 21 ноября в 20:00 мск в рамках курса «Информационная безопасность. Professional».
Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/csrQtcРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
SQL. Решаем ТЕСТОВЫЕ ЗАДАНИЯ из AMAZON и FACEBOOK (подробный разбор)
00:00 - Где искать задачи с собеседований IT-компаний?
00:53 - Решаем задачу из Amazon
09:36 - Решаем задачу из Facebook
20:44 - Задача со звездочкой из моей работы. Пишите ваши решения в комментарии!
источник
#db
👉 @database_info
Облачная нативная база данных на основе PostgreSQL, разработанная компанией Alibaba Cloud.
PolarDB for PostgreSQL (далее PolarDB) - это сервис облачных баз данных, разработанный компанией Alibaba Cloud. Этот сервис на 100% совместим с PostgreSQL и использует архитектуру с общим хранилищем, в которой вычисления отделены от хранения данных. Этот сервис отличается гибкой масштабируемостью, задержками на уровне миллисекунд и возможностями гибридной транзакционной/аналитической обработки (HTAP).
https://github.com/ApsaraDB/PolarDB-for-PostgreSQL
#db
👉 @database_info
Это база: нюансы работы с Redis. Часть 1
Cерия статей про неочевидные нюансы работы с Redis.
В первой части Петр, DevOps-инженер компании Nixys, подробно рассказал об основных концепциях и понятиях этой БД и подготовил чек-лист, который может помочь вам в оптимизации этого NoSQL решения.
Приятного чтения!
SQL
С помощью всего нескольких базовых команд можно решить 80% повседневных задач, связанных с данными.
Сосредоточьтесь на понимании JOIN
, SELECT
, UPDATE
, DELETE
и некоторых других фундаментальных команд.
#db
👉 @database_info
⚡️ Как работать с фреймворком Spark еще эффективнее?
Расскажем на бесплатном открытом уроке «Оптимизация Spark» от OTUS, который проведет Вадим Заигрин, ведущий эксперт по Spark, Kafka и Data Engineering.
💻 На вебинаре:
— Рассмотрим типичные проблемы Spark-приложений
— Изучим способы оптимизации
— Познакомимся с Adaptive Query Execution
📢📢 Занятие пройдёт 14 ноября в 20:00 мск и будет приурочено к старту курса «Spark Developer». Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени. После урока вы сможете стать студентом курса на специальных условиях.
➡️ Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/csemRy
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Совет по работе с базой данных ⚡️
Иногда требуется получить, например, три последних заказа для *каждого* клиента. Обычные объединения не могут этого сделать. Приходится выполнять n+1 запросов в коде, что очень медленно!
Но с помощью lateral joins можно сделать циклическое соединение for-each в SQL
MySQL / PostgreSQLSELECT customers.*, recent_sales.*
FROM customers
LEFT JOIN LATERAL (
SELECT *
FROM sales
WHERE sales.customer_id = customers.customer_id
ORDER BY created_at DESC
LIMIT 3
) AS recent_sales ON true;
https://sqlfordevs.com/for-each-loop-lateral-join
#db
👉 @database_info
Уроки по SQL для начинающих | Обучение
Урок #1 - реляционные базы данных. Первичные ключи | sql для начинающих
Урок #2 - создание таблиц. Изменение. Удаление | sql для начинающих
Урок #3 - извлечение данных из базы. Select. Distinct | sql для начинающих
Урок #4 - реляционные и булевы операторы | sql для начинающих
Урок #5 - операторы in, between, like, null | sql для начинающих
Урок #6 - агрегатные функции. Group by. Having | sql для начинающих
Урок #7 - подзапросы | sql для начинающих
Урок #8 - join | sql для начинающих
Урок #9 - insert | sql для начинающих
Урок #10 - экранирование. Приоритет | sql для начинающих
источник
#db
👉 @database_info
Это база: нюансы работы с Redis. Часть 1
Мы в компании Nixys очень любим Redis. Эта база используется если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.
В серии статей я попытаюсь осветить неочевидные нюансы при работе с Redis и сегодня начну с основных концепций и понятий. А еще в конце статьи приведу небольшой чек-лист, который может помочь вам в оптимизации этого NoSQL решения.
https://habr.com/ru/companies/nixys/articles/765694/
#db
👉 @database_info
Изучите тестирование на проникновение на продвинутом уровне
Начните с бесплатного открытого урока «NMAP Scripting» от OTUS и Александра Колесникова – вирусного аналитика в международной компании. https://vk.cc/cs5tsS
На эфире разберём:
- как работает самый популярный софт для исследования сети;
- как с его помощью можно взаимодействовать с сетью;
- основные режимы работы nmap;
- написание простого скрипта для показа данных из сетевых пакетов.
Занятие пройдёт 7 ноября в 20:00 мск и будет приурочено к старту курса «Пентест. Практика тестирования на проникновение». После урока вы сможете продолжить обучение в рассрочку.
Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/cs5tsSРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Открытый практикум Networks by Rebrain: Просто о сложном: FreeSWITCH 2
Успевайте зарегистрироваться. Количество мест строго ограничено! Запись практикума “DevOps by Rebrain” в подарок за регистрацию!
👉Регистрация
Время проведения:
2 Ноября (Четверг) в 19:00 по МСК
Программа практикума:
🔹Поговорим о dialplan (как строить IVR, Time of Day routing)
🔹Поговорим о модулях FreeSWITCH
🔹Рассмотрим как можно интегрировать FS с СУБД
🔹Поговорим о том, как сделать FS отказоустойчивым
🔹Multi tenant
Кто ведёт?
Роман Сыртланов – VoIP инженер. Опыт работы с VoIP 7 лет. Опыт преподавания на онлайн платформах 1 год. Работаю с Asterisk/FreeSWITCH/Kamailio
Бесплатные практикумы по DevOps, Linux, Networks и Golang от REBRAIN каждую неделю. Подключайтесь!
Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2VtzqvgsVUc
Как базы данных выполняют SQL-запросы?
Процесс выполнения SQL-запросов в базе данных включает в себя несколько компонентов, взаимодействующих между собой. Хотя конкретная архитектура различных систем баз данных может отличаться, ниже описана общая последовательность действий.
1. Оператор SQL запускается в клиентской программе и передается по сети на сервер базы данных.
2. Когда сервер базы данных получает SQL-оператор, реляционный движок начинает его обработку. Сначала синтаксический анализатор проверяет правильность оператора. Затем он преобразует оператор в дерево запросов, которое представляет собой внутреннюю структуру данных.
3. Оптимизатор запросов просматривает дерево запросов и определяет наиболее эффективный способ выполнения SQL-оператора, создавая план выполнения.
4. План выполнения передается исполнителю запроса, который использует его для координации получения или изменения данных в соответствии с запросом SQL. Для доступа к данным исполнитель взаимодействует с движком хранилища.
5. Движок хранилища использует методы доступа - протоколы чтения и записи данных, наиболее эффективные для выполнения различных операций.
6. При чтении данных менеджер буферов проверяет, кэшированы ли нужные данные в памяти, и при необходимости извлекает их с диска. Это ускоряет последующий доступ.
7. При записи данных со вставкой или обновлением менеджер транзакций следит за тем, чтобы изменения происходили атомарно и сохраняли целостность базы данных.
8. В то же время менеджер блокировок накладывает блокировки, чтобы несколько транзакций могли выполняться одновременно, не конфликтуя между собой. Таким образом, обеспечивается изоляция и согласованность.
Работая вместе, эти компоненты обеспечивают надежную и эффективную обработку SQL-запросов в системе управления базами данных.
#db
👉 @database_info
Горизонтальное и вертикальное шардирование
Существует два высокоуровневых подхода:
Вертикальное шардирование: Разделение базы данных на колоночные таблицы или секции по сравнению со строками. Например, одна таблица для имен, другая - для электронной почты.
Горизонтальное разделение: Разделение базы данных на разделы строк, равномерно распределенные по нескольким серверам.
Некоторые методы горизонтального разделения:
1. На основе диапазона: Сегментирование строк на основе диапазона значений, например возрастных групп. Может привести к неравномерному распределению данных и появлению "горячих точек".
2. На основе каталога: Использование каталога для поиска строк. Обеспечивается гибкость, но возникает риск возникновения единой точки отказа.
3. На основе хеширования: Применение хэш-функций для равномерного распределения строк по хранилищам. Сложнее перебалансировать.
При разбиении на сегменты следует использовать самый простой подход, отвечающий требованиям, чтобы минимизировать сложность. Старайтесь избегать этого до тех пор, пока не возникнет необходимость.
#db
👉 @database_info
Новое в SQL Server 2022: Обзор использования Intel QuickAssist
В SQL Server 2008 Enterprise Edition в команду резервного копирования T-SQL была добавлена опция сжатия резервных копий, в команде для этого нужно прописать WITH COMPRESSION. Эта опция обеспечивает возможность сжатия для всех типов потокового резервного копирования SQL Server — полного, разностного и копий журнала транзакций. Инструкция RESTORE распаковывает сжатые файлы резервной копии используя метаданные в заголовке файла копии. Сжатие данных в резервных копиях выгодно по двум причинам: во-первых, файлы резервных копий будут занимать меньше места, а во-вторых, поскольку передается меньше байтов, резервное копирование выполняется быстрее, чем для несжатых резервных копий. По умолчанию в SQL Server резервные копии не сжимаются, но многие меняют это значение по умолчанию сразу глобально, используя sp_configure.
Rus https://habr.com/ru/articles/773564/
Eng https://cloudblogs.microsoft.com/sqlserver/2023/03/09/sql-server-2022-intel-quickassist-technology-overview/
#db
👉 @database_info
Как успешно автоматизировать воронку продаж через Битрикс24?
Узнайте на бесплатном открытом уроке «Автоматизация воронки продаж в Битрикс24. Примеры из реальных проектов» от OTUS.
На эфире:
- Рассмотрим основные роботы и активити бизнес-процессов для автоматизации воронок
- Разберем принципы инструментов продаж: контрольные точки и реактивацию/реанимацию
- Настроим автоматизацию воронки с применением инструментов продаж
Также вы получите бонус – живые цифры проекта по инструменту реактивации! Вебинар будет особенно полезен сисадминам, аналитикам, маркетологам и руководителям.
Занятие пройдёт 20 ноября в 20:00 мск и будет приурочено к старту курса «Интегратор Битрикс24».
Для бесплатного участия и получения записи регистрируйтесь прямо сейчас: https://vk.cc/cso1XUРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Команды SQL в двух словах
#db
👉 @database_info
Бесплатный практический вебинар: Рабочий день аналитика данных.
⏰ Когда: 15 ноября в 19:00 по мск.
✔️Погружаемся в профессию и составляем отчет о продажах интернет-магазина.
✔️Покажем, какие задачи решают аналитики данных, какие проекты реализуют и как помогают бизнесу принимать решения и расти.
✔️Расскажем, как пройти собеседование, найти удаленную работу и начать менять свою жизнь уже сегодня.
🎁 Дарим скидку 100 000 рублей на курс «Аналитик данных» и 20 000 рублей депозит до 19 ноября, а еще + 6 месяцев сопровождения наставника и карьерного трека после обучения!
Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670. erid: LjN8K3yn1
Как получить id вставленной записи в mysql?
Вы можете использовать LAST_INSERT_ID() чтобы получить id последней вставленной записи в MySQL, ниже пример запроса на MySQL:# INSERT INTO your_table (col1, col2,...) VALUES ('val1', 'val2'...);
SELECT LAST_INSERT_ID();
#db
👉 @database_info
Как реагировать на кибератаки и предотвращать их?
Разберём на бесплатном открытом уроке «Работа с инцидентами» от OTUS и Анастасии Порхун.
На эфире вы узнаете:
- про цикл активной киберзащиты;
- превентивные меры контроля для противодействия злоумышленникам;
- существующие модели реагирования на инциденты.
Занятие пройдёт 9 ноября в 20:00 мск и будет приурочено к старту курса «Реагирование на инциденты ИБ». После урока вы сможете продолжить обучение на специальных условиях.
Для бесплатного участия и получения записи пройдите короткое вступительное тестирование прямо сейчас: https://vk.cc/cscWMcРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
SQL and NoSQL Databases: Modeling, Languages, Security and Architectures for Big Data Management, 2nd Edition
Автор: Andreas Meier (2023)
Данный учебник предлагает комплексное введение в реляционные (SQL) и нереляционные (NoSQL) базы данных. Авторы подробно рассматривают современное состояние средств и методов работы с базами данных и анализируют грядущие новинки.
Авторы подробно анализируют управление, моделирование, языки, безопасность и архитектуру реляционных баз данных, графовых баз данных и баз данных документов. Кроме того, представлен обзор других подходов к базам данных на основе SQL и NoSQL.
#db
👉 @database_info
Шпаргалка Cloud Database Landscape
#db
👉 @database_info
Хотите узнать секрет оптимизации SQL-запросов?
Очень важно понимать порядок выполнения.
В SQL-запросе операторы выполняются в следующем порядке:
1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ПОРЯДОК СЛЕДОВАНИЯ
8. LIMIT / OFFSET
#db
👉 @database_info
Реляционные базы данных
Принцип работы реляционных баз данных. В этой статье рассказывается о том, как работают индексы и транзакции внутри реляционных баз данных.
Часто удивляет, как мало известно о работе баз данных на поверхностном уровне, учитывая, что в них хранится почти все состояние наших приложений. Тем не менее, это является основой успеха большинства систем. Поэтому сегодня я расскажу о двух наиболее важных темах при работе с RDBMS - индексах и транзакциях.
Итак, не углубляясь в специфические причуды баз данных, я расскажу обо всем, что вы должны понимать об индексах RDBMS. Вкратце я коснусь транзакций и уровней изоляции, а также того, как они могут повлиять на ваши рассуждения о конкретных транзакциях.
https://architecturenotes.co/things-you-should-know-about-databases/
#db
👉 @database_info