Tag: nosql

按date查询DynamoDB

我来自关系数据库背景,并试图与亚马逊的DynamoDB合作 我有一个表的哈希键“DataID”和一个范围“CreatedAt”和一堆项目在里面。 我试图获取所有在特定date之后创build并按datesorting的项目。 这在关系数据库中是非常简单的。 在DynamoDB中,我能find的最接近的是一个查询,并使用大于filter的范围键。 唯一的问题是,执行一个查询,我需要一个散列键,击败目的。 那么我做错了什么? 我的表模式是错误的,不应该是唯一的散列键? 还是有另一种方式来查询?

从MySQL切换到Cassandra – 优点/缺点?

有一点背景 – 这个问题涉及一个运行在单个小型EC2实例上的项目,即将迁移到一个中型项目。 主要组件是Django,MySQL以及大量使用python和java编写的自定义分析工具,这些工具很繁重。 同一台机器也在运行Apache。 数据模型如下所示 – 来自各种networking传感器的大量实时数据stream入,理想情况下,我希望build立一种长期轮询方法,而不是每15分钟进行一次当前轮询(限制计算统计信息并写入数据库本身)。 一旦数据进入,我将原始版本存储在MySQL中,让分析工具在这些数据上松动,并将统计数据存储在另外几个表中。 所有这些都是使用Django呈现的。 我需要的关系特性 – 按照[Cassandra的API中的SliceRange似乎可以满足这个] 通过…分组 许多表之间的许多关系[Cassandra SuperColumns似乎对一对多来说都不错] 狮身人面像在这给了我一个很好的全文引擎,所以这也是必要的。 [在Cassandra,Lucandra项目似乎满足了这个需求] 我的主要问题是数据读取速度非常慢(写入也不是那么热)。 我现在不想在它上面投入大量的金钱和硬件,而且我更喜欢随着时间的推移可以轻松扩展的东西。 在这个意义上(或便宜的),纵向扩展MySQL并不是微不足道的。 所以基本上,在阅读了很多关于NOSQL并且尝试了MongoDB,Cassandra和Voldemort之后,我的问题是, 在一个中等的EC2实例中, 我是否可以通过转向Cassandra这样的东西来获得读/写的好处 ? 这篇文章 (pdf)绝对似乎表明这一点。 目前,我会说每分钟写几百个将是常态。 对于读取 – 由于数据每5分钟更改一次,所以caching失效必须很快发生。 在某些时候,它也应该能够处理大量的并发用户。 目前,即使创build索引,MySQL在大型表上进行一些连接也会导致应用程序性能下降 – 大约32k行的内容需要超过一分钟才能完成。 (这也可能是EC2虚拟化I / O的人为因素)。 表格大小约为4-5百万行,大约有5个这样的表格。 每个人都在谈论如何在多个节点上使用Cassandra,给出CAP定理和最终的一致性。 但是,对于一个刚刚开始发展的项目, 部署一个节点cassandra服务器是否有意义 ? 有没有什么警告? 例如,它可以取代MySQL作为Django的后端? [这是推荐?] 如果我转移,我猜我必须重写应用程序的部分做更多的“administrivia”,因为我不得不做多个查询来获取行。 将MySQL用作关键值存储而不是关系引擎会有什么意义吗? 这样我可以利用大量稳定的API以及稳定的引擎(并根据需要去关联)。 (来自Friendfeed的Brett Taylor的post – http://bret.appspot.com/entry/how-friendfeed-uses-mysql ) 任何人谁已经做了转变的任何见解将不胜感激! […]

删除neo4j 1.8中的所有节点和关系

我知道这个问题已经被很多人问过了 对于我的研究,以下是一些问题 如何删除neo4jgraphics中的所有关系? https://groups.google.com/forum/#!topic/neo4j/lgIaESPgUgE 但毕竟还是解决不了我们的问题, 我们只想删除“ALL”节点和“ALL”关系 假设删除“ALL”可以看到有0个节点剩下0个属性和0个关系 这是我执行删除论坛build议删除“所有”后的截图 我的问题仍然是一样的,如何删除neo4j中的所有节点和所有关系

Mongo中的外键?

我如何在MongoDB中devise这样的scheme? 我觉得没有外键!

为什么像Lucene / Solr这样的文档商店没有包含在NoSQL对话中?

我们所有人最近都遇到过最近的非SQL解决scheme的炒作。 MongoDB,CouchDB,BigTable,Cassandra和其他已被列为非SQL选项。 这是一个例子: http://architects.dzone.com/articles/what-nosql-store-should-i-use 但是,三年前,一名同事和我正在使用Lucene.NET,因为它似乎适合于非SQL的描述。 我们没有使用它只是为了用户input的search查询; 我们用它来使一些重新索引的RDBMS表格数据非常高效。 我们实现了自己的.NET等价于Solr的服务来pipe理这些索引并使之可以被调用。 当我离开公司时,团队转向了Solr本身。 (对于那些不了解的人,Solr是一个Web服务,它使用REST可调用的查询和索引转储来包装Lucene。) 我不明白的是,为什么Solr不包括在没有SQL解决scheme的典型列表中? 我在这里错过了什么? 我认为Solr和CouchDB等没有可比性的技术原因,事实上我明白CouchDB使用Lucene作为它的数据存储(yes?),但是什么使得Solr不合格呢? 我并不是要求某种Solr fanboy或任何东西,我只是不明白为什么Solr等不符合no-SQL的定义,如果Solr在技术上符合定义,那么它可能会如何人们噗噗呢? 我在问,因为我很难确定我是否应该继续使用基于Lucene的解决scheme(如Solr)来构build解决scheme,或者如果我真的需要使用这些其他选项进行更多的研究。

生活没有JOINs …理解和常见的做法

很多“BAW”(大屁股网站)正在使用数据存储和检索技术,这些技术依赖于具有索引的巨大表格,并且使用不会/不能在查询中使用JOIN的查询(BigTable,HQL等)处理可扩展性和分片数据库。 当你有很多非常相关的数据时,这是如何工作的? 我只能推测,这个join的大部分都是在应用程序方面完成的,但是不会开始变得昂贵? 如果你不得不对几个不同的表进行几个查询来获得信息进行编译呢? 是不是碰到数据库,多次开始比首先使用联接更昂贵? 我想这取决于你有多less数据? 对于通常可用的ORM,他们如何倾向于处理无法使用连接? 在今天使用率很高的ORM中是否有这种支持? 或者大多数需要处理这个级别的数据的项目往往会自行推出? 所以这不适用于我目前正在进行的任何项目,但现在我已经有好几个月的时间了,我只能猜测“最佳实践”是什么。 我从来没有必要在我的任何项目中解决这个问题,因为他们从未达到需要的规模。 希望这个问题也能帮助其他人。 正如下面有人所说,没有联接,ORM“不工作”。 是否有其他数据访问层已经可供开发人员处理此级别的数据? 编辑:对于一些澄清, Vinko Vrsalovic说: “我相信snicker是想谈论NO-SQL,其中事务数据是非规范化的,并在Hadoop或BigTable或Cassandrascheme中使用。 这就是我所说的。 奖励积分为那些谁赶上xkcd参考。

NoSQL中的事务?

我正在研究NoSQL扩展数据库的替代scheme。 如果我想要基于交易的事物对这些事情敏感,我该怎么办?

有人试图neo4j与泰坦 – 利弊

有谁可以提供或指出Neo4j和泰坦之间的一个很好的比较? 我能看到的一件事就是规模 – Titan是扩展的,需要像cassandra这样的基础可扩展数据存储。 Neo4j仅适用于HA,并拥有自己的embedded式数据库。 任何其他利弊? 任何具体的使用情况。 (Titan目前在任何地方使用?) 我也有以下链接: http : //architects.dzone.com/articles/16-graph-databases-compared给出了一个graphics数据库的客观比较,但没有太多的利弊Neo4j和泰坦之间。

什么是deviseCassandra数据模型的最佳实践?

有什么要避免的陷阱? 你有什么交易吗? 例如,我听说导出/导入Cassandra数据非常困难,这让我想知道是否会妨碍将生产数据同步到开发环境。 顺便说一句,在Cassandra上find很好的教程是非常困难的,我唯一拥有的http://arin.me/code/wtf-is-a-supercolumn-cassandra-data-model仍然是非常基础的。 谢谢。

在Redis数据库中转储所有的键/值对

我在Ruby中使用了一个名为Ohm的ORM,它在Redis上工作,并且很好奇如何确定数据是如何存储的。 我想知道是否有办法列出Redis数据库中的所有键/值。 任何领导都会帮助我(我基本上坚持atm)很长的路要走。 提前致谢! 更新: 其他人的注意事项使用redis-cli来试用这个,使用这个: $ redis-cli keys * (press * followed by Ctrl-D) … (prints a list of keys and exits) $ 感谢@antirez和@hellvinz!