SAP HANA 和 Hadoop/HDFS 的传感器数据

sensor data with SAP HANA and Hadoop/HDFS

我想将传感器数据保存在合适的数据库中。 我每分钟有 100.000 次写入,每次写入 100 个字节。 我也想对数据进行分析。

我想到了 hadoop,因为它有许多不同的框架来分析数据。(例如 Apache spark)

现在我的问题是: Hbase 一个 nosql 数据库将是合适的解决方案,因为它有一个列族数据模型来访问大列。但它 运行 在 HDFS 之上。 HDFS 有 64 MB 大小的数据块。如果我有 100 字节数据,这对我意味着什么? 我也想 运行 在 hadoop 之上进行机器学习。可以同时使用 HBASE 和 SAP Hana 吗?(SAP Hana 运行s with hadoop)

让我尝试逐步解决您的问题:

I would like to save sensor data in a suitable database.

我建议在 HBase 上使用 OpenTSDB 运行ning 之类的东西,因为无论如何您也想 运行 Hadoop 集群。

I have 100.000 writes every minute with 100 bytes size each write.

正如您正确指出的那样,小 messages/files 是 HDFS 的一个问题。但是对于 HBase 不是这样(块大小被 HBase 抽象掉,不需要为底层 HDFS 调整它)。

Hbase 上的 OpenTSDB 或纯 Hbase 等解决方案可以很好地处理此负载。

那是因为您显然想通过 Hbase 和 SAP Hana 访问您的数据(这可能需要将许多 100 字节文件的测量结果聚合到更大的文件中,因为现在 HDFS 块大小开始发挥作用)我建议处理传入的数据首先通过 Kafka 读取数据,然后通过 Kafka 上的单独消费者从 Kafka 读取原始 HDFS(以某种方式与 Hana 兼容)和 Hbase。

Would it be possible to use HBASE and SAP Hana together?

参见上面的解释,在我看来,Kafka(或类似的分布式队列)将是您想要从小消息流中摄取到多个存储中的东西。

HDFS has 64 MB size of data Blocks. What does that mean for me if i have 100 byte data?

  • 与 Hbase 无关。
  • 对 Kafka 来说无关紧要(至少对于你的吞吐量和消息大小来说它不重要:))
  • 原始 HDFS 存储需要您手动将这些 100 字节的消息聚合成更大的文件(也许 Avro 在这里对您有帮助)

Also i would like to run machine learning on top of Hadoop.

没问题,HDFS 是一个分布式系统,因此您可以将其扩展到更高的性能,并添加基于 Spark 的机器学习解决方案或您想要的任何其他东西 运行 在 Hadoop 之上时间。最坏的情况是您将不得不向您的集群添加另一台机器,但是一旦数据存储在 HDFS 中并且您的集群足够强大,您可以同时对数据进行 运行 的数量没有硬性限制。