12 2018 档案
摘要:MongoDB常识 MongoDB Shell是MongoDB自带的交互式Javascript shell,所以可直接执行JS脚本,用来对MongoDB进行操作和管理的交互式环境。 ObjectId: MongoDB采用ObjectId,而不是其他比较常规的做法(比如自动增加的主键)的主要原因,因为
阅读全文
摘要:单台mongodb配置文件: 启动MongoDB ./mongod -f mongodb.cfg MongoDB 主从搭建 MongoDB 4.0之后不再支持该配置方法: Master配置文件如下: Slaver配置如下: MongoDB 副本集 简单来说就是集群当中包含了多份数据,保证主节点挂掉了
阅读全文
摘要:MongoDB 的部署方案有单机部署、复本集(主备)部署、分片部署、复本集与分片混合部署。混合的部署方式如图: 分片集群的构造 (1)mongos :数据路由,和客户端打交道的模块。mongos本身没有任何数据,他也不知道该怎么处理这数据,去找config server (2)config serv
阅读全文
摘要:从根本上来讲 Git 是一个内容寻址(content-addressable)文件系统,并在此之上提供了一个版本控制系统的用户界面。 objects 目录存储所有数据内容; refs 目录存储指向数据(分支)的提交对象的指针; HEAD 文件指示目前被检出的分支; index 文件保存暂存区信息 G
阅读全文
摘要:mysql数据库设计原则: 必须使用InnoDB存储引擎 解读:支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高 禁止使用存储过程、视图、触发器、Event 解读:高并发大数据的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,这些功能很可
阅读全文
摘要:InnoDB主要使用行级锁(row lock),其行锁是通过在索引项上加锁而实现的,如果MySQL的执行计划没有用到索引,那么行锁也就无意义了 InnoDB的行锁是通过给索引上的索引(聚集,非聚集)添加锁来实现的, 只有通过索引条件进行数据索引, InnoDB才使用行级别锁, 否则的话会使用表锁(锁
阅读全文
摘要:简单比较: 应用场景: redis:数据量较小的更性能操作和运算上memcache:用于在动态系统中减少数据库负载,提升性能;做缓存,提高性能(适合读多写少,对于数据量比较大,可以采用sharding)MongoDB:主要解决海量数据的访问效率问题 plus: Redis有数据持久化功能,这个功能与
阅读全文
摘要:把随机IO变成顺序IO Mysql客户端与服务端的通信方式是“半双工”;全双工:双向通信,发送同时也可以接收半双工:双向通信,同时只能接收或者是发送,无法同时做操作单工:只能单一方向传送 半双工通信:在任何一个时刻,要么是有服务器向客户端发送数据,要么是客户端向服务端发送数据,这两个动作不能同时发生
阅读全文
摘要:首先注意:B树就是B-树,"-"是个连字符号,不是减号。也就是B-树其实就是B树 B-树是一种平衡的多路查找(又称排序)树,在文件系统中有所应用。主要用作文件的索引。其中的B就表示平衡(Balance) B+树是对B树的一种升级, B树每个节点都存储data, 而B+树只在叶子节点存储data,B+
阅读全文
摘要:码字好辛苦的,这篇文章反反复复修改了好几天,如果荣幸被转载的话, 请注明来源 https://www.cnblogs.com/snow-man/p/10062394.html 用途,背景 Kafka 是LinkedIn开源的分布式发布-订阅消息系统,目前归属于Apache定级项目。Kafka主要特点
阅读全文
摘要:ES集群脑裂出现的原因: 1:网络原因 内网一般不会出现此问题,可以监控内网流量状态。外网的网络出现问题的可能性大些。 2:节点负载 主节点即负责管理集群又要存储数据,当访问量大时可能会导致es实例反应不过来而停止响应,此时其他节点在向主节点发送消息时得不到主节点的响应就会认为主节点挂了,从而重新选
阅读全文