自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

baijiwei的博客

不积跬步, 无以至千里!

  • 博客(9)
  • 资源 (6)
  • 收藏
  • 关注

原创 Intel workshop 所看所想

今天非常有幸参加了Intel的一个技术workshop, 感觉收获挺多的, 特别是一些比较新的技术, 根据个人的理解, 写出这边文章分享一下。非易失内存未来(可能就这一两年吧)的内存不会像现在的内存这样, 断电之后, 内存里面的东西全部丢掉, 而是会通过软件的方式保留一段时间。 传统内存的特点是:速度快, 容量小, 容易丢失。 我们在各种各样的编程环境下, 为了确保内存里面的东西, 不会因为以外的

2017-10-29 18:53:06 664

原创 ReplicationExecutor的实现原理

副本集在维护以及更新结构的过程中, 需要执行大量的任务, 这些任务的执行需要满足一定的条件, 例如, 先触发的时间先执行, 或者等待一段时间以后执行某个任务, 又或者有的任务需要全局锁, 有的只需要集合锁等等。 Mongodb 内部通过ReplicationExecutor来实现这些任务的执行。 从功能上面讲,ReplicationExecutor的作用和golang里面的channel是非常类似

2017-10-28 18:28:49 751

转载 网上搜集的有用资料备忘

很全的书单https://github.com/justjavac/free-programming-books-zh_CNC/C++开源项目http://blog.csdn.net/it_small_farmer/article/details/44938101VIM下C++的支持(ctags, cscope)http://blog.csdn.net/yhguo200...

2017-10-22 13:53:02 298

原创 副本集Oplog同步原理

副本集是mongodb的基础组件,是实现高可用、自动选主、读写分离以及数据一致性的基础。 比较概括的说, 副本集是将同一份数据保存在不同的节点上面, 这些节点通过一致性的协议(RAFT), 实现数据的同步, 并且选出一个主节点, 该节点对外提供读写服务, 当该主节点发生故障的时候, 自动从剩余的从节点内选出新的主节点。本文主要针对副本集的整体架构进行分析, 先来看一下架构图: 从这里

2017-10-21 14:03:00 2354

原创 Mongodb 的索引架构

索引在任何的数据库里面都起着至关重要的作用, 在mongoDB里面, 基本的增删改查操作都需要访问索引, 通过一个集合的名字, 如何找到相关的索引, 并且对其进行操作哪?如下, 是Mongodb Index的整体架构: collection类对于任何一个存在的集合的明仔, 我们通过catalog 找到一个它对应的Collection对象, 该对象会保存这 个集合的所有的索引的信息IndexC

2017-10-13 13:40:19 1397

原创 LINUX 常用系统命令

在LINUX下面有很多的非常有用的系统命令, 使用的好的话, 能够起到事半功倍的效果, 下面就列举几个常见命令的用法以及他们的应用场景。1. netstatnetstat是一个监控网络使用的工具, 用它可以查看当前机器上面的网络连接情况,可以使用不同的参数查看, 常用的,比如-anp,输出结果如下:$netstat -anp | grep mongo Proto Recv-Q Send-Q Lo

2017-10-12 20:57:12 278

原创 执行计划PlanExecutor

PlanExecutor的主要作用是选出最佳的QuerySolution, 并且执行该solution。 整个PlanExecutor 对象的结构如下图: 1. 生成PlanExecutor对象 这里采用了工厂模式, PlanExecutor::make产生指定的PlanExecutor对象;2. 选择最佳计划从上图可见,这里分成4中情况:SubplanStage, 主要是针对$or 的处理,

2017-10-10 18:18:49 989

原创 Mongodb查询计划的生成

查询计划的生成, 主要是通过QueryPlanner::plan 作为入口, 里面包含了基本的逻辑, 但是真正的QuerySolutionNode 是通过QueryPlannerAccess类来实现。具体的实现非常的复杂, 我们先看一下 下图的整个调用过程, 以及QueryPlanner的结构图, 然后再诸葛的分析一下相关的代码实现。 tailable 有设定的情况 通过make

2017-10-08 12:26:56 879

原创 Mongodb的逻辑优化过程

逻辑优化过程在关系型数据库里面, 是一个非常复杂的过程, 幸运的是, 在Mongodb里面, 到目前为止, 相对来说, 其实现还是比较简单的。该过程主要通过 CanonicalQuery 类来实现。 该过程主要包含三个方面的优化: 1、Normoralize tree; 2、sort tree; 3、 validate tree;我们分别来看看这3个方面的优化的实现。1. Normo

2017-10-07 16:53:42 831

UNIX环境高级编程(中文第三版)_

经典的书籍

2017-07-15

write solid code

这本书就不用介绍了八,用C语言的人没有学过这本书就是自己的一大遗憾

2009-04-19

数据结构算法的demo软件

关于数据结构的演示程序,可以更加直观的学习数据结构

2009-04-19

LINUX学习经典书籍

学习LINUX比备的资料,linux脚本的编写,非常好的东西

2009-04-19

友益文书破解版

该软件能够帮助我们将html、txt等文件生成电子书籍,便于查看

2008-03-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除