Компания Canonical объявила о начале тестирования первого выпуска прослойки U1DB, которую планируется использовать вместо CouchDB для организации синхронизации данных через сервис Ubuntu One, например, для синхронизации адресной книги, музыкальной коллекции, фотографий, закладок Firefox, заметок Tomboy и различных настроек. U1DB ориентирован на организацию хранения документов в формате JSON, обеспечивая их синхронизацию на всех машинах клиента. U1DB не привязан к определённому типу хранилища, т.е. может использовать для непосредственного хранения различные БД, которые будут автоматически поддерживаться в синхронизированном состоянии.
Развиваемый в рамках U1DB API предельно прост и понятен. Используя данный API приложения могут сохранять документы и синхронизировать их между несколькими машинами и устройствами пользователя, имея возможность работать на этих устройствах с единым набором данных пользователя, независимо от типа платформы и языка программирования. API позволяет создавать, удалять и читать документы из абстрактного хранилища, принимать решения при возможных конфликтах, управлять созданием индексов и репликацией данных. U1DB не завязан на Ubuntu One и позволяет использовать собственные серверы для организации синхронизации, используя для непосредственного хранения любые базы данных.
В настоящее время создан прототип клиента и сервера U1DB на языке Python, использующий P2P-методы синхронизации и позволяющий поэкспериментировать с U1DB на локальной системе. В качестве бэкенд-хранилища задействован SQLite. Код открыт под лицензией LGPLv3. Дополнительно создана реализация клиента на языке Vala, предназначенная для интеграции поддержки U1DB в приложения на базе Glib/Gtk+. В будущем планируется создать реализации клиента U1DB на языках Си, Objective C (для платформы Apple iOS) и Java (для Google Android), в качестве базового хранилища также будет использован SQLite. Для работы внутри браузера ведётся работа по создании реализации U1DB на языке JavaScript с хранилищем на базе localStorage API.
|