Skip to content

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

Open
rappazzo wants to merge 1 commit intorayokota:masterfrom
rappazzo:property-cardinality/on.v2
Open

[RFC] properties: upgrade HBaseVertex to support multi-properties#57
rappazzo wants to merge 1 commit intorayokota:masterfrom
rappazzo:property-cardinality/on.v2

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

@rappazzo rappazzo force-pushed the property-cardinality/on.v2 branch from 0f11dfb to 3265dde Compare March 13, 2019 16:05
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 rappazzo force-pushed the property-cardinality/on.v2 branch from 3265dde to 8b00107 Compare March 13, 2019 23:52
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