🔥 Почему Cassandra становится выбором лидеров в мире больших данных?
На открытом вебинаре 4 декабря в 20:00 мск мы расскажем все о ее возможностях!
Cassandra — это не просто база данных. Это мощный инструмент для работы с большими объемами данных, масштабирования и обеспечения высокой доступности. Узнайте, почему она настолько популярна и как используется в разных отраслях.
💡 Реальные кейсы, примеры внедрения, уникальные преимущества — вебинар поможет вам понять, как именно Cassandra может улучшить управление данными и сэкономить ресурсы.
Вебинар пройдет в рамках курса «Cassandra для разработчиков и администраторов», все посетители получат welcome-скидку на обучение.
🔗 Ссылка на регистрацию: https://clck.ru/3EsEcaРеклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
#Вопросы_с_собеседования
Как выполнить сопоставление без учёта регистра с использованием регулярных выражений в PostgreSQL?
Чтобы выполнить сопоставления без учета регистра с использованием регулярного выражения, мы можем использовать выражение POSIX (~*) из операторов сопоставления с образцом. Например:
'interviewbit' ~* '.*INTervIewBit.*'
Установка значения по умолчанию для NULL
Предположим, у вас есть таблица Users с полями Name и Email. Некоторые строки имеют NULL в поле Email. Вы хотите выбрать все имена и электронные адреса, но для строк с NULL в Email вы хотите установить значение по умолчанию, например, 'no-еmail@example.c0m'.
#Вопросы_с_собеседования
В чем заключается основной недостаток удаления данных из существующей таблицы с помощью команды DROP TABLE?
Хотя команда DROP TABLE позволяет полностью удалить данные из существующей таблицы, у не` есть недостаток — она удаляет полную структуру таблицы из базы данных. Из-за этого нам нужно заново создать таблицу для хранения данных.
Вебинар «Анализируем транзакции в реальном времени»
Приходите на бесплатный вебинар и узнайте, как обрабатывать высокие транзакционные и аналитические нагрузки в гибридной in-memory СУБД.
Дата и время: 28 ноября, 16:00.
Программа
🔹 Ускорение аналитических расчетов и аналитика на самых свежих данных с помощью HTAP-систем.
🔹 Основные архитектурные характеристики гибридных транзакционно-аналитических СУБД (HTAP).
🔹 Повышение отказоустойчивости транзакционно-аналитических решений, настройка под разные профили нагрузки и интеграция с другими компонентами ИТ-ландшафта.
Проведем демонстрацию возможностей продукта Tarantool Column Store в работе с объектами и данными.
Расскажем, как формировать отчетность в реальном времени и рассчитывать агрегаты в антифрод-системах с помощью продукта Tarantool Column Store.
Вебинар будет полезен архитекторам, дата-инженерам, DevOps-инженерам и разработчикам аналитических систем.
Регистрируйтесь, и вам придет ссылка на трансляцию в день мероприятия.
👩💻 Обучение программированию с нуля
Друзья, появился новый канал по обучению разных IT технологий.
Изучение Python
Изучение JavaScript
Изучение HTML/CSS
Изучение Java
Изучение C/С++
Изучение С#
Изучение SQL
👉 Подписывайся на TechVibe, будет интересно.
❓Хотите анализировать данные на уровне профи?
Присоединяйтесь к открытому вебинару 25 ноября в 20:00 МСК и узнайте, как интегрировать ClickHouse с популярными BI-инструментами — DataLens и Power BI.
📚Что вас ждёт?
- Практическое погружение в интеграцию данных.
- Создание интерактивных дашбордов для анализа.
- Кейсы использования BI в реальном бизнесе.
Почему это важно?
BI-инструменты — это основа эффективного принятия решений. После вебинара вы сможете работать с данными быстрее и увереннее.
🔴Регистрируйтесь сейчас! Участники вебинара получат скидку на большое обучение «ClickHouse для инженеров и архитекторов баз данных»: https://clck.ru/3EigNR
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний
Смотреть статью
☁️ Вебинар: Облачные базы данных: DBaaS для бизнеса и разработки приложений
26 ноября 2024 в 11:00
Приглашаем руководителей по ИТ и цифровой трансформации, ИТ-специалистов и DevOps инженеров поговорить о набирающем популярность облачном сервисе DBaaS, его особенностях, преимуществах и недостатках.
На вебинаре специалисты Linx Cloud представят сервис DBaaS на основе PostgreSQL, продемонстрируют его разворачивание, интерфейс, а также расскажут о совместной работе с сервисом Kubernetes. Затронем практические вопросы обеспечения отказоустойчивости.
В программе вебинара:
⚡️ Преимущества облачной базы данных перед on-premise,
⚡️ Особенности DBaaS от Linx Cloud и его отличия от других сервисов,
⚡️ Как DBaaS ускоряет разработку: реальные кейсы,
⚡️ DEMO: развертывание и интерфейс DBaaS на базе PostgreSQL в Linx Cloud
💣 БОНУС всем участникам вебинара: доступ на 1 месяц без ограничений по количеству БД и нагрузке на них + миграция в облако Linx Cloud
👉 ЗАРЕГИСТРИРОВАТЬСЯ
#Вопросы_с_собеседования
❓Для каких числовых типов недопустимо использовать операции сложения/вычитания?
Ответ:
В качестве операндов операций сложения и вычитания нельзя использовать числовой тип BIT. BIT - целочисленный тип данных, который может принимать значения 1, 0 или NULL.
Поиск значений в таблице, которые не совпадают с другой таблицей
Для выполнения поиска значений в таблице, которые не совпадают с другой таблицей в SQL, можно использовать операторы JOIN, NOT IN и NOT EXISTS.
1. JOIN - используется для объединения двух таблиц по заданному условию. Для поиска значений, которые не совпадают, можно использовать LEFT JOIN или RIGHT JOIN, а затем выбрать строки с NULL значениями в столбцах таблицы-присоединения.
2. NOT IN - спользуется для выбора значений из одной таблицы, которые не содержатся в другой таблице.
3. NOT EXISTS - используется для проверки наличия значений в подзапросе и выбора строк, которые не имеют соответствия в другой таблице.
Обучаем аналитиков платформы данных и берём в команду ⚡️
Регистрируйся на онлайн-интенсив в Открытые школы Т1!
От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.
Лучшим участникам предложим оффер в Т1 — крупнейшую ИТ-компанию страны по версии RAEX и CNews Analytics 2023 🔝.
Зачем участвовать?
⚙️Получить поддержку наставников. В нашей команде — передовые специалисты в области разработки хранилищ данных и аналитических систем, которые помогут прокачать навыки. Карьерные треки для выпускников Открытых школ позволяют быстрее вырасти в мидла в Т1.
⚙️ Работать в классной компании, где есть все айтишные бонусы (ДМС, удалёнка и крутые офисы, спорт и обучение).
⌛️ Быстрое обучение: 1 месяц.
💻 Гибкий формат: все этапы онлайн, занятия по вечерам.
Бигтех ждёт тебя, подавай заявку до 8 ноября!
#реклама
О рекламодателе
#Вопросы_с_собеседования
❓Выберите все записи, где первая буква City начинается с любой буквы от "a" до "f"
Ответ на картинке.
#Вопросы_с_собеседования
❓При выборке из таблицы workers получите последние 5 символов поля description
Ответ на картинке.
Как с помощью простой шаблонизации выстроить гибкий CI/CD-пайплайн с самого начала?
Расскажем на открытом уроке как эффективно использовать шаблоны:
1. Для минимизации времени на создание
2. Чтобы избежать переделки в будущем
✅ Практика: Создание адаптируемых пайплайнов с использованием шаблонов
👉 Регистрация и подробности о курсе CI/CD на основе GitLab
https://otus.pw/f5Hh/?erid=LjN8KUssd
#реклама
О рекламодателе
#Вопросы_с_собеседования
Что такое "SQL инъекция" и как её можно предотвратить?
SQL инъекция – это вид атаки на приложения, при котором злоумышленник вводит или "инъецирует" вредоносный SQL-код в запрос, который затем выполняется базой данных. Это может привести к несанкционированному доступу к данным, их изменению или удалению, а также к другим серьезным уязвимостям безопасности.
Для предотвращения SQL инъекций следует использовать параметризованные запросы, при которых вводимые пользователем данные обрабатываются как параметры, а не как часть SQL-кода. Это изолирует эти данные от самого запроса, предотвращая их интерпретацию как часть SQL-команды. Также важно проводить валидацию и санитизацию вводимых данных, ограничивая возможность ввода потенциально опасных символов или конструкций.
#Вопросы_с_собеседования
Как вы оптимизируете запросы SQL в больших базах данных для улучшения производительности, и какие факторы вы учитываете при анализе и улучшении эффективности запроса?
Для оптимизации SQL-запросов в больших базах данных, важно учитывать следующие факторы: использование индексов для ускорения поиска данных; избегание излишних операций соединения таблиц, особенно в случае больших наборов данных; оптимизация подзапросов и обеспечение их эффективности; использование агрегатных функций и временных таблиц для сокращения объёма обрабатываемых данных; анализ плана выполнения запроса для выявления узких мест. Также важно регулярно обновлять статистику базы данных для точной оценки планов выполнения и использовать подходящие методы кэширования для повторно используемых запросов.
#Вопросы_с_собеседования
Объясните, как SQL обрабатывает запрос с множественными JOIN операторами, содержащими условия как на INNER, так и на LEFT JOIN, и как это влияет на производительность запроса. Приведите пример.
SQL выполняет операции JOIN последовательно в том порядке, в котором они указаны в запросе, если только оптимизатор запросов не решит изменить порядок для повышения эффективности. INNER JOIN строго соединяет строки, удовлетворяющие условиям соединения, в то время как LEFT JOIN включает все строки из левой таблицы, даже если соответствующие строки в правой таблице отсутствуют. Смешивание этих двух типов JOIN может значительно повлиять на результаты запроса и его производительность. Если запрос содержит неоптимизированные или избыточные JOIN, это может привести к увеличению времени выполнения за счет большего объема обрабатываемых данных и сложности операций соединения.
SELECT A.*, B.*, C.*
FROM A
INNER JOIN B ON A.id = B.a_id
LEFT JOIN C ON A.id = C.a_id
WHERE A.some_column = 'some_value';
В этом запросе сначала выполняется INNER JOIN между таблицами A и B, а затем LEFT JOIN с таблицей C. Результат может быть значительно отличаться, если поменять порядок JOIN, и это может повлиять на производительность запроса.
#Вопросы_с_собеседования
Какая разница между реляционной базой данных и графовой базой данных, и какая из них лучше для работы с социальными сетями?
Реляционная база данных организована в виде таблиц, связанных между собой по ключам, а графовая база данных использует графовую модель и хранит данные в виде узлов и связей между ними.
Для работы с социальными сетями лучше подходит графовая база данных. Социальные сети характеризуются сложными связями между пользователями, например, дружба, подписки и взаимодействия. Графовые базы данных эффективно моделируют такие связи и обеспечивают быстрый доступ к информации, связанной с каждым пользователем и его связями.
#Вопросы_с_собеседования
Объясните, что такое фантомное чтение в транзакциях баз данных, и какие меры могут быть приняты для его предотвращения?
Фантомное чтение — это явление в базах данных, когда транзакция повторно читает данные и обнаруживает строки, которых раньше не было, из-за изменений, внесенных другой недавно завершенной транзакцией. Это может привести к неконсистентности данных, если одна транзакция основывается на предыдущем чтении, которое было сделано до внесения изменений.
Для предотвращения фантомного чтения можно использовать строгие уровни изоляции транзакций, например, уровень сериализуемости, который гарантирует, что транзакции выполняются так, как если бы они происходили в отдельной последовательности, а не параллельно. Это может быть достигнуто с помощью механизмов блокировки строк, предотвращающих другие транзакции от внесения изменений в строки, которые используются текущей транзакцией, или с помощью многоуровневых версий снимков данных (MVCC), которые предоставляют каждой транзакции консистентный снимок базы данных на определенный момент времени.
#Вопросы_с_собеседования
Каковы различия между INNER JOIN и OUTER JOIN в SQL, и в каких сценариях каждый из них является наиболее подходящим для использования? Приведите примеры, где использование OUTER JOIN (LEFT, RIGHT или FULL) предпочтительнее по сравнению с INNER JOIN.
Основное различие между INNER JOIN и OUTER JOIN заключается в обработке несоответствующих строк в соединяемых таблицах. INNER JOIN возвращает только те строки, которые имеют соответствующие значения в обеих таблицах. Если совпадений нет, строки не включаются в результат. Напротив, OUTER JOIN (LEFT, RIGHT, FULL) включает все строки из одной (LEFT или RIGHT) или обеих таблиц (FULL), даже если совпадений нет, добавляя NULL значения для отсутствующих данных.
Пример, где OUTER JOIN предпочтительнее:
Использование LEFT JOIN для получения списка всех сотрудников и их проектов, включая сотрудников без проектов. Здесь INNER JOIN исключил бы сотрудников, не работающих над проектами, тогда как LEFT JOIN позволит включить их в результат с NULL в столбцах, связанных с проектами.
Пример
Следующий запрос выбирает все данные строк из таблицы users где age имеет значения 18,19 и 21.
Почему данный код выведет ошибку?
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
WHERE city_m = 'EU:Oslo';
Код выдаст ошибку, так как в данном случае alias нельзя использовать в операторе WHERE.
Порядок выполнения упомянутого SELECT запроса следующий:
1. FROM
2. WHERE
3. SELECT
Соответственно при выполнении команды WHERE, alias, задаваемый в SELECT еще неизвестен.
Для PostgreSQL или MySQL данную проблему можно решить, например, следующим образом:
```WITH ct AS (
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
)
SELECT ct.*
FROM ct
WHERE ct.city_m = 'EU:Oslo';
#Вопросы_с_собеседования
❓Выберите из таблицы workers записи с id равным 1, 2, 3, 7, 9, и логином, равным 'user', 'admin', 'ivan' и зарплатой больше 300
Ответ на картинке.
#Вопросы_с_собеседования
❓Для каких числовых типов недопустимо использовать операции сложения/вычитания?
Ответ:
В качестве операндов операций сложения и вычитания нельзя использовать числовой тип BIT. BIT - целочисленный тип данных, который может принимать значения 1, 0 или NULL.
#Вопросы_с_собеседования
❓В чем разница между командами Delete, Truncate и Drop?
• Команда Delete — это команда DML , он используется для удаления строк из таблицы. Его можно откатить.
• Truncate — это команда DDL, она используется для удаления всех строк из таблицы и освобождения пространства, содержащего таблицу. Ее нельзя откатить.
• Drop — это команда DDL, она удаляет все данные вместе со структурой таблицы (в отличие от команды truncate, которая удаляет только строки). Все строки, индексы и привилегии таблиц также будут удалены.
#Вопросы_с_собеседования
Дана таблица tbl и поля nmbr со следующими значениями: 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1
Напишите запрос, чтобы установить 2 вместо 0 и установить 3 вместо 1.
#Вопросы_с_собеседования
Напишите SQL-запрос, который найдет суммарное количество заказов и общую сумму продаж для каждого месяца за последние 6 месяцев, и отобразит результаты только для тех месяцев, в которых было совершено более 100 заказов?
В этом примере мы используем функцию DATE_TRUNC
для округления даты до месяца. Затем мы считаем общее количество заказов с помощью функции COUNT
и общую сумму продаж с помощью функции SUM
. Затем мы используем выражение HAVING
для фильтрации только тех месяцев, где количество заказов превышает 100. Наконец, мы сортируем результаты по месяцам с помощью выражения ORDER BY
.