MapReduce VS RDBMs

Now, the RDBMs – Rational Database Management Systems, is good for updating a small portion of a big database. RDBMs uses a traditional B-Tree, which is highly dependent on the time required to perform seek operations.

Compared to this, MapReduce is good for updating all, or a majority of a big database. MapReduce uses sort and merge to rebuild the database which depends more on transfer operations.

RDBMs is good for applications that required the data sets if the database to be very frequently updated such as in point queries or small dataset updates. MapReduce is better for WORM, which is a write once and read many times based data applications.

More

Cloud Service Models

We are going to look into further details of the cloud service models.

First of all, look at this picture. At the bottom which is the infrastructure, the IaaS. And in here, virtual machines, server storage, network, is basically what is provides in the infrastructure. Above that is PaaS, where this is a platform as a service, and it includes database, web server and deployment tools. The next one on the top is SaaS and this is software as a Service. Here, CRM, email, games, virtual desktop and what is actually in the software application domain.

More

Cloud Introduction

At first, what does cloud computing do?

Well. It provides online data storage. It enables configuration and accessing of online applications. Apart from that, it provides a variety of software usage. And also it provides computing platform and computing infrastructure.

Now, that may not have lightened up what the meaning of cloud computing is, so here comes an example.

More

中断以及中断处理

中断

事实上所有计算机都提供了允许其他模块(I/O、存储器)中断处理器正常处理过程的机制。分类如下:

  • 程序中断:在某些条件下由指令执行的结果产生,例如算术溢出、除数为0、试图执行一条非法的机器指令以及访问到用户不允许的存储器位置。
  • 时钟中断:由处理器内部的计时器产生,允许操作系统以一定规律执行函数
  • I/O中断:由I/O控制器产生,用于发信号通知一个操作的正常完成或各种错误条件
  • 硬件故障中断:由诸如掉电或存储器奇偶错误之类的故障产生

More

MapReduce & Hadoop

Hadoop 是什么?Hadoop 又与 MapReduce 有什么关系?本篇文章会简单介绍两者之间的关系,算是自己在学习过程中做的笔记吧。

我们在练习过程中可能就使用几M的数据量,但是真正在实践中我们接触的数据可比这大得多,这是如果还使用一台电脑进行运算的话就显得十分笨拙,并且实际上远远超出了我们的计算能力。幸运的是一些开源的软件项目提供了处理海量数据的方案,其中一个项目就是 Hadoop,它采用JAVA语言编写,支持在大量机器上分布处理数据。

Hadoop 是 MapReduce 框架的一个开源实现。本篇笔记简单介绍 MapReduce 和 Hadoop 项目。

More

详细谈谈二维码生成原理与编码(一)

本想一篇文章就解决的,后来发现需要介绍的有点多,一个晚上绝对写不完,看来又要开新坑了。

一、什么是二维码?

二维码有很多种,其中占据大半江山的主要有两种,一是以 PDF417 为代表的堆叠式条形二维码,另一个是以 QR Code 为代表的矩阵式二维码

PDF417 是“便携式数据文件”的缩写。它最少分为三层,最多 90 层。包括左右空白区、起始符、终止符、左右层指示符号字符等。它的具体架构如下图:

More

模拟退火

模拟退火是一种通用概率算法,用来在固定时间内寻求一个大的寻找空间内找到的最优解。

简介

模拟退火来自冶金学的专有名词退火。退火是将材料加热后再经特定速率冷却,目的是增大晶粒体积,并且减少晶格中的缺陷。材料中的原子原来会停留在使内能有局部最小值的位置,而随机在其他位置中移动。退火冷却时速度较慢,使得原子有较多可能可以找到内能比原来更低的位置。

模拟退火的原理也和金属退火的原理近似:我们将热力学的理论套用到统计学上,将搜寻空间内每一点想像成空气内的分子;分子的能量,就是它本身的动能;而搜寻空间内的每一点,也像空气分子一样带有“能量”,以表示该点对命题的合适程度。算法先以搜寻空间内一个任意点作起始:每一步先选择一个“邻居”,然后再计算从现有位置到达“邻居”的概率。

More