Skip to content
This repository was archived by the owner on Oct 5, 2021. It is now read-only.

Taking advantage of LSIs #274

@patricktyndall

Description

@patricktyndall

I'm pretty sure I can get great performance doing graph queries against dynamo if I use LSI's cleverly. For example, I could have an edge list DB with src-dest hash key on the table, with LSI's on src-distance and src-labels. This would let me query for the "closest" items to a node using the src-distance LSI, or similarly for adjacent edges to a node along a given label.

I want to use this library to accomplish what I'm doing, because I like the idea of a pluggable backend and the abstraction Titan provides. However, I feel that this project does not fully utilize dynamodb's capabilities with LSIs.

Am I missing something? Can I specify multiple LSI's in my graph representations, to then use in my traversals?

(For a more concrete example, I'm considering a social media app using scenario similar to the above where (from a node) I can query for "closest" based on a variety of numerical data (numMutualFriends, profileSimilarity, profileCompatibility, etc.). This way, in a client application, a user can "sort" other users by different fields, and this can just be powered by the LSIs).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions