feat(hbase): support hash rowkey struct & pre-init tables by JackyYangPassion · Pull Request #1696 · apache/hugegraph
@JackyYangPassion 非常感谢贡献feature代码^-^
大体看了下代码,这个pr应该是支持了hbase顶点和边的预分区了,整体方案没有问题👍。稍晚点进行详细的review,有几点小建议先大体列下:
- BackendStorede的加载传递config,可以统一为一个版本,比如所有后端都构造的时候均传递config(没关系的,按照你认为最优雅的方式来修改代码),类似的Serializer加载也可以统一为一个版本。
- HBaseSerializer的主体逻辑是否可以上移到BinarySerializer,然后由BinarySerializer提供一个hook给HBaseSerializer做自定义相关的处理?这样预分区特性容易被其它后端存储复用。具体操作方式(仅供参考):比如给BinarySerializer增加
enablePartition成员变量、protected short getPartition(Id)抽象方法,HBaseSerializer构造时可以设置enablePartition=true,重载getPartition方法以返回hash(id)方式的分区。 - 代码风格有些差异,需要整体改下。代码风格规范可以参考此篇
- 简单起见, 如果你用的 IDEA, 代码风格可以直接使用
hugeraph专属的配置文件(根目录下), 直接导入后大部分 code style 就和社区规范一致了 (少部分手调一下即可)
索引部分,考虑到后续secondary-index索引也统一为类似range-index的表格式,对于索引部分的预分区有什么计划吗?