在Perl中是否存在非关系型DBI?

时间:2009-04-26 11:01:31

标签: perl dbi non-relational-database

Perl DBI模块允许我透明地连接到许多不同类型的SQL数据库。是否存在用于非关系键值对数据库的等效Perl模块?

例如,一个接口可能让我开始使用BerkeleyDB(甚至只是一个Perl哈希?),但切换到类似memcachedb或CouchDB,甚至像Amazon SinmpleDB或Google AppEngine Datastore提供的云数据库。

(这是Tie :: Hash的作用吗?在这种情况下,我在哪里可以找到实现的摘要?)

4 个答案:

答案 0 :(得分:10)

不确定KiokuDB是否符合要求。它有CouchDB,BDB(BerkeleyDB)和DBI后端。

答案 1 :(得分:4)

tie是一种“在一个简单变量中隐藏对象类的通用机制”。 Tie::Hash是实现哈希关系的便捷实用程序类。

因此,将对象绑定到散列中是访问键值对数据库的适当抽象。据我所知,没有共同的基础设施可以创建这样的联系,所以你应该自己创建一个Factory来隔离你的项目与创建不同联系的各种方式。

答案 2 :(得分:4)

通常,对于每种类型的键值对存储,您都需要单独的模块。

例如:

我不确定是否有适用于Google AppEngine数据存储区的模块 - 通常会在MetaCPAN上搜索适合您的内容。

答案 3 :(得分:3)

CHI看起来很有希望,来自Cache::Cache的制造者。