В чём преимущества и недостатки распределённых систем баз данных?
Распределённая БД помогает масштабировать объём и нагрузку и переживать отдельные отказы, но усложняет согласованность, транзакции и эксплуатацию.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Распределённая БД помогает масштабировать объём и нагрузку и переживать отдельные отказы, но усложняет согласованность, транзакции и эксплуатацию.
Читать ответВ PostgreSQL можно различить физические версии строк через ctid и удалить лишние по ROW_NUMBER. Для значений 1, 1, 2 останутся 1 и 2.
Читать ответGreenplum отличается прежде всего MPP-архитектурой: распределяет таблицы и выполнение аналитических запросов по сегментам. Это шире, чем набор особых SQL-функций.
Читать ответУскорение PostgreSQL начинают с плана и измерений: уменьшают лишнее чтение, исправляют joins, выбирают индексы и устраняют ожидания. Настройки подбирают под нагрузку.
Читать ответУпрощённый логический порядок: FROM/JOIN → WHERE → GROUP BY → HAVING → оконные функции → SELECT → DISTINCT → ORDER BY → LIMIT/OFFSET.
Читать ответПокажите диапазон реальных SQL-задач и разберите один содержательный пример. Сложность определяется логикой, масштабом и надёжностью, а не длиной запроса.
Читать ответСначала выясните, запрос вычисляется или ждёт ресурс/блокировку. Затем изучите план, объёмы, статистику и самые дорогие операции, сохраняя исходную семантику.
Читать ответОтфильтруйте транзакции за нужный день и соедините их с версией клиента, действовавшей в момент операции. Границы дня и периода лучше делать полуоткрытыми.
Читать ответPostgreSQL разбирает и анализирует SQL, применяет rewrite-правила, строит план и исполняет его, возвращая видимые транзакции строки клиенту.
Читать ответMongoDB хранит документы BSON; replica set обеспечивает резервирование, sharding распределяет данные между шардами. Эти механизмы решают разные задачи.
Читать ответПроцедурный SQL расширяет декларативный SQL переменными, условиями, циклами и обработкой ошибок. Примеры — PL/pgSQL, PL/SQL и процедурные конструкции T-SQL.
Читать ответБлокировки возникают при конкурирующих операциях над одними ресурсами: обновлении строк, проверке ограничений и DDL. MVCC уменьшает конфликты чтения, но не отменяет locks.
Читать ответ