На конференции Google I/O анонсирована новая СУБД Cayley, ориентированная на хранение связанных друг с другом данных, образующих граф (семантический web, социальные сети и т.п). Основная особенность графо-ориентированной СУБД - возможность указания связей (между записями), которые будут учтены при построении запросов.

Код написан на языке Go и распространяется под лицензией Apache. Система является модульной и может использовать разные бэкенды для низкоуровневого хранения и организации обработки запросов. Например, доступны бэкенды для хранения в оперативной памяти, LevelDB и MongoDB. Для выборки связанной информации поддерживается использование Javascript-объекта graph и упрощённый вариант языка MQL (Metaweb Query Language), применяемого в базе структурированных знаний Freebase.

Cayley может использоваться как обособленная СУБД, обрабатывающая запросы по HTTP с использованием RESTful API, REPL или встроенного web-интерфейса, предоставляющего инструменты для редактирования и визуализации данных. Также поддерживается режим связывания с программами, при котором Cayley выступает в роли разделяемой библиотеки. Стратегия обхода графа заимствована из проекта graphd, при этом использование эффективных средств распараллеливания обработки данных, предоставляемых языком Go, позволило обеспечить в Cayley достаточно высокий уровень производительности.

Для экспериментов с Cayley при помощи Google App Engine запущен демонстрационный интерфейс, позволяющий формировать запросы к базе из 30 тысяч фильмов, содержащей сведения об актёрах, ролях и режиссёрах.

Отмечается, что Cayley не является проектом компании Google, но развивается при её поддержке. Проект создан Бараком Миченером (Barak Michener), инженером из Google, который под впечатлением от Freebase и Knowledge Graph загорелся идеей предоставить разработчикам открытый инструмент для формирования похожих баз знаний.



Источник: http://www.opennet.ru/opennews/art.shtml?num=40098