标签: non-relational-database

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

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

例如,一个接口,可以让我先用BerkeleyDB的(甚至只是一个Perl哈希?)开发,但切换到像memcachedb或CouchDB的,甚至是云数据库像亚马逊SinmpleDB或谷歌的AppEngine数据存储提供的服务.

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

perl dbi non-relational-database

3
推荐指数
1
解决办法
328
查看次数

代表couchDB中的多对多关系

假设我正在编写一个日志分析应用程序.主域对象是LogEntry.此外.应用程序的用户定义了一个LogTopic,它描述了他们感兴趣的日志条目.当应用程序接收日志条目时,它会将它们添加到couchDB,并根据系统中的所有LogTopics检查它们,看它们是否与主题中的条件匹配.如果是,则系统应记录该条目与主题匹配.因此,LogEntries和LogTopics之间存在多对多关系.

如果我将它存储在RDBMS中,我会做类似的事情:

CREATE TABLE Entry (
 id int,
 ...
)

CREATE TABLE Topic (
 id int,
 ...
)

CREATE TABLE TopicEntryMap (
 entry_id int,
 topic_id int
)
Run Code Online (Sandbox Code Playgroud)

使用CouchDB我首先尝试只有两种文档类型.我有一个LogEntry类型,看起来像这样:

{
  'type': 'LogEntry',
  'severity': 'DEBUG',
  ...
}
Run Code Online (Sandbox Code Playgroud)

我有一个LogTopic类型,看起来像这样:

{
  'type': 'LogTopic',
  'matching_entries': ['log_entry_1','log_entry_12','log_entry_34',....],
  ...
}
Run Code Online (Sandbox Code Playgroud)

您可以通过使用matching_entries每个LogTopic文档中的字段来存储LogEntry文档ID列表来查看我表示关系.这在某种程度上可以正常工作,但是当多个客户端都试图向主题添加匹配条目时,我遇到了问题.两者都尝试乐观更新,一个失败.我现在使用的解决方案是基本上重现RDBMS方法,并添加第三种文档类型,如:

{
  'type':'LogTopicToLogEntryMap',
  'topic_id':'topic_12',
  'entry_id':'entry_15'
}
Run Code Online (Sandbox Code Playgroud)

这工作,并通过并发更新问题,但我有两个保留:

  1. 我担心我只是使用这种方法,因为它是我在关系数据库中所做的.我想知道是否有更像couchDB(放松?)的解决方案.
  2. 我的视图无法再在一次调用中检索特定主题的所有条目.我之前的解决方案允许(如果我使用了include_docs参数).

任何人都有更好的解决方案吗?如果我也发布了我正在使用的观点会有帮助吗?

couchdb non-relational-database nosql

3
推荐指数
1
解决办法
2658
查看次数

使用Ruby on Rails推荐非关系数据库?

我想开始使用非关系型数据库,但想要一些与Rails一起使用的东西.我正在考虑文章中的那些并倾向于Voldemort或CouchDB:

http://www.ithighlight.com/2009/07/list-of-companies-powered-by-non-relational-database/

有什么建议?

ruby ruby-on-rails non-relational-database

3
推荐指数
1
解决办法
737
查看次数

便携式非关系数据库

我想尝试/玩非关系数据库,如果解决方案是:

  • 便携式,意味着它不需要安装.理想情况下,将目录复制粘贴到某个位置会使其工作.我不介意它是否需要编辑一些配置文件或运行配置工具以供首次使用.
  • 可从python访问
  • 适用于Windows和Linux

你能为我推荐什么?

基本上,我希望能够在我没有用户权限的共享linux服务器上安装此系统.

python non-relational-database portable-database

2
推荐指数
2
解决办法
2914
查看次数

建议:noob的非RDBMS数据库

对于基于Erlang,Python的新应用程序,我们正在考虑尝试非RDBMS数据库(仅仅是为了它).我研究过的一些数据库是Mongodb,CouchDB,Cassandra,Redis,Riak,Scalaris.这是一个简单要求的列表.

  1. 易于开发 - 我需要进行快速的概念验证演示.所以数据库需要有适合Eralang和Python的适配器.
  2. 我正在开发一个新的应用程序,我们有很多"连接"数据.有人推荐Neo4j用于图形数据.有什么想法吗?
  3. 可扩展 - 我们正在研究分布式架构,因此可扩展性非常重要.
  4. 目前,性能(以任何形式)并不完全在我的列表之上,我认为我们不会很快达到任何上述数据库的限制.

我只是在寻找非RDBMS数据库的起点.有什么建议?

database erlang non-relational-database

2
推荐指数
1
解决办法
571
查看次数

数据库非ORM和Scala

与Scala一起使用的最佳非ORM数据库是什么?我找到了这个链接链接文本,但这并没有完全回答我的问题.

可以被认为是理想的功能性能,可伸缩性和编写数据之间复杂关系结构的工具.

谢谢

scala non-relational-database

1
推荐指数
1
解决办法
1070
查看次数

MongoDB 嵌套集合与单独集合

我有一个与数据库相关的一般问题。它更具体地说明了如何处理关于 MongoDB 的集合。

假设我有一个 Parent 集合。然后我有一些除了父级之外的子级集合。它们每个都有单独的模式。目前,它们作为单独的集合存在于数据库中。

我通过将 parentId 属性添加到每个子文档来处理链接。

IE

Some_Child = {
        "parentId" : "some_id",
         rest_of_schema
  } 
Run Code Online (Sandbox Code Playgroud)

这似乎工作得很好。但是,我注意到我现在每次需要 Child 数据时都必须处理两个集合。这会导致更多的代码。即多次订阅,每次我只想对 Child 做一些事情时,都会调用 DB 调用。

关于以这种方式构建数据与在每个父文档上仅拥有一组 Childs 相比,您有什么想法?

IE

 Some_Parent = {
        "Childs" : [
                         {child1},
                         {child2},
                         {childN}
],
        Rest_Of_Schema
       }
Run Code Online (Sandbox Code Playgroud)

我对此的担忧是它是面向未来的。假设如果 Child 需要更多的数据和功能......那么父文档最终可能会变得非常大和混乱。此外,一般来说,抽象出这两个集合可能会更清晰。

通常,(在 RDMS 中),我什至不会考虑使用选项 #2。所以我只是想知道这是否是文档存储、MongoDB(以及一般的非关系 DBMS)的可接受模式。

任何见解?

javascript database non-relational-database mongodb

1
推荐指数
1
解决办法
579
查看次数

如何让Yii从已知用户生成下拉列表?

我刚刚开始学习使用yii,并且已经设法做了一些基本的东西.

假设我有两个简单的表:"用户"和"项目",其中关系是1到多(一个用户可以有很多项目)

我使用GII生成了CRUD,但是在"创建/编辑用户页面"中,这不提供下拉列表,而只提供我需要输入用户ID的文本字段.

在编辑项目时,我想有一个下拉列表,我可以在其中选择一个用户(因此该元素应该显示一个用户名列表).

我假设GII无法为此生成控制器和查看代码

这样做的最佳做法是什么?

我已按照http://www.yiiframework.com/doc/guide/1.1/en/database.arr中的说明声明了这些关系

public function relations()
{
   return array(
        'projects_rel'=>array(self::BELONGS_TO, 'Users', 'user_id'),
    );
}
Run Code Online (Sandbox Code Playgroud)

public function relations()
{
    return array(
        'users_rel'=>array(self::HAS_MANY, 'Projects', 'project_id'),
    );
}
Run Code Online (Sandbox Code Playgroud)

php activerecord non-relational-database yii

0
推荐指数
1
解决办法
6570
查看次数