Царство (база данных) - Realm (database)
Область является Открытый исходный код база данных объектов система управления, изначально для мобильных операционных систем (Android /iOS )[1] но также доступно для таких платформ, как Xamarin,[2] React Native,[3] и другие,[4][5] включая настольные приложения (Windows[6]) и под лицензией Лицензия Apache.
В сентябре 2016 г. Мобильная платформа Realm был анонсирован, за ним последовал первый стабильный выпуск в январе 2017 года. Он обеспечивает двустороннюю синхронизацию между Realm Object Server[7][8] и клиентские базы данных, принадлежащие данному вошедшему в систему пользователю. И разработчик, и коммерческое издание[9] был выпущен вместе с бизнес-лицензией[10] для интеграции с другими системами управления базами данных, такими как PostgreSQL.[11][12]
24 апреля 2019 года Realm объявили о заключении окончательного соглашения о приобретении компанией MongoDB.[13]
История
Разработка Realm началась в конце 2010 года Александром Стигсеном вместе с Бьярном Кристиансеном,[14] под названием TightDB. Компания начала свою деятельность в 2011 г. Y комбинатор.[15]Это было продвинуто как NoSQL с настраиваемой надежностью и возможностью совместно использовать одни и те же группы данных в нескольких процессах, а также в нескольких устройствах и кластерах.
TightDB переименовал свой продукт в Realm в сентябре 2014 года и выпустил его для публичного тестирования. В марте 2015 года было раскрыто финансирование в размере около 20 миллионов долларов.[15][16]
Царство упоминалось в некоторых торговая пресса,[17][18] в том числе другими фирмами, такими как IBM.[19]
Realm анонсировала версию 1.0 в июне 2016 года и выпустила платформу для двусторонней синхронизации в реальном времени (бета-версия в сентябре 2016 года, выпуск в январе 2017 года),[20] и предоставил Node.js SDK для серверных приложений.[21]
В мае 2017 г. UWP было объявлено о поддержке.
Функции
Наиболее заметными особенностями Realm являются следующие:
- Поскольку Realm является хранилищем объектов, его типизированный язык зависит от API отображать типизированные объекты непосредственно в файл Realm - поэтому классы используются в качестве определения схемы.
- Отношения между объектами разрешены через «ссылки». Каждая «ссылка» создает «обратную ссылку» как обратную связь с любыми объектами, которые ссылаются на текущий объект.
- Результаты запроса, возвращаемые Realm, представляют собой локальные представления потока для текущей «версии базы данных» (поскольку Realm обрабатывает параллелизм с Архитектура MVCC ), и эти представления "автоматически обновляются", когда транзакция фиксируется из любой поток, пока Realm может обновлять свою версию экземпляра (что возможно для потоков, которые могут получать уведомления об изменениях). Когда это происходит, Realm вызывает слушателей изменений, которые добавляются к результатам его запроса (если они изменились).
- Каждое представление, локальное для потока, возвращает прокси-объекты, которые только читают / записывают в базу данных при вызове метода доступа, что означает, что весь доступ к базе данных выполняется с отложенной загрузкой. Записи разрешены только во время транзакции записи.
- Поскольку каждый результат запроса и каждый прокси-объект представляют собой представление базовых данных, любое изменение, внесенное в базу данных, отражается во всех объектах, которые указывают на одни и те же данные. Realm обычно называет это поведение «архитектурой с нулевым копированием» (наряду с ранее упомянутым доступом к данным с отложенной загрузкой).
Поддержка языков программирования
- Цель-C
- Быстрый
- Ява (Android Только)
- Котлин (Android Только)
- C # (Xamarin, Win32, UWP )
- JavaScript (Node.js, React Native )
Рекомендации
- ^ "Realm: объектно-ориентированная современная база данных для мобильных приложений". Получено 2017-04-22.
- ^ «Платформа мобильной базы данных Realm теперь поддерживает Microsoft Xamarin». Gooroo. Получено 2017-04-22.
- ^ "Realm: знакомство с Realm React Native". Получено 2017-04-22.
- ^ «Сфера: Microsoft Xamarin 1.0, Azure, рабочий стол Windows». Получено 2017-04-22.
- ^ «Мобильная платформа Realm поддерживает Xamarin, Microsoft Azure - ADTmag». ADTmag. Получено 2017-04-22.
- ^ «Использование базы данных Realm Mobile в преобразованном настольном приложении с Desktop Bridge». Команда App Consult. Получено 2017-04-22.
- ^ Кепес, Бен. «Realm расширяет предложение мобильных баз данных с помощью Object Server». Сетевой мир. Получено 2017-04-22.
- ^ «Realm расширяет свое предложение мобильных баз данных с помощью Object Server | Блог о разнообразии - SaaS, облачная и бизнес-стратегия». www.diversity.net.nz. Получено 2017-04-22.
- ^ «Realm запускает коммерческую версию своей мобильной базы данных - SiliconANGLE». КремнийУГОЛ. 2017-01-19. Получено 2017-04-22.
- ^ "Мобильная база данных с открытым исходным кодом Realm, превращает ее в корпоративную платформу - ADTmag". ADTmag. Получено 2017-04-22.
- ^ «Realm делает PostgreSQL в реальном времени с новым коннектором». Тенденции и приложения баз данных. 2017-03-21. Получено 2017-04-22.
- ^ «Связь платформы мобильной разработки Realm с PostgreSQL для связи с корпоративными данными - новый стек». Новый стек. 2017-03-21. Получено 2017-04-22.
- ^ «MongoDB приобретает Realm - будущее светлое». realm.io. Получено 2019-04-25.
- ^ «Стартап, запущенный 9 месяцев назад бывшими инженерами Nokia, сходит с ума». Business Insider. Получено 2017-04-22.
- ^ а б Рон Миллер (24 марта 2015 г.). «Realm может расширить сферу своей деятельности, вложив 20 миллионов долларов». Технический кризис. Получено 21 мая, 2017.
- ^ «Форма D: Уведомление об освобождении от уплаты налогов». 30 марта 2015 г.. Получено 21 мая, 2017.
- ^ Криль, Пол. «Realm возрождает базу объектов для мобильных разработчиков». InfoWorld. Получено 2017-04-22.
- ^ Томас Клэберн (29 сентября 2016 г.). «Realm - база данных, о которой вы, возможно, не слышали, но есть у разработчиков приложений - рекламирует облачную платформу». Реестр. Получено 21 мая, 2017.
- ^ «Мобильное приложение Visual Recognition с Watson, Realm и Swift - IBM OpenTech». IBM OpenTech. 2016-12-12. Получено 2017-04-22.
- ^ «Realm: знакомство с мобильной платформой Realm». Получено 2017-04-22.
- ^ "Realm Releases Object Database для Node.js". InfoQ. Получено 2017-04-22.