- Что такое «база данных»?
- Что такое «система управления базами данных»?
- Сравните реляционные и нереляционные СУБД
- Что такое In-memory Data Grid?
База данных — организованный и адаптированный для обработки вычислительной системой набор информации.
Система управления базами данных (СУБД) - набор средств общего или специального назначения, обеспечивающий создание, доступ к материалам и управление базой данных.
Основные функции СУБД:
- управление данными
- журнализация изменений данных
- резервное копирование и восстановление данных;
- поддержка языка определения данных и манипулирования ими.
| Реляционные (RDBMS) | Нереляционные (NoSQL) | |
|---|---|---|
| Язык | SQL + диалекты | Разные, зависит от типа |
| Структура | В виде таблиц | Хэш-таблицы, документы, графы, ... |
| Масштабирование | Вертикальное (чаще) | Горизонтальное (чаще) |
| CAP-теорема | AP | CP или AC |
Традиционные СУБД ориентируются на требования ACID к транзакционной системе, тогда как в NoSQL (кроме графовых) вместо ACID может рассматриваться набор свойств BASE.
Распределённое хранение данных в памяти - (англ. In-Memory Data Grid, IMDG) - это распределённое хранилище объектов, схожее по интерфейсу с обычной многопоточной хэш-таблицей. Вы храните объекты по ключам. Но, в отличие от традиционных систем, в которых ключи и значения ограничены типами данных «массив байт» и «строка», в IMDG Вы можете использовать любой объект из Вашей бизнес-модели в качестве ключа или значения. Это значительно повышает гибкость, позволяя Вам хранить в Data Grid в точности тот объект, с которым работает Ваша бизнес-логика без дополнительной сериализации/де-сериализации, которую требуют альтернативные технологии. Это также упрощает использование Вашего Data Grid-а, поскольку в большинстве случаев Вы можете работать с распределённым хранилищем данных как с обычной хэш-таблицей.
Продукты класса IMDG
- Apacha Ignite
- Hazelcast
- Infinispan
- Gridgain
и другие.