摘要: 看了一天的技术文章,趁还没下班前写下自己的总结首先明确概念:redis是可以持久化数据的。大致可以分为两种方式。第一种:snapshot 在redis.conf设置自动执行snapshot所需要满足的条件即可。默认的例子是:save 900 1,save 300 10,save 60 1000. 只要满足其中任何一个条件即可。 snapshot过程: 1:首先fork一个子进程。主进程继续接收连接请求,子进程开始偷偷的对内存数据做快照。互不影响。做快照是基于copy on write模式,即父子进程共享相同的物理页。当父进程需要对相应的物理页做修改时,会生成相应物理页的一个副本,针对... 阅读全文
posted @ 2011-11-15 18:17 雪刚 阅读(871) 评论(0) 推荐(1)
摘要: mahout是hadoop的一种高级应用。运行mahout需要提前安装好hadoop。hadoop的安装网上很多。而且也不复杂,这里不再讲述。这里默认hadoop已经安装完成。1:下载二进制解压安装。到http://labs.renren.com/apache-mirror/mahout/0.5/ 下载,我选择下载二进制包,直接解压及可。2:配置环境变量:HADOOP_HOME,HADOOP_CONF_DIR,MAHOUT_HOME,格式如下export HADOOP_HOME=/usr/local/hadoop-0.20.205.0export HADOOP_CONF_DIR=/usr/lo 阅读全文
posted @ 2011-10-24 14:57 雪刚 阅读(1313) 评论(0) 推荐(0)
摘要: 1.特性 1:支持ACID事务特性; 2:高可用; 3 :可处理上十亿节点与关系;4:非常快的查询速度 单一实例可以操作上十亿个节点与关系,当数据吞吐量不足的时候,可以进行分布式布署。在数据关系复杂的情况下,每秒可处理成百万的join操作。2.两种用法 Neo4j它有两种用法,一是作为单独服务向外提供使用,另一种是嵌入到程序中被某一个程序完全占有。具体用法学习之后再介绍。 类EmbeddedGraphDatabas,它是嵌入式使用中常用到的类,一般用作单个实例,另一个类HighlyAvailableGraphDatabase是在高可用结构中常使用的类。不过官网1.5.MO2的jar包中... 阅读全文
posted @ 2011-10-18 18:09 雪刚 阅读(2211) 评论(0) 推荐(0)
摘要: 接着上一篇,来介绍另一个管理命令: db.serverStatus() ,本人英文有限,翻译的很笨拙,欢迎各位提供更好的翻译。FieldExample ValueExplanationHostte.rzw.com:27018运行实例所监听的IP与端口version1.8.3当前实例所使用的版本Processmongod当前实例是mongod,还是mongosUptime231905实例连续正常运行时间,单位秒uptimeEstimate223083基于mongodb内部粗粒定时器的连续正常运行时间localTimeISODate("2011-10-13T01:47:38.773Z&q 阅读全文
posted @ 2011-10-13 15:15 雪刚 阅读(5329) 评论(0) 推荐(5)
摘要: 进入mongo的shell命令模式下,db.stats() 与 db.serverStatus() 是查看当前Mongodb运行状态的两个重要命令。下面简单解释一下这两个命令。1 运行db.stats(),得到例如下面这个的结构输出。> db.stats();{ "db" : "test","collections" : 3,"objects" : 13,"avgObjSize" : 36,"dataSize" : 468,"storageSize" 阅读全文
posted @ 2011-10-13 11:14 雪刚 阅读(8538) 评论(0) 推荐(0)
摘要: 原文:http://raocl.wordpress.com/2011/01/10/test/ ,官方也有相关文档http://hackmysql.com/mysqlreportguide。不过我还是习惯看中文的。如果对某些中文翻译有疑惑可以对照着看中英文。mysqlreport是mysql性能监测时最常用的工具,对了解mysql运行状态和配置调整都有很大的帮助。找了一些mysql的资料,发现大多数是关于php+mysql开发的,服务配置基本就是固定的几条。干脆找上mysqlreport的官网,啃下来这篇指南。翻译都是随着我个人的语言习惯,对直接能用mysql命令上看到结果的英文则保留下来。方便 阅读全文
posted @ 2011-09-13 14:39 雪刚 阅读(465) 评论(0) 推荐(0)
摘要: MYSQL 中的datetime类型,在设计表时允许default null,但有时候需要建索引和其他的原因,需要改成 not null,这个时候就需要注意.1. 刚开始,列UPDATE_TIME datetime default null,如果没有为列设置值,该列为null,2.在表中UPDATE_TIME 列已有数据为null的时候,需要为列UPDATE_TIME 修改成 not null直接运行 alter table tableName modifyUPDATE_TIME datetime not null.这时候,原先为null的列,这时将会改变成'0000-00-00 00 阅读全文
posted @ 2011-09-08 14:10 雪刚 阅读(289) 评论(0) 推荐(0)
摘要: 安装MYSQL已经不是什么新鲜事了,一直都是下载rpm包安装。今天上午在一台内网机器安装的时候,想搞明白它的原理,也记录一下我的心理体会。1:rpm -ivhMySQL-server-5.5.15-1.rhel5.x86_64.rpm这一步安装,是让MYSQL提供服务端服务,主要是在/var/lib/mysql 创建数据目录,以及在/usr/share/mysql有一些my.cnf例子2:rpm -ivhMySQL-client-5.5.15-1.rhel5.x86_64.rpm,主要是在/usr/bin下多了一些客户端工具,比如mysqldump,mysqladmin,mysqlbinlog 阅读全文
posted @ 2011-09-05 09:30 雪刚 阅读(280) 评论(0) 推荐(0)
摘要: 每建立一个连接,都需要一个线程来与之匹配。thread_cache_size:用来缓存空闲的线程,以至不被销毁,如果线程缓存中有空闲线程,这时候如果建立新连接,MYSQL就会很快的响应连接请求。show global 里关于线程缓存有如下几个状态变量,这里作简单解释一下。Threads_cached :代表当前此时此刻线程缓存中有多少空闲线程。Threads_connected :代表当前已建立连接的数量,因为一个连接就需要一个线程,所以也可以看成当前被使用的线程数。Threads_created :代表从最近一次服务启动,已创建线程的数量。Threads_running :代表当前激活的(非 阅读全文
posted @ 2011-09-02 10:02 雪刚 阅读(2630) 评论(0) 推荐(0)
摘要: show global 里这两个参数是用来统计联合查询过程中没有利用索引的情况。如果这两个值其中任何一个值不为0,那就应该检查SQL了。使用explian查看SQL的时候,会看到Extra列显示with join buffer.这个时候,MYSQL会为对应线程分配join_buffe_size大小的内存。它是真正的性能杀手,需要格对严肃对待。Sort_merge_passes 表示当需要排序时,在排序缓冲中无法将结果完全存放,则将会基于磁盘创建临时文件进行排序。如果该值较高,则应提高sort_buffer_size大小。最好的办法是找到是由哪些排序SQL造成的。 阅读全文
posted @ 2011-09-02 09:21 雪刚 阅读(1007) 评论(0) 推荐(0)