Доклад про язык программирования Gremlin, что позволяет работать с графовыми БД.
Оттуда есть ссылка на
графовую БД над гиперграфами.
За исключением того, что это всё на Джаве, это примерно то, что я хотел сделать. Да и сейчас хочу, поскольку это всё на Джаве.
Comments 18
Работает.
Reply
Я думал сделать транзакционный backend на SQLite, но оказалось, что графы на SQL тормозят.
Однако, оставил этот вариант про запас. ;)
Reply
Например можно жертвовать скоростью обновления графой сети ради скорости выборки (ну или наоборот).
Reply
Можно создать сколько угодно ссылок для каждого объекта, к каждой ссылке тэг добавить.
Правда, алгоритмы у него заточены все же под другие нужды, и он по скорости, чистым графовым базам, думаю, всосет.
Reply
Посмотрю, однако.
Reply
Многочисленные прыжки по кластеру за значениями, особенно, если надо пройти не по 1-2, а по десятку связей.
Я пока даже презентацию до конца не досмотрел. Они там про масштабирование расскажут ведь?
Reply
Reply
Reply
Reply
Reply
А то ж, в SQL без постоянной необходимости в компромиссах никак...
Reply
Reply
Соответственно, с совместным использованием с Haskell и OCaml будут проблемки.
Reply
Мне как раз очень хотелось в своё время сделать такую вещь, типа чтобы при добавлении ребра в граф вычислялись/добавлялись на основе их по определённым правилам новые рёбра. Типа, если в граф классов добавляется ребру super, то автоматически вычисляется какой-нить descandant. Или если объект имеет тип какого-то класса, то он автоматом также принадлежит и всем его предкам.
И чтобы эти новые свойства были неотличимы по использованию в запросах, а хранить их, вычислять на лету или кэшить - это уже детали реализации.
Reply
Leave a comment