Uploaded image for project: 'S2Graph'
  1. S2Graph
  2. S2GRAPH-17

Remove unnecessary abstraction layer, Storage.

    Details

    • Type: Task
    • Status: Done
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None

      Description

      Currently Graph contains following components.

      Graph has storage and each storage have followings.

      1. SerDe: serialize and deserialize IndexEdge/SnapshotEdge/Vertex into bytes.
      2. MutationBuilder: convert IndexEdge/SnapshotEdge into RPC which is dependent on storage backend.
      3. QueryBuilder: issue RPC for fetch on storage backend

      With these components, storage know how to actually store/fetch IndexEdge/SnapshotEdge/Vertex to, from storage backend.

      In my opinion, storage layer is unnecessary since all graph instance does is delegating into storage. I am suggesting to remove storage layer and use different Graph class for different storage backend.

      So for example, change AsynchbaseStorage into AsynchbaseGraph.

      I want to discuss how our Graph Client should be on this issue and change it according to discussion.

        Attachments

          Activity

            People

            • Assignee:
              steamshon DOYUNG YOON
              Reporter:
              steamshon DOYUNG YOON
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 168h
                168h
                Remaining:
                Remaining Estimate - 168h
                168h
                Logged:
                Time Spent - Not Specified
                Not Specified