草庐IT

nosql-aggregation

全部标签

mongodb - 在单个 Postgresql 实例上结合 NoSQL 和关系数据库

我有一个现有的关系型Postgresql数据库。一些表包含非常胖的blob,它们作为NoSQL文档会更好。这将大大减轻我们的关系数据库。因此,我们考虑将这些blob表移至CosmosDB或MongoDB等NoSQL解决方案中。然而,纯关系表存在外键依赖关系,这使得将这些表移出到它们自己的数据库中变得复杂。我发现PSQL原生支持存储Documents,可以分布式。到目前为止,我看过的解决方案是CitusData和PostgresXL。对于那些使用过它们的人,他们如何比较?有没有人遇到过类似的情况?您是否分离到NoSQL数据库中?或者有人将他们的PSQL划分为关系部分和NoSQL部分吗?怎

mongodb - 如何使用 NoSQL (Cassandra) 实现客户端身份验证解决方案?

我目前正在考虑如何使用NoSQL解决方案为Web应用程序实现身份验证。我在此遇到的问题是,在大多数NoSQL解决方案(例如Cassandra、MongoDB)中,可能会延迟写入。例如,我们在节点A上写入,但不能保证写入同时出现在节点B上。这与NoSQL解决方案背后的方法是合乎逻辑的。现在的一个想法是您不进行二次读取(因此一切都经过母版)。这可能适用于MongoDB(您实际上有一个主节点),但不适用于Cassandra(所有节点都相等)。但是我们的应用程序在世界各地的几个独立点运行,因此我们需要多主控能力。目前我不知道Cassandra的解决方案,我可以在其中更新数据并确保后续读取(对所

mongodb - NoSQL(MongoDB) 中的提交和磁盘持久化

在NoSQL数据库中我们没有事务(提交)所以我想知道数据库如何提交持久性?当我们告诉db只保存对象时,这并不意味着它在磁盘上,刷新缓存应该是磁盘持久化的句柄。我RDBMS事务的提交保证数据在磁盘上,那么MongoDB或其他NoSQL呢?n, 最佳答案 我想知道这个模因是从哪里来的。首先,由于所有的缓存层,没有真正保证任何东西都被写入实际的HDD,甚至传统的RDBMS也不会一直尝试写入文件,否则它们不会如此速度很快,但细节差异很大(参见示例adaptiveflushinginInnoDB)。您应该只关心第一层,这本质上是数据库尝试写入

java - 将 Spring Data 随机(嵌入式)Mongo 端口与 NoSQL JUnit @Rule 一起使用

我目前正在尝试编写一个使用SpringDataMongo存储库的集成测试类。我使用由de.flapdoodle.embed.mongo依赖项提供的嵌入式Mongo实例。SpringData文档指定我们只需将此依赖项放入项目中,EmbedMongoAutoConfiguration会处理其余部分。现在,没关系,将端口设置为0会使自动配置过程找到空闲端口来启动mongo实例。此功能对我来说是必要的,以避免与其他测试(与我公司的其他项目一起在JenkinsCI服务器上运行)发生冲突。现在问题来了,我希望能够在我的每个测试方法运行之前从某个外部文件中注入(inject)一些测试数据。我发现No

MongoDB 聚合 : Aggregate array into keyed objects

我想使用聚合功能将文档数组展平为键控对象。这是我的文档示例:[{"_id":1,"texts":[{"language":"english","text":"hello"},{"language":"german","text":"hallo"},{"language":"french","text":"bonjour"}]},…]预期结果:[{"_id":1,"texts":{"english":"hello","german":"hallo","french":"bonjour"}},…]我研究过不同的运算符,例如$map,但这似乎专注于将数组转换为数组。我可能需要一个与$redu

.net - 无架构数据缓存:NoSQL或其他替代方案?

我正在评估一些nosql实现(目前是ravendb和mongodb),作为解决涉及存储/检索无模式数据的特定需求集的一种方法。我想得到一些关于nosql是否是我应该关注的方向的反馈,或者是否还有其他(可能更简单的)选项。本质上,我们有一个软件产品,它(除其他外)定义了一个基本的领域模型,这个模型由几个相关的实体组成,每个实体都有许多属性(键/值)。当我们发布给客户时,我们与他们一起设置属性和值,这本质上是系统的配置。这是相当简单的,因为设计是预先知道的,所以我们不需要任何动态的东西来实现这一点并使其执行(我们将使用RDBMS)。属性不是预先知道的,但是这不是一个问题,因为系统的这一部分

sql - 如何修复我在 nosql (mongodb) 中的 m..n 关系?

起初我试图建立一个集会(你知道有司机的汽车......)数据库。我有两个集合:drivers{name,address,sex,...}然后是另一个tournaments{name,location,price,...}我尽量保持简单。在锦标赛中应该有车手(因为没有车手的锦标赛......好吧,这并不好^^)。还有我的问题,在普通的sql数据库中,我可以选择两个主键(让我们说nameindrivers和nameintournaments-只是为了简单起见,我知道name作为主键并不好)。因为它是一个m..n关系(对吗?)我会制作一个3.表,其中包含两个主键。好的,那很容易。但是我应该如

MongoDB Count() 与聚合

我在mongo中经常使用聚合,我知道分组计数等方面的性能优势。但是,mongo在计算集合中所有文档的这两种方式的性能上有什么不同吗?:collection.aggregate([{$match:{}},{$group:{_id:null,count:{$sum:1}}}]);和collection.find({}).count()更新:第二种情况:假设我们有这个示例数据:{_id:1,type:'one',value:true}{_id:2,type:'two',value:false}{_id:4,type:'five',value:false}使用aggregate():var_i

javascript - 来自 aggregate() 和 find() 的 promise 以及用于 NodeJS 的 MongoDB 驱动程序

我经常读到NodeJS的MongoDB驱动程序(>2.0)支持promises。但我找到的唯一示例是connect()和findOne()函数。虽然它适用于那些并且我可以得到promise,但它不适用于aggregate()或find()。我知道那是因为他们可能会返回游标,但由于有promise支持,这些promise在哪里?必须有办法与他们合作。非常欢迎链接、示例或简单的解释:)谢谢,乔迪。 最佳答案 将find()或aggregate()的结果链接到.toArray()。当前mongodbnodejs驱动程序的toArray文档

mongodb - 哪个 NoSQL ... 又是 :), 但用例不同

关于NoSQL数据存储的建议,以便我们可以推送数据并轻松生成实时Qlikview报告?简单的意思是:1.Qlikview支持读取(可用mongodb连接器,否则可以编写JDBC连接器,否则可以将自定义QVX连接器写入数据存储)能够轻松适应架构或无架构的变化。我们经常改变我们的模式......Java写入支持读取速度超快-实时增量访问,以及对某个时间范围内的旧数据进行批量访问。我读到Cassandra在范围方面表现出色。相当快的写入相当大的数据存储-每天存储2000万行,每行约200字节如果它可以针对一年的数据进行扩展,那就太好了,弹性不是那么重要。易于使用、安装和运行。着眼于最短的设置