如何使用marklogic数据库进行数据的实时处理

时间:2016-06-09 08:00:59

标签: marklogic

我正在尝试评估marklogic以实时处理数据。早些时候我使用kafka和storm来实时处理数据并在处理后插入数据库。我是marklogic的新手,所以任何人都可以告诉我marklogic中有什么可用的,我可以用它来实时处理数据,并在获取数据后再将其插入marklogic数据库。

3 个答案:

答案 0 :(得分:3)

MarkLogic具有极高的可扩展性,并具有触发器,警报和CPF等功能,您可以构建逻辑来决定如何处理传入内容。但是有一些注意事项可以让你开始:

MarkLogic是一种无共享架构,因此每个节点上的CPU和HTTP服务器都是独立的,因此在考虑如何平衡传入消息时,必须牢记这一点。

MarkLogic也不会流式传输到磁盘。

MarkLogic可以通过一个优秀的HTTP客户端连接,但我不相信有任何开箱即用的功能可以将内容附加到开放连接(这与为什么它也没有ftp功能有关,我相信)。

所以,我指出这些项目,以便您了解您正在处理不同的类型的系统。所以这种方法并不相同。实际上,通过使用预提交触发器或仅使用基于http的应用程序以及反向查询等超高速功能并设计与MarkLogic工作方式相匹配的解决方案,处理大量数据以进行实时处理可以是很棒的解决方案。我参与了一个大型实现,MarkLogic很乐意从上游WebSphere消息代理接收和处理大量消息。有些消息在内部处理,其他消息则传递给Splunk和其他系统。

我以高级方式回答了您的问题,因为它并没有真正提出详细的问题 - 而且MarkLogic是一个庞大而强大的解决方案,您真正需要自己了解它。如果您有时间,可以参加为期一天的免费培训课程,涵盖基础知识 - 这将使您能够更好地了解产品并根据您的需求进行评估。

BTW:MarkLogic的所有培训都是免费的。以下是基础课程的链接:http://www.marklogic.com/training-courses/marklogic-fundamentals /这也可以按照自己的时间进行(自定进度)

答案 1 :(得分:3)

另外,请查看可在Storm或Kafka中使用的MarkLogic Java Client API。也许这为您提供了一种方法来继续进行实时处理,然后使用Java API将数据插入MarkLogic。

答案 2 :(得分:-1)

有一个用于MarkLogic的开源Kafka Sink Connect。请查看https://github.com/sanjuthomas/kafka-connect-marklogic

将高速数据流式传输到MarkLogic时,您可以将Kafka用作缓冲区。如果MarkLogic的写入吞吐量可以接受,那么您可以使用自定义REST端点在摄取时间内转换/处理数据。我不会将上一代触发器和基于CPF的转换视为可扩展的解决方案,更重要的是,当您在开源世界中使用其他成熟的流处理框架/工具时,调试CPF管道问题并不是您想要做的事情。