1Что такое параллельная обработка данных?
Параллельная обработка данных — это метод выполнения вычислений, при котором несколько процессов выполняются одновременно, распределяя задачи между несколькими процессорами или ядрами процессора. Это позволяет существенно ускорить обработку больших объемов данных, улучшить производительность и уменьшить время выполнения задач.
2Объясните суть проблемы потерянного обновления.
Проблема потерянного обновления возникает, когда два или более транзакций одновременно читают и изменяют одни и те же данные, и изменения одной транзакции перезаписываются изменениями другой транзакции. В результате одно из обновлений теряется. Это приводит к несогласованности данных и неправильным результатам.
3Что такое явная и неявная блокировки?
- Явная блокировка: Это блокировка, установленная пользователем или приложением вручную. Пользователь или администратор указывает, какие данные или ресурсы должны быть заблокированы.
- Неявная блокировка: Это блокировка, автоматически устанавливаемая системой управления базами данных (СУБД) для обеспечения целостности и согласованности данных во время выполнения транзакций.
4Зачем нужны блокировки данных?
Блокировки данных необходимы для предотвращения одновременного доступа нескольких транзакций к одним и тем же данным, что может привести к конфликтам и несогласованности данных. Блокировки обеспечивают целостность и согласованность данных, предотвращая такие проблемы, как потерянные обновления, грязное чтение и другие нарушения изоляции транзакций.
5Когда возникает взаимная блокировка?
Взаимная блокировка (deadlock) возникает, когда два или более процессов блокируют ресурсы, которые необходимы другим процессам для завершения их операций. Каждый процесс ждет, пока другой процесс освободит ресурс, в результате чего ни один из процессов не может продолжить выполнение. Это приводит к бесконечному ожиданию.
6Что такое оптимистические и пессимистические блокировки?
- Оптимистическая блокировка: Предполагает, что конфликтов доступа к данным не будет, и позволяет транзакциям работать без блокировок до момента фиксации изменений. Перед фиксацией проверяется, не изменились ли данные другими транзакциями. Если изменения были, транзакция откатывается.
- Пессимистическая блокировка: Предполагает высокий риск конфликтов и блокирует данные с момента чтения до завершения транзакции. Это предотвращает другие транзакции от изменения данных, обеспечивая их целостность.
7Перечислите принципы обеспечения безопасности СУБД.
1. Аутентификация: Проверка подлинности пользователей, чтобы только авторизованные лица имели доступ к системе.
2. Авторизация: Определение прав доступа пользователей к различным данным и операциям в системе.
3. Шифрование данных: Защита данных путем их шифрования для предотвращения несанкционированного доступа.
4. Аудит и логирование: Ведение журналов всех операций и действий пользователей для выявления подозрительной активности.
5. Управление уязвимостями: Обнаружение и устранение уязвимостей в системе для предотвращения атак.
6. Обновление и патчинг: Регулярное обновление системы и установка патчей для устранения известных уязвимостей.
8Перечислите уровни изоляции транзакций.
1. Read Uncommitted (Чтение незафиксированных данных): Транзакция может читать данные, измененные другими незавершенными транзакциями, что может привести к грязному чтению.
2. Read Committed (Чтение зафиксированных данных): Транзакция может читать только данные, зафиксированные другими транзакциями, предотвращая грязное чтение.
3. Repeatable Read (Повторяемое чтение): Транзакция гарантирует, что данные, прочитанные один раз, останутся неизменными до завершения транзакции, предотвращая неповторяемое чтение.
4. Serializable (Сериализуемость): Самый высокий уровень изоляции, где транзакции выполняются так, как если бы они были последовательными, предотвращая фантомное чтение и обеспечивая полную изоляцию данных.