草庐IT

database-replication

全部标签

mongodb - 如何实现将 MongoDB(或 CouchDB)实时复制到多个远程客户端

我正在考虑如何设计一种机制来同时将一个(可能很大的)MongoDB或其他NoSQL(CouchDB等)数据库复制到数十个客户端。客户端将像副本集一样运行,但复制是单向的,远程客户端将属于其他方。具体来说,我正在寻找以下功能:实时:对主数据库的更改应尽快推送给客户端复制到新客户端:新客户端必须能够连接,自动同步大部分现有数据,然后接收实时更新。高效:数据的初始同步/传输和实时更新跟踪(“差异”,如果您愿意的话)在计算上都是高效的,并且连接了多个客户端。安全:主数据库提供了一个接口(interface),远程客户端(不属于同一所有者或系统)可以连接到该接口(interface):即,我们不

database - 如何使用 mongoimport 指定前导字段名称?

我正在将一个非常大的csv文件导入到mongodb,它遵循以下格式:"zzzàms@hotmail.com","12071988""zzzг ms@hotmail.com","12071988""zzпїѕпїѕmmbbii2@bk.ru","MA15042002""zzпїѕпїѕmmbbii2@list.ru","MA15042002""zzпїѕпїѕmmbbii2@rambler.ru","MA15042002""zzпїѕпїѕmmbbii2@yandex.ru","MA15042002"但是,我不确定在电子邮件字段之后会有多少字段/列。我已经使用这个命令导入了:mongoi

database - 在 $facet 中使用 $sort 和 $limit 时慢 Mongo 聚合

我注意到在看似相同的聚合中存在巨大的性能差异,至少在概念上如此。测试是在一个简单的集合结构上进行的,它有一个_id和一个名称以及一个createdAt,但其中有2000万个。createdAt上有一个索引。它托管在mlab集群上,版本为3.6.9WiredTiger。我正在尝试使用聚合进行简单的分页,我知道我可以使用查找和限制,但我喜欢向管道添加更多元素,我给出的示例非常精炼。db.getCollection("runnablecalls").aggregate([{$facet:{docs:[{$sort:{createdAt:-1}},{$limit:25},{$skip:0},]

database - Mongodb 不为对象数组使用索引

我试图通过对嵌套对象数组进行查找查询来获取集合中的少量文档。嵌套对象已编入索引,但查找查询未使用索引来获取文档。这是文档的结构。"_id":ObjectId("5bc6498c1ec4062983c4f4ef"),"appId":ObjectId("5bbc775036021bea06d9bbc2"),"status":"active","segmentations":[{"name":"ch-1","values":['true'],"type":"string"},{"name":"browerInfo","values":["Firefox"],"version":["62.0"

c# - MongoDb C# 驱动程序 : mapping events to read database in cqrs solution

我们使用MongoDb作为我们应用程序的数据源,该应用程序是使用cqrs和事件源构建的。我们今天面临的问题是什么是实现事件映射(非规范化)以读取数据库的最佳方式。例如,我们有一个用户MongoDb集合,其中包含有关用户的所有信息。我们有这样的事件:[Serializable]publicclassPasswordChangedEvent:DomainEvent{privatestring_hashedPassword;privatestring_salt;publicPasswordChangedEvent(){}publicPasswordChangedEvent(stringhas

javascript - Meteor Security : should all database insert, 更新,删除操作是对服务器的 Meteor.call()?

通过Meteor.call()调用服务器方法,在服务器端执行任何涉及插入、更新、删除文档的数据库操作是否会影响性能?或者有没有更好的方法,或者是否也可以让客户端在他这边完成所有这些操作,然后将更改发送到服务器并广播给所有其他客户端?我的场景涉及以下内容:我想要一个响应式(Reactive)数据表,它会自动反射(reflect)某人(登录另一个帐户)或他自己添加新行、更新行或删除行的时间。我已经构建了一个无限滚动,但问题是当我进入详细信息页面(单击一行)并返回时,我失去了原来的位置,我必须向下滚动我的鼠标前轮以便加载其他文档。 最佳答案

database - 从 MongoDB Atlas 迁移我的数据

我最近在Atlas上托管的MongoDB实例与托管使用数据库的应用程序的AWS实例之间有很多奇怪的用法。这就是为什么我考虑在我自己的AWS服务器上托管MongoDB。从那时起,我一直试图寻找有关如何将我的数据从Atlas迁移到我自己的设置的教程,但除了从其他东西迁移到Atlas的教程之外,没有找到任何其他东西(这不是我想要的)我只是没有看到一些标准的方法,对低级MongoDB的东西相当缺乏经验,还是他们积极地保持沉默?我非常感谢您的帮助,因为我正在主持一个业余项目,而大部分成本来自在我的AWS实例和Atlas之间移动数据的网络成本。 最佳答案

mongodb - 如何设置不隐藏的mongodb延迟slave?

出于测试目的,我试图通过设置slaveDelay=n的从属来模拟mongodb集群中的复制滞后。事实证明,这神奇地导致从站被隐藏,所以我的测试无法访问它。mongodbdocumentation状态“通常我们不希望延迟成员用于slaveOkay读取。因此,设置slaveDelay也会从您的应用程序中隐藏该成员,就好像您还设置了hidden:true一样。”有没有办法针对我的“非典型”用例进行配置?或者是否有更好的方法来模拟从具有不同时滞的不同从站读取数据?我尝试使用TaggedReadPreference强制测试代码连接到延迟的从站,但这会导致com.mongodb.MongoExce

ruby - "database.config"在 Mongify 中的位置是什么?

我正在使用Mongify将SQLServer数据库转换为Mongo数据库。我正在关注文档,当他们引用database.config文件时我迷路了。我尝试创建它并将其放入:C:\Ruby21-x64\lib\ruby\gems\2.1.0\gems\mongify-1.2.4但是这在我运行时不起作用:mongifycheckdatabase.config我应该把database.config放在哪里? 最佳答案 按照README中的建议,将此文件放在磁盘的任何位置并在命令行中指定路径。.

node.js - 架构 : Multiple Mongo databases+connections vs multiple collections with Express

我正在构建一个应用程序,用于在MongoDB中为多个不同的客户存储敏感数据。每个客户端(电子邮件、联系人、session)的数据模型都是相同的。所有客户端都使用相同的API和相同的Express服务器访问数据。我已经阅读了很多关于使用一个大型集合、多个集合和多个数据库的文章:Mongooseandmultipledatabaseinsinglenode.jsprojectMongoDBperformance-havingmultipledatabases我喜欢每个客户端使用一个数据库的想法,因为它安全且数据的简单隔离。我这样想对吗?同样在这种情况下,我有点担心在Express中管理数据