文章分类 -  DBA

DBA
摘要:架构探究 架构图 ​ MongoDB分片集群与MySQL中的水平分表类似。 ​ 以下是一个较为完美的分片集群部署策略图: 集群组成 ​ 名词解释: mongos :路由节点,提供集群单一入口,转发application的请求至所有分片节点上,上图中3个分片节点均是为了保证高可用又做了复制集 conf 阅读全文
posted @ 2021-03-20 00:36 云崖君 阅读(259) 评论(0) 推荐(0)
摘要:MyCat简介 ​ MyCat是目前最流行的基于Java语言编写的数据库中间件,是一个实现了MySQL协议的服务器,前端用户可以将它看做是一个数据库代理,用MySQL客户端工具和命令对其进行访问,其核心功能是分库分表,配合数据库的主从模式还可以实现读写分离。 ​ 它的后端不仅仅可以支持MySQL,还 阅读全文
posted @ 2021-03-19 16:13 云崖君 阅读(286) 评论(0) 推荐(0)
摘要:工具大全 ​ 以下是MongoDB中常用的工具: 软件模块 描述 mongod MongoDB数据库软件 mongo MongoDB命令行工具,管理MongoDB数据库 mongos MongoDB路由进程,分片环境下使用 mongodump / mongorestore 命令行数据库备份与恢复工具 阅读全文
posted @ 2021-03-17 22:21 云崖君 阅读(162) 评论(0) 推荐(0)
摘要:功能概述 ​ Change Stream(3.6新增)与MySQL中的触发器概念很像,但是又有一些区别,且实现原理完全不同: Change Stream 触发器 触发方式 异步 同步(事务保证) 触发位置 应用回调事件 数据库触发器 触发次数 每个订阅事件的客户端 1次 故障恢复 从上次断点重新触发 阅读全文
posted @ 2021-03-17 20:06 云崖君 阅读(147) 评论(0) 推荐(0)
摘要:本篇前言 ​ MongoDB在4.0版本之后已经完美支持事务了。 ​ 因此MongoDB可以用作核心业务的数据库,这是其他NoSQL产品望尘莫及的,也是MongoDB的一大特性。 ​ 在前面的文章中,我们介绍了MongoDB复制集的搭建,在本章节中我们将着重介绍MongoDB如何保证复制集中各个节点 阅读全文
posted @ 2021-03-17 19:29 云崖君 阅读(177) 评论(0) 推荐(0)
摘要:功能概述 ​ MongoDB的复制集rs与MySQL的MHA架构相似,也是做高可用的。 ​ MongoDB复制集本身是一种单活架构,搭建条件最少是1主2从,可由单机多实例构成。 ​ 但是它并不是一次性的服务,在主库宕机后能够持续的工作,而非停止服务。 ​ 同时,rs的从库不可写,自带读写分离机制(需 阅读全文
posted @ 2021-03-16 23:37 云崖君 阅读(116) 评论(0) 推荐(0)
摘要:概念模型 ​ 概念模型简称CDM,通过描述业务系统要管理的对象,来构建大体的设计思路。 ​ 由需求分析师通过与客户的沟通,得到一个较浅层次的概念模型。 ​ 如,用户想要一个学生信息库,此时就有了一个最基本的概念雏形。 ​ 原来是想要一个学生信息库,中心点则应该以学生为主。 ​ 这也是对数据实体化最根 阅读全文
posted @ 2021-03-16 17:15 云崖君 阅读(157) 评论(0) 推荐(0)
摘要:文档模型 JSON文档 ​ MongoDB的集合是一种无模式的状态,没有字段,没有约束。 ​ 因此对于MongoDB的数据存储模型搭建来讲变的十分简单,需要什么字段就直接丢进去即可。 ​ 但是后期对于MongoDB集合的管理却变的较为复杂,相较于传统的关系型数据库,初次接触MongoDB的同学可能对 阅读全文
posted @ 2021-03-16 16:32 云崖君 阅读(115) 评论(0) 推荐(0)
摘要:功能概述 ​ MongoDB默认是没有开启权限认证的,这意味着你不需要用户与密码就能随意链接我们的MongoDB服务。 ​ 如下图所示,我在MAC上链接了部署在Centos上的MongoDB服务,并未输入任何用户名与密码: ​ 这是极度不安全的,意味着黑客可以在你的MongoDB中做任何事。 ​ 我 阅读全文
posted @ 2021-03-16 00:18 云崖君 阅读(128) 评论(0) 推荐(0)
摘要:数据准备 ​ 在网上找了很多关于MongoDB的聚合操作文章,讲的都不是很清晰。 ​ 所以这里来写一篇文章吧,做一个简单应用。 ​ 还是使用之前使用过的数据: > db.collection.drop() > db.collection.insertMany( [ { _id:1, name:"Ja 阅读全文
posted @ 2021-03-14 15:42 云崖君 阅读(71) 评论(0) 推荐(0)
摘要:基础知识 索引作用 ​ MongoDB的索引与传统的关系型数据库索引的概念基本一致。 ​ 除了能够加速查找外,还能针对字段做约束。 ​ 在MongoDB中,索引的查找算法也是采用B-Tree算法,具体可参照MySQL系列文章中的索引介绍点我跳转。 ​ 以下是MongoDB官方所提供的图: ​ 索引语 阅读全文
posted @ 2021-03-13 22:03 云崖君 阅读(253) 评论(0) 推荐(0)
摘要:数据准备 在学习文档查询之前,先录入以下数据: > db.collection.drop() > db.collection.insertMany( [ { _id:1, name:"Jack", gender:"male", age:18, grades: { Js:88, Py:92, Go:7 阅读全文
posted @ 2021-03-12 23:13 云崖君 阅读(85) 评论(0) 推荐(0)
摘要:插入文档 基础方法 ​ 下面是向集合插入文档的基础命令: 命令 描述 db.集合名.insert(doc) 向集合中插入一个文档,若主键存在,则抛出异常 ​ 插入的基础方法为insert(),支持最大一次性插入4MB(新版好像是16MB了)的文档,该操作会给文档增加一个名为_id的键(未手动指定的情 阅读全文
posted @ 2021-03-12 19:14 云崖君 阅读(85) 评论(0) 推荐(0)
摘要:数据库 查看的命令 ​ 下面是查看库相关的命令: 命令 简写 描述 show databases show dbs 查看所有库(库中必须有集合) db.getName() db 查看当前所在库 db.stats() ... 查看当前库状态 db.getMongo() ... 查看当前所在库链接地址 阅读全文
posted @ 2021-03-11 23:39 云崖君 阅读(108) 评论(0) 推荐(0)
摘要:进入MongoDB 启动服务 ​ 在MongoDB系列的第一篇文章开始时,我们已经介绍了如何将MongoDB设置为sys服务。 ​ 但这是远远不够的,我们需要熟悉它到底是怎么做到的。 ​ 启动服务的脚本就是下面这个可执行文件: /usr/local/mongodb/bin/mongod ​ 在没有指 阅读全文
posted @ 2021-03-11 00:03 云崖君 阅读(204) 评论(0) 推荐(0)
摘要:YAML ​ MongoDB中配置文件采用YAML进行书写(3.x以上),这是一种通用的数据串行化格式。 ​ 不同于MySQL中XML的配置文件格式,YAML格式阅读起来更加方便。 ​ 基本语法规则: 大小写敏感 使用缩进表示层级关系 缩进时不允许使用Tab键,只允许使用空格。 缩进的空格数目不重要 阅读全文
posted @ 2021-03-09 22:03 云崖君 阅读(106) 评论(0) 推荐(0)
摘要:前言 ​ MongoDB的官方文档非常全面,可供开发者进行查阅:MongoDB中文文档 ​ 同时,本系列笔记将会按照MongoDB权威指南一书中的重点进行归类,方便读者学习。 MongoDB简介 基础概念 ​ MongoDB被誉为是最像SQL的NoSQL,也是非关系数据库中最火热的产品,甚至MySQ 阅读全文
posted @ 2021-03-09 20:56 云崖君 阅读(135) 评论(0) 推荐(0)
摘要:功能概述 ​ Atlas基于MySQL官方中间件mysql-proxy 0.8.2由奇虎360二次开发而成。 ​ 能够对读写分离、分库分表做出配置,配合MHA架构进行使用高可用环境搭建有较好的效果。 ​ 在此文中,将着重介绍使用MHA配合Atlas进行读写分离的配置,在此之前要先观察MHA架构有何缺 阅读全文
posted @ 2021-03-06 22:57 云崖君 阅读(76) 评论(0) 推荐(0)
摘要:功能概述 ​ MHA架构是一种单活的高可用架构,搭建条件最少是1主2从,且必须为独立的机器,不能单机多实例进行搭建。 ​ 下面是一个比较完整的MHA架构图,1主2从为1组节点,可以有多组节点都交由一个Manager进行管理: ​ 它的功能在于能够对主从运行状态进行监控,自动的在主节点宕机之后能提供单 阅读全文
posted @ 2021-03-05 21:39 云崖君 阅读(165) 评论(0) 推荐(0)
摘要:主从介绍 ​ 当一个功能开发完成后,我们需要追求其极致性能,而对于性能影响较大的可能就是数据库的读写操作,因为对于MySQL数据库来讲数据是存储在磁盘上的,我们知道从磁盘上读取数据的I/O时间远远大于从内存中进行读取。 ​ 那么如何将MySQL的性能进行进一步提升就成了人们思考的问题。 ​ 随之而来 阅读全文
posted @ 2021-03-03 22:39 云崖君 阅读(140) 评论(0) 推荐(0)