NoSQL和RDBMS在一起?


13

我想知道是否有什么好的解决方案可以在NoSQL数据库中记录数据,然后将其转换为RDBMS?

例如,如果您想快速捕获一些数据(例如会话日志),但是希望以后能够为其创建报​​告。

我最喜欢的数据库是Postgres,因此,如果您的答案与Postgres相关,那将很棒。


此时,postgres具有xml,json和gis本机以及hstore(键,值)作为扩展名。如果使用postgres,则几乎不需要nosql db。
xenoterracide 2015年

也就是说,cqrs模式旨在简化您的问题
xenoterracide 2015年

Answers:


10

快速解答-是的。一直发生。

有很多好的解决方案。您的环境中已经有什么解决方案?我正在帮助一个从Web应用程序获取其网站/会话活动信息的客户端,他们将其写入xml,然后将该xml反序列化为Hadoop。然后,他们在Hadoop之上使用Hive来创建汇总和事实(通过将该日志数据与他们存储在Postgres数据库中的网站中的引用数据结合起来)。然后将这些汇总和事实加载到RDBMS中(由于SQL Server堆栈中提供了丰富的分析功能,因此它们使用SQL Server)。

我将探索Hadoop,看看Hive,它是Hadoop之上的查询引擎,可让您编写与SQL非常相似的声明性查询,并在后台将其转换为MapReduce作业。然后查看Sqoop,这是Hadoop系列中的另一个工具,可帮助您导出/导入数据。

http://hadoop.apache.org/ http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/ref=sr_1_1?s=books&ie=UTF8&qid=1319160463&sr=1-1 http ://www.cloudera.com/blog/2009/06/introducing-sqoop/ http://hive.apache.org/

那里还有其他选择...


好吧,这是一个非常完整的答案。听起来不太简单,但是听起来它使用了很多很酷的技术。

好吧,就件数等方面而言,它并不是“简单的”,但实际上,一旦开始使用,它实际上并没有那么复杂。您为工件选择哪种工具取决于您所处的环境以及您对环境的适应程度。查看这些链接,查看该书推荐链接。
Mike Walsh

4

并非所有的NoSQL都是一样的。例如,MongoDB具有非常好的查询功能。检索数据,对数据进行排序很容易使您想起SQL。因此,我要说的是,您不应该考虑-使用SQL进行报告,除非您拥有一些现成的工具,这些工具需要与SQL兼容的数据。从商店中获取类似SQL的结果(例如CouchDB),要想定义一个简单的从句类型查询就不是一件容易的事,而其他一些NoSQL则涉及更多。MongodDB-我使用过Python驱动程序-很麻烦。因此,我担心担心将数据移植到关系存储的重要性降低了。


3
您与MongoDB有任何链接或从属关系吗?刚加入的四个答案对MongoDB来说都是非常积极的,听起来像是营销。您可能是正确的,但是如果您有兴趣的话,它的形式很差……
gbn

显然您是在GBN那里吓到他了
jcolebrand
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.