Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[RFC] properties: upgrade HBaseVertex to support multi-properties #57

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rappazzo
Copy link

@rappazzo rappazzo commented Mar 1, 2019

The HBase graph tinkerpop implementation specifies Cardinality.single as
the default. Since HBase does not (at the time of this writing) support
multiple values, this feature wraps the multi-values in a list and
writes the list to HBase. As a consequence of this list wrapper,
indexed properties can still only support-single value properties.

When reading/writing from HBase, most properties will be written as
single objects. Only when a property is specifically added with
non-single cardinality will it be written to HBase as a list.

In order to avoid java native serialization, the serialization of
non-single property values uses Kryo (with a small lightweight wrapper
class to accomplish this).

@rappazzo
Copy link
Author

rappazzo commented Mar 1, 2019

I have only tested a version of this change which was based on v1.0.10, but there is minimal differences between the two versions. You can see that version on my fork

The HBase graph tinkerpop implementation specifies Cardinality.single as
the default.  Since HBase does not (at the time of this writing) support
multiple values, this feature wraps the multi-values in a list and
writes the list to HBase.  As a consequence of this list wrapper,
indexed properties can still only support-single value properties.

When reading/writing from HBase, most properties will be written as
single objects.  Only when a property is specifically added with
non-single cardinality will it be written to HBase as a list.

In order to avoid java native serialization, the serialization of
non-single property values uses Kryo (with a small lightweight wrapper
class to accomplish this).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant