- 博客(59)
- 收藏
- 关注
原创 最近收藏的技术博客
网易 何登成 http://hedengcheng.com/阿里 童佳旺 http://www.dbthink.com/阿里 沈询 http://qing.blog.sina.com.cn/whisperxd http://blog.sina.com.cn/u/1765738567冯大辉 丁香园CTO http://dbanotes.net/
2014-03-18 14:28:55 798
原创 linux大文件查找
df -l查看磁盘占用du -hm --max-depth=1 | sort -nr | head -12当前目录 按大小排序
2016-04-26 16:58:55 765 1
转载 MapReduce中的shuffle&sort
MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。 MapReduce 框架的核心步骤主要分两部分:Map 和Reduce。当你向MapReduce 框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map 任务,
2014-07-25 19:47:09 726
转载 上下文切换
上下文切换(有时也称做进程切换或任务切换)是指 CPU 从一个进程或线程切换到另一个进程或线程。进程(有时候也称做任务)是指一个程序运行的实例。在 Linux 系统中,线程就是能并行运行并且与他们的父进程(创建他们的进程)共享同一地址空间(一段内存区域)和其他资源的轻量级的进程。上下文是指某一时间点 CPU 寄存器和程序计数器的内容。寄存器是 CPU 内部的数量较少但是速度很快的内存(
2014-03-26 10:21:34 1093
转载 servlet工作原理
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础。因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的基本要求。本文将带你认识 Java Web 技术是如何基于 Servlet 工作,你将知道:以 Tomcat 为例了解 Servlet 容器是如何工作的?一个 Web 工程在 Servlet 容器中是
2014-03-20 19:38:47 610
转载 Dynamo和Cassandra中用到的Merkle tree
Merkle Tree是Dynamo论文中用到的一个算法,读这篇论文前,我并不知道这个算法,所以找了相关资料了解了解,以便我对论文有更进一步的了解。 什么是Merkle Tree Merkle Tree,是一种树(数据结构中所说的树),网上大都称为Merkle Hash Tree,这是因为 它所构造的Merkle Tree的所有节点都是Hash值。Merkle Tree具有
2014-03-13 14:28:14 1218
转载 spark介绍
Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算
2014-03-03 10:49:04 1319
转载 SQL中的where条件提取
1 问题描述一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣。当然,要完整描述一条SQL在数据库中的生命周期,这是一个非常巨大的问题,涵盖了SQL的词法解析、语法解析、权限检查、查询优化、SQL执行等一系列的步骤,简短的篇幅是绝对无能为力的。因此,本文挑选了其中的部分内容,也是我一直都想写的一个内容,做重点介绍: 给定一条SQL,如何提
2014-02-20 16:16:35 4741
原创 mysql在索引上查询非索引类型的值导致的慢查询
发生问题的sql如下:SELECT column_name,comment,type_name,integer_idx FROM tmp_alipay_columnsWHERE sd_id=(SELECT CAST(cd_id as SIGNED) FROM tmp_alipay_sds WHERE sd_id=333 AND cd_id IS NOT null AND cd_idtmp
2014-02-19 10:07:42 1008
转载 hadoop yarn介绍
对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此不再累述,读者可参考 Hadoop 官方简介。使用和学习过老 Hadoop 框架(0.20.0 及之前版本)的同仁应该很熟悉如下的原 MapReduce 框架图:图 1.Hadoop 原 MapReduce 架构 从上图中可以清楚的看出原
2014-02-18 16:38:50 1161
转载 sql窗口函数
与聚集函数一样,窗口函数也针对定义的行集(组)执行聚集,但它不像聚集函数那样每组之返回一个值,窗口函数可以为每组返回多个值。实际上,DB2中称这种函数为联机分析处理OLAP函数,而Oracle把它们称为解析函数,但ISO SQL标准把它们称为窗口函数。窗口函数一般在OLAP分析、制作报表过程中会使用到。窗口函数:聚合函数 over()聚合函数 over(partition
2014-02-17 09:57:51 1417
转载 tair缓存系统实现
Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。Tair的功能Tair是一个Key/Value结构数据的解决方案,它默认支持基于内存和文件的两种存储方式,分别和我们通常所说的缓存和持久化存储对应。Tair除了普通Key/Value系统提
2014-02-14 14:15:33 2958 1
转载 JDBC超时详解
恰当的JDBC超时设置能够有效地减少服务失效的时间。本文将对数据库的各种超时设置及其设置方法做介绍。 真实案例:应用服务器在遭到DDos攻击后无法响应 在遭到DDos攻击后,整个服务都垮掉了。由于第四层交换机不堪重负,网络变得无法连接,从而导致业务系统也无法正常运转。安全组很快屏蔽了所有的DDos攻击,并恢复了网络,但业务系统却还是无法工作。 通过分析系统的thread dum
2014-02-13 10:19:51 2973
转载 PAXOS算法3
前两篇Paxos算法的讨论,让我们对paxos算法的理论形成过程有了大概的了解,但距离其成为一个可执行的算法程序还有很长的路要走,原因是很多的细节和错误未被考虑。Google Chubby的作者说,paxos算法实现起来远没有看起来简单,原因是paxos的容错仅限于server crash这一种情况,但在实际工程实现时要考虑磁盘损坏、文件损坏、Leader身份丢失等诸多的错误。 1
2014-02-11 11:46:46 766
转载 PAXOS算法详解2
1.编号处理根据P2c ,proposer在提案前会先咨询acceptor查看其批准的最大的编号和value,再决定提交哪个value。之前我们一直强调更高编号的proposal,而没有说明低编号的proposal该怎么处理。|--------低编号(LN)--------|P2c 的正确性是由当前编号N而产生了一些更高编号H来保证的,更低编号L在之前某个时刻,可能也是符合
2014-02-11 11:31:40 863
转载 详解PAXOS算法1
Paxos算法的难理解与算法的知名度一样令人敬仰,从我个人的经历而言,难理解的原因并不是该算法高深到大家智商不够,而在于Lamport在表达该算法时过于晦涩且缺乏一个完整的应用场景。如果大师能换种思路表达该算法,大家可能会更容易接受:首先提出算法适用的场景,给出一个多数读者能理解的案例其次描述Paxos算法如何解决这个问题再次给出算法的起源(就是那些希腊城邦的比喻和算法过程)Lam
2014-02-11 11:22:14 828
转载 zookeeper介绍
一、 zookeeper是什么官方说辞:Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。好抽象,我们改变一下方式,先看看它都提供了哪些功能,然后再看看使用它的这些功能能做点什么。 二、
2014-02-11 10:30:10 904
转载 分布式系统的事务处理-- 一致性
当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题:1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们会通过两种手段来扩展我们的数据服务:1)数据分区:就是把数
2014-02-10 15:53:12 2287
转载 zookeeper工作原理
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee
2014-02-10 15:48:55 738
转载 HBase简介
一、 简介historystarted by chad walters and jim2006.11 G release paper on BigTable2007.2 inital HBase prototype created as Hadoop contrib2007.10 First useable Hbase2008.1 Hadoop
2014-02-10 15:47:53 674
原创 Mysql InnoDB 读书笔记--文件和表
文件:参数文件:包含一些设置信息,初始化信息 mysql --help | grep my.cnf. show variables命令所查询的就是这些参数日志文件:如错误日志文件,二进制日志文件,慢查询日志,查询日志等socket文件:用于unix套接字连接pid文件:进程ID文件mysql表结构文件:用来存放mysql表结构定义存储引擎文件
2013-08-15 11:44:20 782
原创 Mysql InnoDB读书笔记--关键特性
InnoDB关键特性包括:插入缓冲,两次写,自适应哈希索引插入缓冲:最令人激动的关键特性。Insert Buffer不仅在缓冲池中,同时也和数据页一样,是物理页的一个组成部分。例如一张表,id为自增主键,name为non unique的key。插入时,数据也根据id无需随机IO,而name这种非聚集的非唯一索引,则需要离散的访问非聚集索引页,插入性能降低。这是B+树的特性所
2013-07-30 12:23:59 1673 1
原创 Mysql InnoDB读书笔记2--master thread源码分析
loop主循环:void master_thread(){loop: for(int i=0;i<10;i++){ do thing once per second sleep 1 second if necessary } do thing once per 10 seconds goto loop;}每秒一次的操作:刷新日志缓冲到磁盘,即使这个事
2013-07-30 10:56:01 1030
原创 Mysql InnoDB读书笔记
一些常用命令:show engines;show engine innodb status;show variables like 'innodb_%';mysql体系结构图:包括:连接池组件管理服务和工具组件SQL接口查询分析器优化器cache组件插件式存储引擎(核心,包括了内存、索引,存储管理等) 存储引擎是基于表的,而不
2013-07-29 18:25:36 802
转载 mysqldump命令详解
导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将被导出。 通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。 注意,如果你运行mysqldump没有--quick或--opt选项
2013-05-21 11:19:28 754
原创 彻底解决"The last packet successfully received from the server was * milliseconds ago"问题
1.修改mysql 的 wait_timeout参数(和interactive_timeout一起) 不推荐2.如果用hibernate.必须手动配置连接池,最好是用c3p0连接池。如果不配,会使用内置连接池。内置连接池的8小时断开问题不知道hibernate开发者怎么还不解决!3.干脆不用hibernate,spring的jdbc template+自己配连接池就非常好。
2013-05-03 10:30:12 34514 1
原创 apache cxf restful的文件上传
@POST @Produces("application/json") @Path("/upload/{isSafe}") public String uploadFile(@PathParam("isSafe") String safe,MultipartBody body) { try { long t = new Date().getTime(); for (Attac
2013-04-10 12:23:16 4686 13
转载 windows下apacha+tomcat实现负载均衡
转自:http://www.cnblogs.com/luxh/archive/2012/11/25/2786475.htmlApache作为前端的Web服务器,将客户端的请求分流到后端的多个Tomcat应用服务器。 1、准备环境 1)确保已安装好不低于1.5版本的JDK,并配置好相应的环境变量 2)下载Apache HTTP Server
2013-03-18 14:12:21 937
转载 mysql java数据类型对应表
java mysql 数据类型对照类型名称显示长度数据库类型JAVA类型JDBC类型索引(int)描述 VARCHARL+NVARCHARjava.lang.String12 CHARNCHARjava.lang.String1 BLOB
2013-03-08 14:30:06 707
转载 spring配置scheduled job
由于Spring自己开始提供scheduled job的实现,3.1.2版本对于quartz的支持不是那么给力Spring自己的job配置更加简单:使用spring原生态支持: 在xml前加上task的命名空间:xmlns:task="http://www.springframework.org/s
2013-03-08 11:25:21 3233
原创 spring配置连接池
1、使用org.springframework.jdbc.datasource.DriverManagerDataSource 无连接池功能2、使用org.apache.commons.dbcp.BasicDataSource 说明:这是一种推荐说明的数据源配置方式,它真正使用了连接池技术 oracl
2013-03-08 10:05:59 2369
原创 mysql子查询不支持limit
这种查询语句是不可以的select id from cloudknows.上海 where id in(select id from cloudknows.上海 where lat>=31.220309999999998 and lat=121.45716 and lng<=121.47716000000001 order by abs(lat-31.23031)+abs(lng-
2013-03-07 21:34:12 1295
转载 mysql索引
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),
2013-03-07 21:00:14 652
原创 Gson
Person person = gson.fromJson(str, Person.class);List ps = gson.fromJson(str, new TypeToken>(){}.getType());Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation() //不导出
2013-03-06 16:48:28 803
转载 mysql插入性能改善
1、innoDB是mysql引擎中唯一支持事务transaction的引擎。默认所有用户行为都在事务内发生。默认mysql建立新连接时,innoDB采用自动提交autocommit模式,每个SQL语句在它自己上形成一个单独的事务,即insert一次就commit了一次,InnoDB在该事务提交时必须刷新日志到磁盘,因此效率受限于磁盘读写效率。你可以通过mysql_query("SET
2013-03-06 14:49:27 978
转载 tomcat日志设定
1 Tomcat 日志概述Tomcat 日志信息分 为 两 类 :一是运行中的日志,它主要 记录 运行的一些信息,尤其是一些异常 错误 日志信息 。二是 访问 日志信息,它 记录 的 访问 的 时间 , IP , 访问 的 资 料等相 关 信息。2 Tomcat 日志配置2.1 访问日志的配置默认 tomcat 不记录访问日志,如下方法可以使
2013-03-06 11:42:36 766
转载 java遍历hashmap
转]Java中HashMap遍历的两种方式原文地址: http://www.javaweb.cc/language/java/032291.shtml第一种: Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry
2013-03-06 10:59:58 797
原创 java读写文件
quick referencereadpublic static List getAllTxtFiles(String dirLocation){ File f = new File(dirLocation); if(!f.isDirectory() && f.getName().endsWith(".txt")){ fileList.add(f.getAbsoluteP
2013-03-03 16:12:15 476
原创 CXF REST的URL参数
@QueryParam /user?s=3@PathParam /user/{a}@FormParam 表单package com.cldknw.service.itf;import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.PathParam;import javax.ws.rs.Produ
2013-03-01 18:16:24 2081
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人