摘要: 关键字:MongoDB; aggregate;forEach 今天开发同学向我们提了一个紧急的需求,从集合mt_resources_access_log中,根据字段refererDomain分组,取分组中最近一笔插入的数据,然后将这些符合条件的数据导入到集合mt_resources_access_l阅读全文
posted @ 2019-01-22 22:45 东山絮柳仔 阅读(12) 评论(1) 编辑
摘要: 一. 背景 今天在MongoDB 4.0.4版本下,在还原恢复数据库时报错。 主要错误为: Failed: restore error: error applying oplog: applyOps: not authorized on admin to execute command { appl阅读全文
posted @ 2019-01-21 20:32 东山絮柳仔 阅读(12) 评论(0) 编辑
摘要: 一 . 两次写提出的背景或要解决的问题 两次写(InnoDB Double Write)是Innodb中很独特的一个功能点。因为Innodb中的日志是逻辑的,所谓逻辑就是比如插入一条记录时,它可能会在某一个页面(这条记录最终被插入的位置)的多个偏移位置写入某个长度的值,例如页头的记录数、槽数、页尾槽阅读全文
posted @ 2019-01-19 02:43 东山絮柳仔 阅读(44) 评论(0) 编辑
摘要: 在日常运维中,GTID带来的最方便的作用就是搭建和维护主从复制。GTID的主从模式代替了MySQL早期版本中利用二进制日志文件的名称和日志位置的做法,使用GTID使操作和维护都变得更加简洁和可高。 1.GTID的优点 (1)基于GTID搭建主从复制根据简单。 (2)可以确保每个事务只会被执行一次。 阅读全文
posted @ 2019-01-13 02:34 东山絮柳仔 阅读(34) 评论(0) 编辑
摘要: 关键字:SQL Server NEWID();BSON;MongoDB UUID 1.遇到的问题和困惑 SQL Server中的NEWID数据存储到MongoDB中会是什么样子呢?发现不能简单的通过此数据查询了。 例如我们将SQL Server 数据库中的QQStatements2019表迁移至Mo阅读全文
posted @ 2019-01-12 03:39 东山絮柳仔 阅读(208) 评论(2) 编辑
摘要: 在https://www.cnblogs.com/xuliuzai/p/9965229.html的博文中我们介绍了MongoDB的常见索引的创建语法。部分同学还想看看MongoDB的威力到底有多大,所以,在这儿追加一个例子,感受一下索引的性能。 通过在某一字段上创建索引,从优化前的执行15.15S到阅读全文
posted @ 2019-01-10 22:37 东山絮柳仔 阅读(40) 评论(0) 编辑
摘要: 1.REDO LOG 是用来做数据库crash recovery的,是保证数据库数据正确性、完整性及持久性的重要机制之一。在数据库操作中,它保存了对InnoDB表中数据的修改记录,所以也叫日志文件。 2.日志文件内部也是按照大小相等的页面切割,页面大小为512个字节(回顾下数据页是多大? )。考虑到阅读全文
posted @ 2019-01-08 00:04 东山絮柳仔 阅读(46) 评论(0) 编辑
摘要: 1.InnoDB的数据存储结构 InnoDB中数据是通过段、簇、页面构成的。 (1)段是表空间文件中的主要组织结构,它是一个逻辑概念,用来管理物理文件,是构成索引、表、回滚段的基本元素。创建一个索引(B+树)时会同时创建两个段,分别是内节点段和叶子段,内节点段用来管理(存储)B+树中非叶子节点(页面阅读全文
posted @ 2019-01-07 00:20 东山絮柳仔 阅读(54) 评论(0) 编辑
摘要: information_schema 此数据库是MySQL数据库自带的,主要存储数据库的元数据,保存了关于MySQL服务器维护的所有其他数据库的信息,如数据库名、数据库表、表列的数据类型及访问权限等。 这个库在很多情况下,可以帮助我们做一些自动化处理的工作,比如巡检程序找到所有的MyISAM表,或者阅读全文
posted @ 2019-01-05 21:42 东山絮柳仔 阅读(79) 评论(0) 编辑
摘要: 索引小知识 篇幅有限,索引的基本知识我们就不赘述了,在此,我们尝试说明其中的一个小点 B+树与B树的区别到底是什么。 InnoDB是使用B+树来实现其索引功能的。在B+树中,内节点(非叶子节点)存储了行数据的键,而叶子节点存储了所有的行数据,而B树的每个节点都存储了真实的数据。这种数据结构,决定了两阅读全文
posted @ 2018-12-28 22:51 东山絮柳仔 阅读(89) 评论(0) 编辑
摘要: 一 .Server Trigger的简单介绍 在SQL Server数据库中,Server Trigger 是一种特殊类型的存储过程,它可以对特定表、视图或存储中的必然事件自动响应,不由用户调用。创建触发器时对其进行定义,以便在对特定的数据库对象作特定类型的修改时执行,根据触发器定义的动作做出反应。阅读全文
posted @ 2018-12-27 15:03 东山絮柳仔 阅读(143) 评论(0) 编辑
摘要: 1 Do I have to make a reconfirmation? 我还要再确认吗? 2 Is there any earlier one?还有更早一点的吗? 3 Could you tell me my reservation number, please?请你告诉我我的预订号码好吗? 4阅读全文
posted @ 2018-12-26 23:05 东山絮柳仔 阅读(21) 评论(0) 编辑
摘要: 一.需求背景 SQL Server开源的归档工具不多,DBA一般都是通过计划任务来触发执行,执行的脚本多是SP或者是SSIS包。SSIS包的性能稍好一些,但是维护更新成本高些。所以更常见的是通过SP脚本来实现归档操作。 当数据库规模较小时,可以方便的直接在数据库上进行脚本的编写部署。但是随着数据库越阅读全文
posted @ 2018-12-24 22:44 东山絮柳仔 阅读(328) 评论(3) 编辑
摘要: 数据的目录文件层次设计 我们一般采用多实例的方式,而不是将所有的数据库尽可能地放在一个实例中。 主要基于以下考虑: 1:不同业务线对应的数据库放在不同的实例上,部分操作的运维时间容易协调等到。 2:相互独立,减少相互干扰。不会因为某个业务的激增或某个开发Team的代码问题,拖累太多的数据库。 3:实阅读全文
posted @ 2018-12-21 00:39 东山絮柳仔 阅读(162) 评论(0) 编辑
摘要: 副本集的主要功能 副本集是MongoDB高可用的基础,其主要作用 归纳为以下几点: (1)高可用,防止设备(服务器、网络)故障。提供自动FailOver功能。 (2)无需配置高可用性虚拟节点;无论是SQL Server 的AlwaysOn 还是 MySQL 的 MHA方案 都需要有可用性组 或集群的阅读全文
posted @ 2018-12-16 20:38 东山絮柳仔 阅读(148) 评论(1) 编辑