数据库

数据库 sql database mongodb redis nosql oracle mysql mssql

WiredTiger存储引擎之一:基础数据结构分析

6

前言   从本月起,我们将从逻辑正确、内容完整的角度全面介绍WiredTiger存储引擎,推出WiredTiger存储引擎系列文章。由于源码体量很大,通读工作量巨大,细节之处如有问题和错误,欢迎大家指出。   本篇作为WiredTiger存储引擎介绍系列文章第一篇,包含如下内容:...

阅读(107)赞 (0)

MySQL Binlog 核心知识点

1 binlog介绍 MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说开启二进制日志大概会有1%的性能损耗(参见MySQL官方...

阅读(134)赞 (0)

如何理解Redis的底层原理是如何实现的?

2

一、Redis的服务器端和客户端是如何进行通讯的? (1) 带着问题我们来学习Redis底层是如何实现的,大家知道Redis的持久化有两种方式: 1. 第一种是RDB的方式来实现的持久化: RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个...

阅读(161)赞 (0)

研发应该懂的mysql binlog知识(下)

2

引言 这篇是《研发应该懂的binlog知识(上)》的下半部分。在本文,我会阐述一下binlog的结构,以及如何使用java来解析binlog。 不过,话说回来,其实严格意义上来说,研发应该还需要懂如何监听binlog的变化。我本来也想写这块的知识,但是后来发现,这块讲起来篇幅过长...

阅读(139)赞 (0)

研发应该懂的mysql binlog知识(上)

1

引言 为什么写这篇文章? 大家当年在学MySQL的时候,为了能够迅速就业,一般是学习一下MySQL的基本语法,差不多就出山找工作了。水平稍微好一点的童鞋呢还会懂一点存储过程的编写,又或者是懂一点索引的创建和使用。但是呢,基本上大家都忽略了对底层知识的学习。为什么呢?因为工作中很少...

阅读(182)赞 (0)

天下无难试之Redis面试刁难大全

Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。作为一名在互联网技术行业打击过成百上千名【请允许我夸张一下】的资深技术面试官,看过了无数落寞的身影失望的离开,略感愧疚,故献上此文,希望各位读者以后面试势如...

阅读(160)赞 (0)

mysql 动态数据透视表(将行转换为列)

具有动态标头的MySQL数据透视表。 假设我们有一个属性表(属性表) – ‘属性’(它的创建脚本如下),我们需要为报告进行数据转换。 mysql> select * from properties; +----+---------+---...

阅读(239)赞 (0)

MongoDB Sharded cluster架构原理

4

为什么需要Sharded cluster? MongoDB目前3大核心优势:『灵活模式』+ 『高可用性』 + 『可扩展性』,通过json文档来实现灵活模式,通过复制集来保证高可用,通过Sharded cluster来保证可扩展性。 当MongoDB复制集遇到下面的业务场景时,你就...

阅读(154)赞 (0)

深入了解MongoDB是如何存储数据的

5

前言 本文主要介绍了关于MongoDB存储数据的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍: 想要深入了解MongoDB如何存储数据之前,有一个概念必须清楚,那就是Memeory-Mapped Files。 Memeory-Mapped Files 下图展示了数据...

阅读(140)赞 (0)

MongoDB高可用方案原理解析

12

MongoDB 是当前比较流行的文档型数据库,其拥有易使用、易扩展、功能丰富、性能卓越等特性。MongoDB 本身就拥有高可用及分区的解决方案,分别为副本集(Replica Set)和分片(sharding),下面我们主要看这两个特性。 1. 副本集 有人说 MongoDB 副本...

阅读(124)赞 (0)