MongoDB副本集及C#程序的连接配置

1.副本集 高可用是绝大多数数据库管理系统的核心目标之一。如果要想生产数据在发生故障后依然可用,就需要确保为生产数据库多部署一台服务器。MongoDB副本集提供了数据的保护、高可用和灾难恢复的机制。 在MongoDB中,有两种数据冗余方式,一种是 Master-Slave 模式(主从复制),一种是 ... »

关于MongoDB时间格式转换和时间段聚合统计的用法总结

一 . 背景需求 在日常的业务需求中,我们往往会根据时间段来统计数据。例如,统计每小时的下单量;每天的库存变化,这类信息数据对运营管理很重要。 这类数据统计依赖于各个时间维度,年月日、时分秒都有可能。因为需求变化多样,并且表的设计有严格的规范,我们不可能将订单的下单时间分别拆分存储到 年、月、日、时 ... »

MongoDB关于固定集合(capped collection)的知识梳理

一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection)。 固定集合可以声明collection的容量大小,其行为类似于循环队列。数据插入时,新文档会被插入到队列的末尾,如果队列已经被占满,那么最老的文档会被之后插入的文档覆 ... »

搭建MHA时yum 安装perl模块提示 baseurl 错误

今天在搭建MySQL MHA 安装MHA node所需的perl模块(DBD:mysql)时遇到了一个小的错误,如果思路不对的话,还是产生不少麻烦。 现梳理记录下来。 问题现象 执行的命令 yum install perl-DBD-MySQL -y 报错信息如下: 可以看出错误的关键字为 :Cann ... »

数据库索引结构知多少

前几天在看 2018 云栖大会,来自中科院计算所的陈世敏研究员在“数据库内核专场”做了一场《NVM在数据库领域的研究和探索 》的报告演讲。在30分钟的演讲中,其中有近10页PPT的内容和B+Tree这种索引有关。 例如其中的两页 为此,将自己对索引相关的理解梳理如下: 1.什么是索引? 索引是磁盘上 ... »

安装MySQL8.0 遇到的3个小错误

过去公司都是用的5.7 系列的MySQL,随着8.0的发版,也想试着升级一下。遇到了两个小错误,记录在此。 路径设置: 安装包路径:/data/mysql80/ 数据路径: /data/mysql/ 下面描述一下,我遇到执行的遇到的错误 和 问题解决方案: 问题1 Premission denied ... »

如何在MongoDB设计存储你的数据(JSON化)?

第一步 定义要描述的数据集 当我们决定将数据存储下来的时候,我们首先要回答的一个问题就是:“我打算存储什么样的数据?这些数据之间有什么关系?实体之间有什么关系?实体的属性之间有什么关系”。 为了说明问题,我们这儿举例的场景是要描述 库存清单的数据库,库存清单数据 包括 物料名称、数量、规格大小、状态 ... »

通过Visual Studio 2012 比较SQL Server 数据库的架构变更

一 需求 随着公司业务的发展,数据库实例也逐渐增多,数据库也会越来越多,有时候我们会发现正式生产数据库也测试数据库数据不一致,也有可能是预发布环境下的数据库与其他数据库架构不一致,或者,分布式数据库上线,发现某些不可预知的原因,也会导致数据库之间架构不一致等等。因此,在复杂的数据库对象中,迅速全部找 ... »

推荐一款MongoDB的客户端管理工具--nosqlbooster

今天给大家推荐一款MongoDB的客户端工具--nosqlbooster,这个也是我工作中一直使用的连接管理MongoDB的工具。这个工具还有个曾用名--mongobooster。nosqlbooster立志做“The Smartest IDE for MongoDB”。它支持 MongoDB v2 ... »

SQL Server 数据库部分常用语句小结

1. 查询某存储过程的访问情况 SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类型, d.cached_time as SP添加到缓存的时间, d.last_execution_t ... »

单台MongoDB实例开启Oplog

背景 随着数据的积累,MongoDB中的数据量越来越大,数据分析团队从数据库中抽取变化数据(假如依据栏位createdatetime,transdatetime),越来越困难。我们知道MongoDB的副本集有一个数据结构Oplog,里面存储了Primary节点的所有写操作(此处的写操作是指查询以外的 ... »

MongoDB更需要好的模式设计 及 案例赏析

一 挑战 设计从来就是个挑战。 当我们第一次接触数据库,学习数据库基础理论时,都需要学习范式,老师也一再强调范式是设计的基础。范式是这门课程中的重要部分,在期末考试中也一定是个重要考点。如果我们当年大学挂科了,说不定就是范式这道题没有做好。毕业后,当我们面试时,往往也有关于表设计方面拷问。 很多时候 ... »

MongoDB 提升性能的18原则

(1) 文档中的_id键推荐使用默认值,禁止向_id中保存自定义的值。 解读:MongoDB文档中都会有一个“_id”键,默认是个ObjectID对象(标识符中包含时间戳、机器ID、进程ID和计数器)。MongoDB在指定_id与不指定_id插入时 速度相差很大,指定_id会减慢插入的速率。 (2) ... »

关于MongoDB数据库的日志解析

MongoDB日志记录了数据库实例的健康状态、语句的执行状况、资源的消耗情况,所以日志对于分析数据库服务和性能优化很有帮助。 因此,很有必要花费一些时间来学习解析一下MongoDB的日志文件。 日志信息的格式 <日志时间> <严重级别> <信息所属分类> [<内容>] <消息> 例如 : 2014- ... »

实现MongoDB读写分离的“读偏好”介绍

在某些情况下,将读请求发送给副本集的备份节点是合理的,例如,单个服务器无法处理应用的读压力,就可以把查询请求路由到可复制集中的多台服务器上。现在绝大部分MongoDB驱动支持读偏好设置(read preference;或翻译为读取首选项),用来告诉驱动从特定的节点读取数据。 1 读偏好选项 prim ... »

MongoDB分片 在部署和维护管理 中常见事项的总结

分片(sharding)是MongoDB将大型集合分割到不同服务器(或者说集群)上所采用的方法,主要为应对高吞吐量与大数据量的应用场景提供了方法。 和既有的分库分表、分区方案相比,MongoDB的最大区别在于它几乎能自动完成所有事情,只要告诉MongoDB要分配数据,它就能自动维护数据在不同服务器之 ... »

SQL Server非域(跨域)环境下镜像(Mirror)的搭建步骤及注意事项

在实际的生产环境下,我们经常需要跨域进行数据备份,而创建Mirror是其中一个方案。但跨域创建Mirror要相对复杂的多,需要借助证书进行搭建。 下面我们将具体的步骤总结如下: 第一部分 创建证书 Step 1:创建数据库主密钥 主密钥的用处在这里是用于加密证书,当然主密钥不仅仅只有这个作用。对数据 ... »

人成长中必须知道的20个故事 [转载]

写在前面: 在我的学生时代,非常喜欢这种小文。他们应该属于那种心灵鸡汤吧,或者说充满了正能量。品读他们时,就像在欣赏一首音乐,滋润人的心田,给人积极向上的力量。毕业后,也许因为我们性格已养成,业务因为太忙碌了,也许因为不再纯真了,总之,是和这类美文疏远了,邂逅的次数是越来越少。今天偶然翻起,仍触动不 ... »

关于 MongoDB 与 SQL Server 通过自带工具实现数据快速迁移 及 注意事项 的探究

背景介绍 随着业务的发展、需求的变化,促使我们追求使用不同类型的数据库,充分发挥其各自特性。如果决定采用新类型的数据库,就需要将既有的数据迁移到新的数据库中。在这类需求中,将SQL Server中的数据导入到MongoDB 中显得尤为突出。 面对这种需求,大家优先想到的就是百度查找第三方工具,可惜截 ... »