hbase的实时应用

bq9c1y66  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(516)

我想建立一个预测性维护的实时应用程序。我想在phoenix上使用hbase。phoenix在hbase上提供sql层。
我读到hbase对像1亿行加上++这样的大数据很有用。但我的申请数据目前还没有数据。如果开始时只有少量数据,hbase数据库将如何React?hbase是实时web应用的好解决方案吗?
我想要一个类似lambda架构的系统。用于批处理和流处理。hdfs上的hbase是否会同时是我的oltp和olap系统?
因为lambda架构有一个批处理和速度层。我是否可以将hdfs中的hbase数据也用于批处理并将结果保存回hbase?
一般来说,我想知道hbase是否是一个好的解决方案,以建立一个实时网络应用程序,也有可能做分析。

bkhjykvo

bkhjykvo1#

hbase的选择通常基于以下几点:
成交量:千亿比千亿好
特性:当您不需要事务、二级索引和一些rdbms特性时
硬件:确保您有足够的硬件用于区域服务器。它需要大量的维护
更具体地说:
它最适合web应用程序,因为它具有快速的随机读取查询。但这只有非常好的行键设计。这涉及到提前规划结束查询并设计行键。如果您也有基于时间的数据并且您的查询严重依赖于它,那么在行键设计中需要特别小心。简而言之,你应该避免热点。这里有一些信息
除此之外,可以使用hbase过滤器按其他列值进行选择,但是选择很少,并且可能无法保证web应用程序的响应时间。
另外,如果数据集(行)的列数可变,并且查询中不需要所有列,那么hbase也是最佳选择
在hbase中,服务器(区域)故障切换是可能的,因此您的数据将是安全的。
它可以用于批处理和流式处理。当然,对于流媒体,它是大数据栈中最好的。不过,这也取决于你的流媒体管道-如Kafka,Spark流或风暴等。
既然您提到了phoenix,我想您可能希望继续使用hbase的sql视图—这可能会给您提供更好的选择。然而在核心,行键设计仍然是hbase性能的核心

相关问题