LINUX.ORG.RU

Cayley — новая графовая база данных на Go

 , , ,


4

4

Barak Michener, разработчик из Google, открыл исходный код новой графовой базы данных на Go — Cayley.

Предназначение Cayley — быть частью инструментария разработчика для отображения Linked Data-баз знаний и представления информации в виде графов (семантические, социальные сети и т.п.).

Из заявленного:

  • написана на Go;
  • простая установка и настройка;
  • RESTful API;
  • REPL;
  • встроенный редактор запросов и визуализатор;
  • языки запросов: JavaScript и MQL;
  • back-end's: LevelDB, MongoDB;
  • модульная архитектура: легко расширяемая другими языками и back-end'ами;
  • хорошее покрытие тестами;
  • скорость, где возможно.

Лицензия: Apache License, версия 2.0

Википедия о графовых базах данных.
Википедия о Linked Data.

>>> Подробности, исходный код, инструкция по установке и использованию.



Проверено: fallout4all ()
Последнее исправление: CYB3R (всего исправлений: 4)

Что-то интересное на Go вышло. Занятно.

demoth
()

то что она на го, то значит не стабильна, да?

Если там есть бакэнды, то это значит что это просто надстройка над ними, а не сама имплементация?

Чем это лучше neo4j?

Хорошее покрытие тестами;

и чо?

Скорость, где возможно;

а где возможно это? Я так понимаю скорость упирается в бакэнд, то есть если монго тормозит, то и это тормозит, ведь так?

Работает ли это на кластере из нескольких компьютеров?

Элементарные бенчмарки есть? В книге по нео4ж, есть бенчи которые показывают как быстра она в сравнении с носкл и рдбмс то если здесь бакэнд монго, то это уже тормозит.

Можно дать элементарное представление как ляжет в монгу какой-нибуть граф из 5 вершин, соединённых между собой.

P/S если конечно я правильно понял что это всё хранится в монге.

anonymous
()

Осваивают язычок.
(ТС-у: заголовок темы — это не предложение: в конце точку не надо ставить.)

Virtuos86 ★★★★★
()
Ответ на: комментарий от anonymous
Features

    Written in Go
    Easy to get running (3 or 4 commands, below)
    RESTful API
        or a REPL if you prefer
    Built-in query editor and visualizer
    Multiple query languages:
        Javascript, with a Gremlin-inspired* graph object.
        (simplified) MQL, for Freebase fans
    Plays well with multiple backend stores:
        LevelDB for single-machine storage
        MongoDB
        In-memory, ephemeral
    Modular design; easy to extend with new languages and backends
    Good test coverage
    Speed, where possible.

Rough performance testing shows that, on consumer hardware and an average disk, 134m triples in LevelDB is no problem and a multi-hop intersection query -- films starring X and Y -- takes ~150ms.

* Note that while it's not exactly Gremlin, it certainly takes inspiration from that API. For this flavor, see the documentation.
Plays well with multiple backend stores:
        LevelDB for single-machine storage
        MongoDB
        In-memory, ephemeral

Да, похоже пока основные бэкенды здесь носкл.

Virtuos86 ★★★★★
()
Ответ на: комментарий от anonymous

Ну не знаю, его уже в продакшене начали гонять люди. Google рекомендует его уже. Да и разрабы у него достаточно именитые. Так почему бы ему не доверится?

deterok ★★★★★
()
Ответ на: комментарий от deterok

Ну не знаю, его уже в продакшене начали гонять люди.

где эти люди?

Google рекомендует его уже.

гугол мне матрацы рекомендует, дальше что?

Да и разрабы у него достаточно именитые.

не слышал ни про одного.

Так почему бы ему не доверится?

может им ещё и ключи от квартиры дать, где деньги лежат.

anonymous
()
Ответ на: комментарий от anonymous

Ну и все, иди убейся, жизнь - дерьмо.

dizza ★★★★★
()
Ответ на: комментарий от v9lij

Ещё бы, мне нужна хорошее сравнение а не «поверьте нам»

anonymous
()
Ответ на: комментарий от anonymous

где эти люди?

Как минимум в Яндексе уже подхватили.

гугол мне матрацы рекомендует, дальше что?

Тем не мение у гугла лучшее понимание и ранжирование.

не слышал ни про одного.

Весьма сочувствую вам: Роберт Гризмер, Роб Пайк и Кен Томпсон.

может им ещё и ключи от квартиры дать, где деньги лежат.

Этого, кстати, еще никто из них не просил.

anonymous
()
Ответ на: комментарий от deterok

Не то что бы не нравится, просто его(js) везде и повсюду пихают. Хотя для запросов наверное удобен, но почему тогда не питон?

ggrn ★★★★★
()

Cayley написана на Go

А почему тогда не Geyley?

anonymous
()
Ответ на: комментарий от ggrn

просто его(js) везде и повсюду пихают

но почему тогда не питон?

Ох. Предлагаете «шило на мыло»

X-Pilot ★★★★★
()
Ответ на: комментарий от anonymous

Тем не мение у гугла лучшее понимание и ранжирование.

гугол знает лучше то что тебе надо?

Весьма сочувствую вам: Роберт Гризмер, Роб Пайк и Кен Томпсон.

про 1го не слышал

пайк и томпсон говноеды в тотальной стадии, автор https://github.com/barakmich про него вообще ничего не известно

Таким образом я прихожу к выводу, что сравнения тут никто не даст, в треде на ХН, сравнение тоже отсутсвует. Поэтому свои предположения считаю правильными, из них следует => кайли ненужное говно

anonymous
()
Ответ на: комментарий от frozenix

на HackerNews не читал, увидел на ленте гитхаба как TJ Holowaychuk проект зафрендил.

VimCasts
() автор топика

Уже читал на реддите. Прикольно.

anonymous
()

Я так и не понял как она работает в распределенной форме

vertexua ★★★★★
()
Ответ на: комментарий от anonymous

Весьма сочувствую вам: Роберт Гризмер, Роб Пайк и Кен Томпсон.

так они ж за деньги, а не по любви.

anonymous
()

А в чем прикол этого самого Go? У него бинарники быстрее сишных или они места меньше забирают на жд, или еще что-то?

Yaourt
()
Ответ на: комментарий от Yaourt

Высокая скорость разработки, кушает меньше пайтона, работает быстрее, хорошая поддержка многопоточности.

Weres ★★★
()
Ответ на: комментарий от Yaourt

прикол в том что его еще как бы нет, но он конкретно в наличии есть ну и google, который в 50% да простреливает будь здоров

dima1981
()
Ответ на: комментарий от Yaourt

Яндекс писал, что на их задачах (распределенщина всякая) голанг всего в два раза медленнее плюсов. Бинарники большие. Но это не проблема, да и можно динамическую линковку включить. Нет возни с зависимостями.

Weres ★★★
()
Ответ на: комментарий от Yaourt

взяли С в том виде до которого его в беллабс при использовании в

plaNIX который из uNIX (отказ от вложенности инклюдов и прочии трики Пайка и К.Томсона подробней смотри http://doc.cat-v.org/plan_9/programming/c_programming_in_plan_9)

+ вместо библиотечных set|get longjump опущена на уровень языка конкурентность и прочая сопрограммность(см предисловие к любому изданию K&R The C programming language где прямо сказано , о целенаправленной ограниченности С и отказе от многих механизмов на уровне языка либо явном указании о некоем окружении (читай операционной системе) предоставляющей необходимый сервис ( ну тоже утверждение создателей языка - что в С нет динамической памяти , а лиш малок(который выпрашивает память у операционки)))) // эх придаточные.

+ кое как добавленые ассоциативные массивы - map-отображения. //как ни странно в js хоть и криво но честнее.

qulinxao ★★☆
()
Ответ на: комментарий от Yaourt

+- подчистили нерегулярности С-синтаксиса который Денис.Ритчи воплотил ибо язык чуть ли не построчно парсился по началу , а не топдаунами.

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

Плюсую. Go - это C done right. Сейчас как раз портирую одну библиотеку с C на Go - это прелесть как просто.

anonymous
()
Ответ на: комментарий от Weres

Бинарники большие. Но это не проблема, да и можно динамическую линковку включить. Нет возни с зависимостями.

Если статически линковать - нигде нет проблемы с зависимостями.

tailgunner ★★★★★
()
Ответ на: комментарий от Weres

Размер бинарников это вообще не проблема в разработке :) главное что бы переносимость, меньше проблем в зависимостями. Это все про Go.

umren ★★★★★
()

Хочу выпустить форк языка Go! Назвать его iGoGo - в честь нового персонажа мультсериала Смешарики™ Анимационной студии Петербурхъ® Игогошки©!

Woofywoof
()

Модная? Стильная? Молодёжная?
Если нет, то не нужно

nerdogeek
()
Ответ на: комментарий от anonymous

Go - это C done right.

C done right - это Rust (если взлетит), Go с его GC - скорее Java done right (за что им большое спасибо, в общем-то)

Divius ★★
()
Ответ на: комментарий от Divius

вообщет

забавная параель

кто может в указатели (т.е понимает что имя имени может)

чаще считают Go современной инкарнацией С ( хоть уних и много отличий - однако эти отличия можно считать обусловленными , что есть лингва франко в текущий момент )

а те которые понимают буквальные значения only и не могут разименовывать

считают Go и javу близницами ( ну как же и там и там gc и там и там кой какая паралельность на уровне языке, и там и там utf и там и там пакеты и т.д. и т.п)

qulinxao ★★☆
()
Ответ на: комментарий от deterok

Google рекомендует его уже

Ну ещё бы они своё поделие (не обязательно в плохом смысле этого слова :) ) не рекомендовали.

anonymous
()
Ответ на: комментарий от anonymous

Да, понимаю, но я думаю, что сырой продукт в продакшен они точно рекомендовать не стали бы.

deterok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.