> 文章列表 / Page 34

2015-11-08

Hadoop Architecture 架构

本文固定链接:https://www.askmaclean.com/archives/hadoop-architecture.html   本文是官方文档的翻译:http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html 1介绍   HDFS 是一个分布式的文件系统,被设计运行在商业硬件上。它和现有的分布式文件系统有很多相似之处。但是,也于其他的分布式文件系统有显著的差异。HDFS是高度容错的,并且被设计来部署到底成本的硬件上。HDFS提供高吞吐量访问应用程序数据,并适用于那些有很大数据集的应用程序。HDFS放松一些POSIX请求使得流媒体访问文件系统数据。HDFS最初的基础设施构建是为了Apache Nutch搜索引擎项目。HDFS是Apache Hadoop核心的项目部分。该项目的URL是http://hadoop.apache.org/       2 假设和目标   2.1 硬件故障   硬件故障是标准的而不是例外。一个HDFS实例可能包括数百或数千个服务器,每一个存储文件系统的部分数据。事实上,这里有大量的组件,每个组件都有一个不一样的失效概率,意味着HDFS的一些组件总是不能提供功能。因此,故障的快速检测,自动的恢复是HDFS的一个核心构架目标(www.askmaclean.com)。  …
#POST 19 MIN READ
2015-11-08

【MySQL学生手册】协同(Advisory)锁

本文地址:https://www.askmaclean.com/archives/mysql-advisory-lock.html   7.3 协同(Advisory)锁 协同锁没有能力避免来自其它客户端的数据访问,但它们基于一种概念,即所有客户端会使用一个约定的规则来协同使用一种资源。这种约定的规则可以是一个锁名,即一个简单的字符串。当这个名字被锁住,此协同锁认为被获取。那么了解到此锁状态的其它的客户端就会抑制并避免其进行和持有锁的用户具有冲突的操作。   协同锁使用了一套功能函数实现。为了获取锁,使用GET_LOCK()功能: 第一个参数使用一个字符串定义了被锁的名字,第二个参数是一个以秒为单位的时间值,定义了如果锁无法立刻被获取的情况下,最多等待多长时间。GET_LOCK()但执行成功则返回1,不过如果时间过后,锁还是未能获取,则返回0,执行中异常报错则返回空值。 获取到协同锁的客户端可以调用RELEASE_LOCK()功能来释放锁: 如果锁被成功释放,则RELEASE_LOCK()返回1,如果需要释放的锁是别的客户端锁,则返回0,返回NULL则说明当前名字没有锁。 我们还可以再次通过调用GET_LOCK()来释放之前的锁,或者直接关闭其和服务端之间的连接也可以达到释放锁的目的。
#POST 3 MIN READ
2015-11-05

Oracle 11g OCM考试考点分析 SPM SQL执行计划管理

本文固定链接:https://www.askmaclean.com/archives/oracle-11g-ocm-spm.html     6  SQL执行计划管理     6.1目标   在完成这一课后,你应该能够做下列事情: 设置SQL计划管理 设置各种各样的SQL计划管理场景 迁移存储大纲到SQL计划基线     6.2 SQL 执行计划管理:概述   SQL…
#POST 15 MIN READ
2015-11-02

【MySQL学生手册】显式(Explicit)表锁

本文地址:https://www.askmaclean.com/archives/mysql-explicit-lock.html 7.2 显式(Explicit)表锁 客户端可以使用两个语句来管理显式表锁。LOCK TABLES命令会获取表锁,而UNLOCK TABLES命令则会释放锁。对于显式锁的获取,我们可以具体在某些场景中使用:   一个隐式锁仅在对于(非事务引擎下的)单个查询执行时间内起到作用。但是对于希望运行多语句跟新且同时不被其它客户端干扰的情况,则不适用。而在执行由事务引擎支持的事务时,锁可以在整个事务时间范围起作用,为了达到这样的目的,你可以获取一个显式锁来维持其效果直到你释放它,这样其它客户端就不能修改你锁住的那些表了。 使用显式锁,可以在将多个语句作为一组进行执行时发挥作用,从而提高效率。首先,服务端减少了获取和释放锁的工作,因为其不必未每个语句都进行其锁的操作。它仅是在操作的最开始时候获取所有所需的锁,并在事务最后释放它们即可。其二,对于那些修改数据的语句,索引刷新操作次数降低了。例如,如果你执行多个INSERT语句,且都使用隐式锁,那么索引的刷新操作将在每个语句之后进行。如果你对表使用了显式锁,那么索引的刷新仅会在所有插入操作完成并释放锁后进行,这样所产生的磁盘活动就更少了。   LOCK TABLES语句可以对指定的表进行锁定,并制定索要获取的锁的类型。如,以下语句会在Country表上要求获取读锁,并对City表要求获取写锁: mysql> LOCK TABLES Country READ, City WRITE; 为了能成功执行lock…
#POST 5 MIN READ
2015-11-01

hadoop snapshots 快照实验

本文固定链接:https://www.askmaclean.com/archives/hadoop-snapshots-try.html 1 实验环境   hadoop 2.7   jdk 1.8   在之前的单namenode非HA的hadoop环境中进行,其中3个datanode   各个节点分布如下:   10.0.0.22            dbdao  # NameNode 10.0.0.23            dbdao2      #…
#POST 2 MIN READ
2015-10-31

hadoop snapshots 快照

本文是官方文档的翻译固定链接为:https://www.askmaclean.com/archives/hadoop-snapshots.html 原文链接:http://hadoop.apache.org/docs/r2.7.1/hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html   1概述   HDFS 快照是文件系一个时间点的只读的副本。快照可以是部分文件系统,或者整个文件系统。一些场景使用快照的场景是数据备份,防止用户误操作和灾难恢复。   使用HDFS 快照是高效的: 快照创建是瞬间的:成本是0(1)排除查找信息节点的时间 。 额外的内存使用仅仅当对快照进行修改时产生:内存使用时0(M),M是修改文件/目录的数量。 在datanode中的块不会被拷贝:快照文件记录这些块列表和文件大小。不会产生数据拷贝。 快照不会对日常的HDFS操作产生不利的影响:修改被按反向时间排序记录,这样当前数据可以直接的访问。快照数据是由当前数据减去修改数据计算出来的(www.askmaclean.com)。   1.1 snapshottable目录   快照可以产生在任何被设置为snapshottable的目录中。一个snapshottable目录可以同时容纳65536个快照。snapshottable目录没有个数上限,管理员可以设置任意个snapshottable。如果一个snapshottable中存在快照,那么这个目录在删除所有快照之前,不能删除或改名。…
#POST 5 MIN READ
2015-10-26

OOW Oracle Open World 2015 Keynote Agenda #OOW2015#

OOW Oracle Open World 2015 #OOW2015# Sunday, October 25 下午5:00 – 7:00至下午Moscone North, Hall D 集成的云应用和云平台服务 甲骨文公司比任何其他云服务供应商拥有更多的云应用程序,平台和基础设施服务,它有唯一的真正集成的云堆栈。拉里·埃里森将发布一系列新产品,并突出为什么集成云将带给客户最具创新性和成本效益的好处。 拉里·埃里森 执行主席兼首席技术官,甲骨文  …
#POST 7 MIN READ
2015-10-25

Hadoop MapReduce开发的基础知识

本文固定链接:https://www.askmaclean.com/archives/basics-of-mapreduce-development.html   5.MapReduce 开发的基础知识     在前面的章节中,我们将Hadoop作为一个平台介绍给你。您了解了Hadoop架构背后的的概念,知道Hadoop管理的基础知识,甚至还编写了基本的MapReduce程序。 在这一章中,你将学习MapReduce编程的基本原理以及MapReduce程序常见的设计模式,并附带样本用例。这些基本原理将帮助你在下面的章节中深入理解MapReduce的高级概念。     5.1  Hadoop和数据处理   这里将通过实践案例来介绍MapReduce的基本原理。 RDBMS和SQL在数据处理中是无处不在的;我们使用SQL中的语言元素来解释MapReduce的基本概念。 在SQL语言元素背景下讨论MapReduce的基本概念不仅为你创造了一个了解MapReduce的熟悉环境,并且也将使你体会到当数据集很大时,MapReduce解决常见数据处理问题的合适性。 为了实现本章目标,我们使用了航空公司的数据集,包括到从1987年2008年所有商业航班抵达及起飞的详细信息。我们首先介绍一下这个数据集;然后你就可以开始通过MapReduce依据我们提到的SQL语言元素处理常见数据问题。在这一过程中,您将熟悉MapReduce的各个组成部分,其中包括: Mapper Reducer Combiner…
#POST 42 MIN READ
2015-10-25

【MySQL学生手册】MySQL锁

本文地址:https://www.askmaclean.com/archives/mysql-lock.html 第7章 锁   章节概述 本章介绍如何MySQL的锁(Lock)机制。你会了解: 锁的概念 如何使用显式表锁 如何使用协同(advisory)锁   7.1 锁的概念 MySQL服务端使用多线程架构,这样使其能够并行地位多个客户端进行服务。对连接的每个客户端来说,服务端分配了一个线程作为其连接处理。如果每个客户端访问不同的表,它们并不会互相干扰对方。然而,当多个客户端尝试在同一时间访问同一张表,会产生争用并需要客户端间协调。如,一个客户端正在修改行而另一个客户端正在读取它们,或两个客户端正在同时修改同一行,这样都会产生问题。为了避免这些问题引发的数据讹误,MySQL使用锁来进行解决。   锁是一种避免由于多个客户端同时进行数据访问而引发问题的机制。锁由服务端管理:它会为某个客户端对数据上锁以限制其它客户端对此数据的访问,直到锁被释放。锁仅允许持有它的客户端对被锁的数据进行访问,而对其它对此数据进行争用的客户端限制访问的操作行为。锁机制所起到的效果是为了在多个客户端进行有冲突的操作时,进行等待,以达到顺序化的数据访问。   不是所有并行访问都会产生冲突,因此使用什么类型的锁以允许客户端访问数据则取决于客户端到底是希望进行读还是写: 如果一个客户端希望读数据,其它客户端也希望读这同样的数据,这并不会产生冲突,它们可以在同时进行读取。然而,如果其它客户端如果要进行写(修改)数据的话,就需要等到读取完成才能进行。 如果一个客户端希望写数据,所有其它客户端必须等它写完,不管它们要做的操作是写操作还是读操作。  …
#POST 6 MIN READ
2015-10-25

C100DBA MongoDB DBA认证考题讲解 Journal日志的存放

本文永久链接:https://www.askmaclean.com/archives/mongodb-journal.html ‎ C100DBA MongoDB DBA认证考题讲解 Journal日志的存放     Why might you want to put your journal on a separate drive…
#POST 2 MIN READ