Senior - Бази даних Flashcards
Що таке транзакція? Які основні властивості транзакцій?
Що таке database lock і чим він відрізняється від транзакцій?
Що таке Pessimistic та Optimistic locking?
У нас є таблиця Users. Ми додали до неї індекс у трьох полях: first_name, last_name, email. Саме у такому порядку. Тепер робимо запит SELECT * FROM users WHERE first_name = “Alex” AND email = “<a>test@mail.com</a>”. Чи допоможе нам індекс прискорити такий запит, і чому?
Що таке Database View? Які є види?
Що таке Database trigger?
Що таке партиціювання? Опишіть кейси, коли партиціювання було б корисним?
Верхньорівнево опишіть кроки для реалізації партиціювання на прикладі будь-якої СУБД.
Що таке тригери? Як та коли їх можна використовувати? Які плюси та мінуси ви бачите порівняно з тим, щоб використовувати тригери / колбеки на рівні бекенду?
Що таке WAL? Яку роль він відіграє?
Чи була у вас можливість / потреба використовувати шардинг? Чим відрізняється шардиг від партиціювання?
Опишіть принципи, переваги та недоліки роботи з primary / secondary (master / slave) реплікацією?
Чи ознайомлені ви з CAP-теоремою? Якщо так, поясніть основну ідею.
Чи знаєте ACID? Як ви розумієте букву «I» в цій абревіатурі?
Уявіть ситуацію, коли ваш сервер, на якому розміщений redis, з невідомих причин перезапустився. Що рекомендуєте зробити заздалегідь, щоб такі ситуації не завдали великої шкоди?