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