从关系数据库访问Redis

时间:2010-07-08 16:23:03

标签: database export nosql etl redis

有没有办法从关系数据库访问Redis数据,例如Oracle或SQL Server?

我想到的一个用例是ETL到数据仓库。

2 个答案:

答案 0 :(得分:0)

我试图理解这个问题:你有传统RDBM中的数据,你想从这里提取信息,并加载到Redis?或者反过来呢?

无论哪种方式,由于我没有能力谈论RDBMS,我希望创建一个程序(在我的例子中是Java),它将从Redis中提取信息,并将其上传到Oracle。可以使用Java客户端库(JDBC Redis,JRedis是示例)与Redis进行交互。

如果您可以详细说明您的问题,您可以从社区获得更好的答案。

答案 1 :(得分:0)

好吧,如果你在你的ORA上使用服务器端Java对象(并且他们可以进行REST调用,至少,如果不是socket io(不知道))那么你可以从Oracle中的存储过程调用Redis

[编辑]

如果你可以建立套接字连接,那么只需要在你的Oracle服务器的lib中包含JRedis jar,这样服务器端对象就可以创建客户端。

如果这不可能 - 我会严肃质疑一个让SProcs和触发器打开通用TCP连接的数据库 - 然后你就会消耗掉Web服务。

JRedis不支持Web服务,但没有任何东西可以阻止您包装JRedis并公开您需要的任何命令作为RESTFul资源。所以在这里,你可以在服务器R上运行Redis,这是一个在服务器R或R`上运行JRedis的java web服务器(Jetty / Jettison会很好)。由于Redis是单线程的,因此可以在与JVM相同的多核盒上运行它;它只是一个资源问题,它就足以让你在Redis和JRedis之间的连接上使用环回,并且保证比遍历网络边界更快!但是,如果您需要的负载排除了Redis和JRedis(代理)的共置,那么请使用第二台服务器。

当然,您在服务器D上运行数据库。所以D< => R`< => R.当然,你将支付第二跳的延迟费用。