Skip to content

Latest commit

 

History

History
68 lines (42 loc) · 5.57 KB

File metadata and controls

68 lines (42 loc) · 5.57 KB

Вопросы для собеседования

Хранение данных

Что такое «база данных»?

База данных — организованный и адаптированный для обработки вычислительной системой набор информации.

к оглавлению

Что такое «система управления базами данных»?

Система управления базами данных (СУБД) - набор средств общего или специального назначения, обеспечивающий создание, доступ к материалам и управление базой данных.

Основные функции СУБД:

  • управление данными
  • журнализация изменений данных
  • резервное копирование и восстановление данных;
  • поддержка языка определения данных и манипулирования ими.

к оглавлению

Сравните реляционные и нереляционные СУБД

Реляционные (RDBMS) Нереляционные (NoSQL)
Язык SQL + диалекты Разные, зависит от типа
Структура В виде таблиц Хэш-таблицы, документы, графы, ...
Масштабирование Вертикальное (чаще) Горизонтальное (чаще)
CAP-теорема AP CP или AC

Традиционные СУБД ориентируются на требования ACID к транзакционной системе, тогда как в NoSQL (кроме графовых) вместо ACID может рассматриваться набор свойств BASE.

к оглавлению

Что такое шардинг?

Шардинг (англ. sharding, иногда шардирование) — это другая техника масштабирования работы с данными. Суть его в разделении (партиционирование) базы данных на отдельные части так, чтобы каждую из них можно было вынести на отдельный сервер. Этот процесс зависит от структуры Вашей базы данных и выполняется прямо в приложении в отличие от репликации.

Вертикальный шардинг — это выделение таблицы или группы таблиц на отдельный сервер.

Горизонтальный шардинг — это разделение одной таблицы на разные сервера. Это необходимо использовать для огромных таблиц, которые не умещаются на одном сервере.

к оглавлению

Что такое In-memory Data Grid?

Распределённое хранение данных в памяти - (англ. In-Memory Data Grid, IMDG) - это распределённое хранилище объектов, схожее по интерфейсу с обычной многопоточной хэш-таблицей. Вы храните объекты по ключам. Но, в отличие от традиционных систем, в которых ключи и значения ограничены типами данных «массив байт» и «строка», в IMDG Вы можете использовать любой объект из Вашей бизнес-модели в качестве ключа или значения. Это значительно повышает гибкость, позволяя Вам хранить в Data Grid в точности тот объект без дополнительной сериализации/де-сериализации, которую требуют альтернативные технологии. Это также упрощает использование Вашего Data Grid-а, поскольку в большинстве случаев Вы можете работать с распределённым хранилищем данных как с обычной хэш-таблицей.

Продукты класса IMDG

  • Apache Ignite
  • Hazelcast
  • Infinispan
  • GridGain

и другие.

к оглавлению

Вопросы для собеседования