【技术预研】starRocks高性价比替换hbase

hbase作为类列数据库,更准确说是列族数据库。本质上是一个文件查询系统,追求极限的写入和读取。

而starRocks作为olap数据库,在保持优秀的关联计算能力的前提下,还有不错的查询效率,当然和hbase本身比还有一定差距。

但对于一般场景还是可以接受的,毕竟要省掉很多的资源。与hdfs等组件解耦,降低运维压力。

starRock通过以下三个优化来提升性能:

排序键

相当于在存储的时候,选择某一列或者某几列作为排序键,这样在数据存储的时候就按照这个顺序存放。

在数据查询的时候,可以按照顺序去查询。

前缀索引

有了排序键,但如果数据量大,且查询的内容比较少的话,对内存的压力就很大。

其实可以考虑跳过很多不需要查询的内容。这就有了前缀索引(clickhouse中有类似的稀疏索引)。

就相当于排序键的索引,每隔一定条数记录(1024条),抽出第一条作为前缀索引,这样需要加载到内存的数据就是原来的1/1024。大大降低了内存压力。

bitMap

bitMap相当于额外增加了对单个字段的索引。主要是针对枚举值比较少的场景。

例如:性别这个字段,基本上只有男、女、保密、不确定等有限个字段,将这四种枚举值转换为bit数组。再过滤的时候直接进行位运算,那么那么读取数据的时候,只会拉取满足条件的数据。

参考文档

面对百亿数据,Hbase为什么查询速度依然非常快? - 墨天轮
排序键和前缀索引 | StarRocks
Bitmap 索引 | StarRocks

相关推荐
B站计算机毕业设计超人2 分钟前
计算机毕业设计hadoop+spark+hive在线教育可视化 课程推荐系统 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hive·hadoop·scrapy·spark·课程设计
alien爱吃蛋挞2 分钟前
【JavaEE】万字详解Mybatis(上)
数据库·java-ee·mybatis
B站计算机毕业设计超人2 分钟前
计算机毕业设计PySpark+Hive+Django小红书评论情感分析 小红书笔记可视化 小红书舆情分析预测系统 大数据毕业设计(源码+LW+PPT+讲解)
大数据·人工智能·hive·爬虫·python·spark·课程设计
写代码的【黑咖啡】3 分钟前
HiveSQL 语法详解与常用 SQL 写法实战
数据库·sql
黄筱筱筱筱筱筱筱7 分钟前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
怣5011 分钟前
MySQL WHERE子句完全指南:精准过滤数据的艺术
数据库·mysql
Lethehong12 分钟前
探索高效工作流的秘密:GLM-4.7 与 Dify 平台深度集成实践
大数据·人工智能·算法
大鳥15 分钟前
第一章 - 数据仓库是什么
大数据·数据库·hive
u0109272712 小时前
RESTful API设计最佳实践(Python版)
jvm·数据库·python
qq_192779879 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python