- 博客(47)
- 资源 (72)
- 收藏
- 关注
原创 2015年辛星MySQL教程春季版第四本优化建模
经过了一段时间的整理,2015年的辛星MySQL教程第四本终于完工啦,它的定位是建模优化,下载地址为:点击进入下载地址 ,全书共计120页左右,所有案例都是在win7下完成的,它主要介绍的内容有建表语句、数据类型、范式与反范式、建模实践、建模经验、优化基础、索引、数据碎片等等。 在建模的这部分,可能不同的人喜欢用不同的工具,不过我之前比较喜欢用powerdesigner的,现在由于使用
2015-02-09 15:23:21 2677 18
原创 辛星笔记Hadoop权威指南第二篇即数据流
MapReduce作业也就是job是客户端需要执行的一个工作单元,它包括输入数据、MapReduce程序和配置信息。Hadoop将作业分成若干个小任务task来执行,其中包括两类任务:map任务和reduce任务。 有两类节点控制着作业执行过程:一个jobtracker以及一系列的tasktracker。其中jobtracker通过调度tasktracker上运行的任务,来协调所
2015-02-28 23:31:19 811
原创 辛星笔记之Hadoop权威指南第一篇即MapReduce
MapReduce是一种可用于数据处理的编程模型,该模型比较简单,但用于编写有用的程序并不简单。Hadoop可以运行由各种语言编写的MapReduce程序。MapReduce程序本质上是并行运行的,因此可以将大规模的数据分析任务交给任何一个拥有足够多机器的运营商。MapReduce的优势在于处理大规模数据集。 MapReduce任务过程被分为两个处理阶段:map阶段和reduce阶段
2015-02-28 23:07:18 919
原创 辛星解读uml建模中的构件图
第一,构件图的概念 构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。构件代表系统中的一部分物理实施,它包括软件代码(源代码、二进制代码或者可执行代码)或者其等价物(比如脚本或者命令文件)。每个构件可以单独实现一定的功能,也可以为其他构件提供使用接口。 第二,构件图的要素 构件图通常分为:执行文件、文件、库、表、文
2015-02-28 18:16:37 1176
原创 辛星浅析uml建模之部署图
第一,部署图的概念 所谓部署图,翻译为英文就是Deployment Diagram,它用来显示系统中软件和硬件的物理架构。从部署图中,我们可以了解到软件和硬件组件之间的物理关系以及物理节点的组件分布情况。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。 第二,部署图的使用时机 软件实现完成后用部署图画出软硬件的物
2015-02-28 12:33:04 1135
原创 辛星浅析时序图与协作图、用例图
第一, 时序图和通讯图 时序图和协作图很相似,两种图传递的消息大体是一致的。而且两者可以互相转化。 不同的是时序图强调的是消息的传递顺序,它是将交互关系关系表示为一个二维图,纵向是时间轴,横轴则是对象,对象的生命周期沿着竖线向下延伸。而协作图强调的则是系统之间的组织结构,重在表现对象的角色,消息的传递顺序不明显。 协作图表达的是在某个用例期间,对
2015-02-28 12:17:36 1159
原创 辛星解读时序图的BCE模型
第一,BCE是什么 所谓BCE,它是Boundary-Control-Entity Patterns,它通常也是我们绘制时序图的一种方法。 BCE模型中将对象分为三类:边界类、控制类、实体类。 第二,BCE的对象介绍 边界类:用来隔离系统内外,通常负责接收并响应系统内外消息,参与者与系统对象进行消息传递要通过边界类来实现。 控制类:一个用例会生成
2015-02-28 11:57:49 4483
原创 辛星解读UML建模中的时序图
第一,时序图概念 时序图也就是Sequence Diagram,也可以理解为序列图。它表示了系统在参与者互动执行某一个用例期间,系统内部的一群对象的协作情况。一个用例就对应一个时序图。时序图是对系统动态行为进行描述,它通常用于用例分析和设计阶段。 第二,时序图要素 时序图中主要包括:角色、对象、生命线、激活期和消息。 (1)角色也
2015-02-27 15:41:06 1002
原创 辛星解读UML建模中的协作图/通信图
第一,协作图概念 协作图就是Collaboration Diagram或者Communication Diagram,也可以理解为合作图,也可以解读为通信图,既然有合作就需要涉及到多个对象。协作图是一种交互图(Interaction Diagram)。它可以显示某组对象如何为了由一个用例描述的一个系统事件而与另一组对象进行协作的,使用协作图可以显示对象角色之间的组织关系
2015-02-27 15:14:48 759
原创 辛星解读UML建模中的类图
第一,类图的概念 类是面向对象编程的基础,它是我们把待开发系统中的对象进行抽象形成的各个不同的类,通过某种关系组合在一起的图。它是我们对一个待开发系统的静态描述。 第二,类图的构成 类图主要由两部分构成:类、关系 这里的类不是狭义的类,它是包、接口、构件等元素的统称。 关系
2015-02-27 14:53:33 632
原创 辛星解读活动图、流程图和状态图的区别
首先来说状态图是一个对象的状态的描述,而活动图则是系统执行某一个用例时的具体步骤,流程图则是指程序方法或者函数执行的时间和顺序。 活动图和状态图都是状态机的一种表现形式,都是对系统中动态活动进行的建模。活动图可以理解为不严格意义上的流程图。 但是活动图是一个对象类执行的某一系列活动进行组合的描述,它是由系统内部的处理流程驱动的。活动图是对一个系统而言的,一个系统
2015-02-27 14:29:34 1502
原创 辛星解读UML建模中的活动图
第一,活动图的概念 活动图是可以理解为一个流程图,它用来描述活动的序列,从一个活动到另一个活动的控制流。 活动图的作用是描述用例的具体操作。 第二,活动图的要素 (1)活动:命令的执行或者活动的进行,使用圆角矩形表示 (2)状态:主要是开始状态和结束状态 (3)转
2015-02-27 13:25:11 1044
原创 辛星解读UML建模中的状态图
第一,状态图的概念 状态图,也叫做状态机图,它表示一个模型元素在其生命期间的状况。从该模型元素的开始状态起,响应事件,执行某些动作,引起状态转移到新状态,又在新状态下响应事件,执行动作,引起转移到另一个状态,如此连续,直到终结状态。 一句话来说就是:源状态在经历了某个事件之后进入目标状态。 第二,状态图包含的要素 状态图包含
2015-02-27 13:11:45 870
原创 辛星解读用例图中的关系
上面一篇博文中我们介绍了用例图,那么我们这里再解释一下用例图里面的关系。用例的关系主要有泛化(generalization)、扩展(extend)和包含(include). 泛化关系是一种继承关系,子用例会继承父用例的所有行为、关系和通信关系,也就是说在任何使用父用例的地方都可以用子用例来代替。泛化关系在用例图中使用空心的箭头表示,箭头方向从子用例指向父用例。
2015-02-27 12:42:13 804 1
原创 辛星解读UML建模中的用例图
第一,用例图概念 要了解用例图,首先了解下用例,也就是use case。什么是用例呢,简单来说就是在确定项目需求时,不展现系统内部结构的情况下对系统功能的描述,不过一个use case描述的是整个系统功能的一部分,这一部分一定要是在逻辑上相对完整的功能流程。 用例图是UML用例建模的一种,也是UML建模的基础,它主要用于描述用户或者系统内部的功能需求与行为。
2015-02-27 12:21:44 1030
原创 辛星解读UML的概念
第一,UML的概念 UML是Unified Modeling Language的缩写,翻译成中文就是统一建模语言,当然也可以翻译为标准建模语言,它是一种面向对象的建模语言,它是运用统一的、标准化的标记和定义来实现对软件系统进行面向对象的描述和建模。它为软件开发的所有阶段提供模型化和可视化的支持,包括从需求分析到规格、构造和配置。这是一种图形化的语言,它通过几
2015-02-26 23:23:33 934 2
原创 辛星整理Linux中的lvm
第一,什么是LVM 在传统上,如果一个分区大小是静态的。如果用户在这个分区上没有空间了,那么他要么重新分区(可能需要重装系统),要么像符号连接一样使用组装机。 一个分区就是物理磁盘上一系列连续数据块的概念演变而来。多数类Unix系统现在有能力分解物理磁盘到许多单元。多个驱动器上的存储单元可以汇聚成一个逻辑卷,它们可以分配给分区,另外,单元可以随着空间要求的改变从
2015-02-25 11:07:27 830
原创 辛星解读/dev/null和/dev/zero
在类Unix系统中,/dev/null称为空设备,它是一个特殊的设备文件,它丢弃一切写入其中的数据,不过他会报告写入成功,读取它的话会立即得到一个EOF。在程序员行话中,尤其是Unix行话中,/dev/null被称为位桶,也就是bit bucket,也可以称之为黑洞,即black hole。这个空设备通常被用于丢弃不需要的输出流,或者作为用于输入流的空文件。这些操作通常由重定向完成。
2015-02-25 09:00:04 1165
原创 辛星整理Linux部分常用命令
Linux下的命令太多了,这里先暂时整理一部分,这里我们为了实用,都没有列出具体参数。 第一部分:文件操作 ll以长格式查看目录及文件 ls以短格式查看目录及文件 df -h查看磁盘大小信息 mkdir dir_name 创建文件夹
2015-02-24 20:06:01 714
原创 辛星浅析Redis中的pub/sub功能
pub/sub功能也就是publish/subscribe功能,也就是发布订阅功能。基于事件的系统中,pub/sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者比如客户端以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件,发布者比如服务器可以将订阅者兴趣的事件随时通知相关订阅者。 pub/sub功能可以有三个
2015-02-24 19:33:04 1326
转载 MongoDB中的索引
一、索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧。下面是创建索引的命令: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立: > db.test.getIndexes() 删除索引的命令是: > db.test.dro
2015-02-24 15:42:36 463
原创 辛星浅析Redis中的主从复制
首先简单介绍下Redis中的复制: (1)同一个master可以同步多个slave。 (2)slave同样可以接受其他slaves的连接和同步请求,这样可以有效的分担master的同步压力。 (3)master server是以非阻塞的方式为slaves提供服务的,所以在master-slave同步期间,客户端仍然可以提交查询或修改请求。 (4)slave
2015-02-24 12:06:39 780
原创 辛星浅析Redis中的服务器管理
Redis在设计之初就被定义为可以长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动的情况下立即生效。即便是当前的持久化模式从AOF切换到RDB也无需重启。在Redis中,我们还有一些和服务器管理相关的命令,我们介绍如下: (1)config get parameter 主要用于读取服务器的运行时参数,但是并不是所有的配置参数都可以通过该命令进行读取
2015-02-24 11:52:27 831
原创 辛星浅析Redis中的字符串类型
字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这就意味着该类型可以接受任何格式的数据,比如图像数据或者json对象等信息,在Redis中字符串类型的value最多可以容纳的数据长度为512M。 我们常用的命令如下: (1)append key value 如果该key已经存在,那么append命令会将参数value的值追加到已经
2015-02-24 11:21:38 817
原创 辛星浅析Redis中与key有关的命令
在Redis中,我们还可以直接对key直接操作,下面是我们常用的主要命令: (1)keypattern 它表示获取所有匹配pattern的keys,这里需要注意的是,我们应该避免使用该命令,因为对于大型数据库而言,该命令非常耗时,对Redis服务器的性能打击也是比较大的。它支持glob-style的通配符格式,比如用*表示任意一个或者多个字符,用?表示任意字符,用[xyz]表示方括号
2015-02-23 22:41:06 818
原创 辛星浅析Redis中的配置文件
Redis中的主要配置项如下: (1)daemonize yes 它表示是否在后台运行,如果写成yes,那么在后台运行,如果是no,则表示不在后台运行。 (2)pidfile /var/run/redis.pid 当Redis在后台运行的时候,Redis默认会把pid文件放在/var/run/redis.pid,我们也可以在运行多个Redis服务时,指定
2015-02-23 22:24:25 724
原创 辛星浅析Redis中的有序集合
Redis中的有序集合也就是sorted-set,它和set很相似,都是字符串的集合,都不允许重复的成员出现在一个集合张。有序集合与集合的主要差别是有序集合中的每一个元素都有一个序号与其相连,这个序号即score,Redis通过这个序号来为集合中的成员进行从小到大的排列。需要特别说明的是,尽管有序集合的元素值是唯一的,但是该value对应的score却可以是多个。在有序集合中添加、删除、更新一个成
2015-02-23 18:46:24 1141
原创 辛星解读Redis中的AOF持久化方式
上面我们介绍了RDB的持久化机制,它是将数据库的快照(snapshot)以二进制的方式保存到磁盘中,而AOF则是以协议文本的方式,将所有对数据库进行过写入的命令及参数记录到AOF文件中,以此达到记录数据库状态的目的。Redis将所有对数据库进行写入的命令及参数记录到AOF文件,来达到记录数据库状态的目的,为了方便起见,我们一般称这种记录过程为同步。 同步命令到AOF文
2015-02-20 12:47:59 1282
原创 辛星解读Redis中的RDB持久化方式
由于Redis通常是把数据保存到内存中的,但是当我们关机后再次启动Redis的时候,这些数据是不会保存的。为了解决这些问题,Redis提供了持久化机制,首先我们要看的就是它的RDB的持久化方式。在Redis运行时,RDB程序将内存中的数据库快照保存到磁盘文件中,在Redis重启的时候,RDB程序可以通过载入RDB文件来还原数据库的状态,重新把数据装入内存中。 Redis中的比较重
2015-02-20 11:13:06 834
原创 辛星浅谈Redis中的事务
Redis也提供了对事务的支持,在Redis中,我们常用的命令就是multi、exec、discard、watch这四个命令。其中multi命令用于开始一个事务,该语句之后的所有命令都会被视为事务之内的操作,而exec是提交一个事务,discard是回滚一个事务。 下面是对一些命令的具体介绍: multi----用于标记事务的开始,其后执行的命令都被存
2015-02-20 10:32:23 1137
原创 辛星浅谈Redis中的虚拟内存
和大多数NoSQL一样,Redis也是使用的KV的数据存储模型,为了提高读写效率,Redis也是将KV保存在内存中,但是这样做会带来一些问题。 如果 内存足够大,那么把所有的数据都加载到内存中固然是最好的选择,那么查询操作都直接操作内存,自然是很快。但是实际情况中却更多的是只有部分数据才能加载到内存中,那么这个时候就提出来一个虚拟内存的概念。 Redis中的虚拟内存和
2015-02-20 00:14:51 3549
原创 辛星浅析Linux中的信号
要说Linux中的信号,不得不先提一下中断这个概念。中断是系统中对于异步事件的响应,也就是说某个进程可以在代码执行的过程中被打断了,它先去执行一段异常处理程序。中断可以分为硬件中断,也就是外部中断,它是由外部设备通过硬件请求的方式产生的中断。而软件中断,也就是内部中断,它是由CPU运行程序的一些错误或者执行内部程序调用的时候引起的一种中断。 在CPU的层面去看中断,是这样的一个步骤:
2015-02-19 22:59:30 922 1
原创 辛星浅析kill、pkill的区别
首先说一下kill命令,它是通过pid来杀死进程,要得到某个进程的pid,我们可以使用ps命令,默认情况下,kill命令发送给进程的终止信号是15,但是有些进程不会理这个信号,这样的话,可以用9信号来强制杀死,信号9是不会被忽略的强制性执行信号。 而killall和pkill都是使用命令名来终止进程的有效手段,它们不同于kill通过pid来杀死进程的方式,它可以理解为成批成批的杀死进
2015-02-19 21:53:55 5064
原创 辛星浅析tty、pty与pts
首先我们还是从概念入手,所谓tty,它是TeletypeWriter的缩写,它的中文翻译就是电传打字机,它的主要功能就是打印信息和阅读信息,后来被键盘和显示器所取代。而tty现在通俗一点的理解就是终端。 终端又是什么呢?它就是一种电子的或者机电的硬件设备,它可以用来向大型主机输入数据并且显示来自主机的数据。在计算机的早期,很多计算机都会连接若干个终端控制台,这些终
2015-02-19 21:19:18 1181
原创 辛星整理之CAP理论与一致性
说明:本系列内容不是本人原创,而是数位专家学者的经验和观点的一些集合,在此也向做出有效工作的各位前辈先驱们致敬。 首先说一下CAP理论的这三个单词都是什么: (1)所谓C,即Consistent,也就是一致性。 (2)所谓A,也就是Availability,即可用性,所谓可用性,可以理解为快速获取数据。 (3)所谓P,也就是Pa
2015-02-19 12:08:05 1095
原创 辛星浅析lost+found
可能很多朋友会对这个lost+found目录感到比较好奇,我们这里来分析一下,这里的lost+found其实就是lost和found的组合。 那么什么是lost呢?如果我们发现一个文件有占用的inode,但是没有相应的文件指向它,也就是说第一个inode没用了,造成某些空间被占用了,但是没有合法的文件或者目录指向它,这就是所谓的lost。 那么什么是found呢?就是这些被占用
2015-02-18 23:37:10 2984 1
原创 辛星浅析/etc/fstab文件
因为昨天修改/etc/fstab出了点问题,因此今天就读了好多关于该文件的资料,现在整理出来,希望朋友们遇到问题的时候可以参考,避免走弯路。 第一:该文件的解释 磁盘被手动挂载之后都必须把挂在信息写入/etc/fstab这个文件中,否则下次开机的时候还必须要重新挂载。Linux在开机的时候会主动去读取/etc/fstab这个文件中的内
2015-02-18 15:03:25 1013
原创 辛星浅析Linux的启动流程
对于Linux系统来说,系统的整个启动过程分为六个部分,我们分别介绍如下: 第一部分:BIOS 所谓BIOS,也就是basic input ouput system,可以称之为基本输入输出系统,一般都是保存在主板上的BIOS芯片中。计算机启动时第一个运行的就是BIOS,它主要负责对硬件的检测,当电脑的硬件检测不通过时,电脑会发出滴滴的声音,这个
2015-02-17 23:48:53 810
原创 辛星浅析/etc/fstab文件写错的修复方法
今天给人示范lvm的设置,结果在后来修改/etc/fstab的时候不小心写错了,然后重启系统的时候就进入了repair filesystem模式,这个模式下是无法通过vi来修改/etc/fstab的,而且该模式下也无法通过touch来创建文件,所有系统都是只读的,那么我们该怎么办呢? 我们可以通过执行 #mount -o remount,rw / 来让根目录可以
2015-02-17 23:04:42 1927
原创 辛星浅析lvm
首先说一下lvm的定义吧,所谓lvm,是logical volume manager的简写,它是由Heinz Mauelshagen在Linux2.4内核上实现的。lvm的主要方法就是将一个或多个硬盘的分区在逻辑上进行集合,当成一块大硬盘使用,它能够实现动态的磁盘空间的管理,当硬盘的空间不够的时候,它可以将其他的硬盘的分区加入其中,这样相对于普通的磁盘分区有较大的灵活性。 lv
2015-02-17 18:40:58 690 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人