一、基本概念
诸如历史消息查询、历史记录查询等,当数据量变得超过数百万数千万乃至上亿级别,关系型数据库必然要走向sharding,
但具体的sharding方案往往绑定着一些列的业务和产品设计,比如特定的用户查询方式,如何设计sharding键等等。
本文试图探讨从另一种技术栈也就是nosql来解决大数据量查询与存储的问题,并比较传统关系型数据库与nosql在实践中各自的优势。
Hbase底层存储基于hadoop的hdfs,使用zk作为分布式协调的分布式nosql数据库。facebook用hbase来作为其消息数据库。
Phoenix是针对Hbase的sql解析引擎,相对于hive,凤凰专用于hbase,拥有更好的优化性能。phoenix支持jdbc协议。
二、软件架构
用springboot做基本架构,HirakiCP连接池来封装phoenix jdbc connection来连接hbase
参考:
NoSQL 的选择 -- Redis、MongoDB、Cassandra 与 HBase 的介绍与比较 : https://techlog.cn/article/list/10182729
入门HBase,看这一篇就够了: https://www.jianshu.com/p/b23800d9b227
Hbase Phoenix简介及其安装部署: https://www.cnblogs.com/Transkai/p/11241548.html
大数据查询——HBase读写设计与实践: https://cloud.tencent.com/developer/article/1032875
Spring Boot 整合Hive/Phoenix数据源: https://blog.csdn.net/weixin_44327656/article/details/89947411