Brown Blog

以终为始,聚沙成塔

docker入门

docker,运维,虚拟化技术

1 docker出现的背景 在docker出现之前,一台机器上部署多个应用,得通过虚拟机技术来实现。虚拟机技术有如下缺点: 启动慢 系统资源耗费大 2 docker能够做的事情 docker是一种新的虚拟化技术,docker相对于虚拟机技术,是更加轻量的虚拟化技术。此外,docker通过image镜像的分发,能够做到更加快速的构建和部署。具体的的应用场景包括: 部署应用...

mongodb学习系列5:可复制集和分片集群

mongodb,nosql,主从模式,可复制集,分片

单机的mongod服务相比于分布式的服务,存在比较多的问题。 数据容量问题 单机的mongodb服务无法存放海量的数据。即使磁盘可以存放,但是CPU、网络IO和磁盘IO可能无法支持。因此,注定了单机的容量是有限制的。 价格问题 如果单机想要支持海量数据存储,一般的做法是购买价格昂贵的机器,这相比分布式存储还说是比较昂贵的。 数据可靠性 单机的存储服务存在可靠性问题。例如,...

mongodb学习系列4:聚合操作

mongodb,nosql,聚合

mongodb提供了更加高级的查询功能:聚合操作。聚合操作是指,对于输入的一批数据,进行中间的各种操作,比如过滤、分组、排序,然后再输出。通过聚合操作,主要是满足了用户对于数据统计和更高级查询的需求。 mongodb提供的聚合操作分为三种:聚合管道(aggregation pipeline)、map-reduce和单目聚合操作(single purpose aggregation oper...

mxnet入门demo

今天在PC上简单跑了一个mxnet入门例子,记录下来。 mxnet简介 mxnet是一款深度学习框架,在几款常用的深度学习框架中比较靠前。它的优点是: 消耗的内存少 这一点,可以让mxnet运行在内存较小的设备上面,比如手机或者IOT设备。 易扩展 可以方便扩展到多个gpu和多个计算机。 灵活性 提供命令式和符号式两种类型的编程API。命令式API方便开发者学习,容易调...

mongodb学习系列3:查询和索引

查询和索引

在互联网公司的应用中,一般都是读多写少,因此,对于查询的方式和怎么加快查询,有很多内容。 前面讲过查询的命令是使用db.{COLLECTION_NAME}.find(query, projection)。 query:使用查询操作符组成的查询条件,可选。若省略该参数,则返回集合中的所有文档。 projection:使用投影操作符指定返回的键,可选。若省略该参数,则查询时返回文档中所有键...

工作和思考方法论总结

1 为什么要写这篇文章 工作了一年多了,对于职场中一些思考和表达方式有些感悟,故整理下来。 2 训练方法 2.1 阅读、思考和表达的技巧 阅读是接收信息、学习知识的过程。在这个过程中,除了被动的阅读了解文章内容之外,还需要读者主动用批判性思维去归类和思考问题。因此,阅读、思考和表达其实是不能分开的。 主题-结论-论证的方法 面对一段文字时,我们得首先知道它的主题是什么,结论是什么,然...

netty学习1:背景和概述

背景和概述

1 Netty出现的背景 java中网络编程,传统的一般都是利用java的网络io和网络nio有关的API。这些原始的API使用起来有如下的缺点: 使用起来很复杂,不方便用户使用 如下图所示,使用java.net包下的网络API来构建socket网络编程的过程。 该代码片段反映了java原始的网络API的问题有: 图中标注(1)的地方,重复写了很多的样板代码,...

mongodb学习系列2:概念和CRUD操作

概念和CRUD操作

1 简介 MongoDB是为了快速开发互联网Web应用而生的数据库系统。下面,将从快速开发、互联网web应用和数据库系统三个方面来说明。 数据库系统 首先,mongodb是一个数据库系统,类似于mysql关系型数据库。与mysql的作用是一样的,都是用来持久化的存储数据的。但是,在最直观的使用方面,mysql存储需要将数据结构化之后存储,即分割为多个字段再存储;m...

mongodb学习系列1:背景及概述

mongodb出现的背景 mongodb出现之前,大家都习惯于使用关系型数据库。但是,在使用关系型数据库的过程中,却存在很多问题。 基于单机架构的关系型数据库扩展性差,无法支撑海量数据 比如mysql,oracle,都是基于单机架构的,支撑的数据量很小。如果要支撑海量数据,则必须扩展到集群架构。而关系型数据库扩展到集群架构,是一个很痛苦的过程,最常见的手段就是分库分表,除了数据库...

《mysql高性能》系列4:字符集和校对

字符集和校对

对于字符串类型,有一个字符集的概念在里面。字符集是指,一种从二进制编码到某类字符符号的映射。例如,中文符号,在计算机底层用二进制存储,那么,就需要有一个映射表,来表示哪个中文符号用哪个二进制编码来表示。校对,是指一组用于某个字符集的排序规则。 1 mysql如何使用字符集 只有基于字符的值才有字符集的概念。因此,对于其他类型的值,比如,int,datetime,是不需要使用到字符集来编码的...