Realm

Бесплатно
Открытый исходный код
Windows
macOS
Linux
Android
iOS

Сайт: realm.io

Realm — это объектно-ориентированная встроенная база данных с открытым исходным кодом, разработанная для мобильных и встроенных платформ. Она предназначена для хранения и управления данными непосредственно на устройствах пользователя, включая смартфоны, планшеты и носимые устройства. Архитектура Realm ориентирована на простую интеграцию в клиентские приложения, низкую задержку при доступе к данным и минимальные накладные расходы по сравнению с традиционными реляционными СУБД или файловыми решениями.

Проект был создан как альтернатива сложным и ресурсоёмким решениям для локального хранения данных и представляет собой сочетание объектной модели данных и высокопроизводительного двоичного формата хранения. Realm предоставляет программный интерфейс, позволяющий работать с данными в виде объектов и коллекций, синхронизируя изменения между объектами в памяти и хранимой на диске структурой. В экосистему Realm входят реализации для нескольких языков и платформ, что облегчает кроссплатформенную разработку мобильных приложений. В источниках публичной информации приводятся сведения о развитии проекта и его интеграциях, однако полная история изменений и корпоративные детали иногда описываются фрагментарно.

  • Объектная модель: данные представляются в виде объектов и связей между ними, что упрощает маппинг между доменной моделью приложения и хранилищем.
  • Локальное хранение: работает непосредственно на устройстве без обязательного сетевого соединения, обеспечивая быстрый доступ к данным офлайн.
  • Высокая производительность: оптимизированный двоичный формат и механизмы доступа уменьшают задержки чтения/записи и расход ресурсов.
  • Транзакции и согласованность: поддержка атомарных транзакций и версионирования данных для обеспечения согласованного состояния при конкурентных изменениях.
  • Поддержка платформ: реализации и привязки для популярных мобильных платформ и языков, что облегчает использование в нативных и гибридных приложениях.
  • Реактивная модель: возможность подписки на изменения данных и получение уведомлений для обновления пользовательского интерфейса в реальном времени.
  • Интеграция с синхронизацией: опциональные механизмы синхронизации с серверной частью (в некоторых вариантах реализации), позволяющие согласовывать локальные изменения с удалённым хранилищем.
  • Низкий уровень абстракции для разработчика: простой API для операций CRUD и удобные средства миграции схемы при обновлении приложений.
Подробнее