存档

‘系统架构’ 分类的存档

Mysql Innodb存储引擎 insert 死锁分析

2015年6月23日 2 条评论 4168次阅读    

前阵子高峰期看线上日志,偶然发现了核心数据库mysql出现大量死锁, show engine innodb status 日志如下:(为了保密,部分字段已移除) 阅读全文...

Share
分类: 数据库 标签: ,

Redis Slave进行数据备份BGSAVE时可能内存突发跑满

2014年4月10日 1 条评论 11289次阅读    

前几天突然线上的redis slave 把64G的内存给占用满了,本来机器上的数据正常只会占用55.5%左右35G的内存的。
查看进程情况,当时redis正好在做BGSAVE操作,所以有2个Redis进程存在,初步怀疑是因为这个原因,但是理论上redis的BGSAVE是fork出来的进程,他们刚开始是共用物理内存的(Redis源码学习-AOF数据持久化原理分析(0)),除非主进程有数据修改,其实就是利用了操作系统的COW机制,巧妙的对redis做了一个数据快照。但明显线上系统不可能短时间内触发大部分数据的修改,所以排除这个的原因。 阅读全文...

Share
分类: Redis, 系统架构 标签:

使用贝叶斯统计进行垃圾邮件过滤

2013年10月17日 3 条评论 2761次阅读    

占个坑,贝叶斯进行垃圾邮件过滤方法简单,效果也挺明显的。基本能满足一般需求。具体算法不多说,google即可。

贝叶斯在线上使用的准确性其实严重依靠人工的调整的,需要进行巧妙的调整才能极大的提高降低误判率。

下面贴个代码,从其他地方考过来改吧改吧的。 阅读全文...

Share
分类: C/C++, 算法 标签: ,

Solr搜索引擎使用介绍-构建一个简单的搜索服务

2013年8月11日 1 条评论 6744次阅读    

最近接触到开源搜索引擎Solr,碰了不少坑,在这里备忘一下,了解有限,仅供个人学习···

关于服务搭建等就不多说了,网上一大堆,这里记录一下一些容易出问题的地方等。

我用的是solr-4.3.1.tgz,貌似现在已经是4.4版本了,下载地址这里有,在使用Solr的时候一定注意版本问题,由于他是基于Lurance的,所以难免不断的跟着Lurance改动代码,也就导致某些模块上下不兼容。

solr有本专门介绍的书:《Solr 1.4 Enterprise Search Server》下面记录一些使用的小方法。 阅读全文...

Share
分类: Search 标签: , , ,

mysql数据热备份工具xtrabackup使用介绍

2013年8月10日 没有评论 3202次阅读    

最近需要用XtraBackup进行mysql数据备份,Gaojie同学推荐的工具,效果还不错,推荐。

详细的介绍请移步上面的链接去官网查看,官网介绍的很清楚了,这里只是就一些容易总结和容易犯的错误等。如果确定数据库的表全部是myisam的表,那就可以简单用“mysql数据热备份脚本-MYISAM表”里的方法做文件备份了,简单的东西总是"更简单可依赖"。

XtraBackup包含2个主要的部分:C程序xtrabackup, perl包装代码innobackupex  , 实际上后者调用了前者,提供一些包装的功能。因为xtrabackup只支持Innodb表,所以innobackupex  额外提供备份myisam表的能力。下面会说一下其原理
阅读全文...

Share

mysql数据热备份脚本-MYISAM表

2013年8月9日 没有评论 4683次阅读    

最近工作中需要用到数据库热备,虽然MYISAM表比较过时了,但是其索引性能还是有很大诱惑力的。

关于MYISAM表的备份,相对Innodb简单多了,因为其把表格式文件,数据文件,索引文件分开存放,容易管理。

表结构存放在**.frm , 数据文件在.MYD,索引文件在.MYI,关于数据库的索引 实现原理可以参考这篇文章,写的不错。

MYISAM表的备份简单来说就是拷贝走上面三类文件,但是之前需要保证着数据库内容已经完整写入到文件中,避免不一致的情况,所以在拷贝之前必须对表加读锁,阻塞写操作。 阅读全文...

Share

括号匹配问题

2013年5月19日 4 条评论 2552次阅读    

刚起床看微博,陈利人又发了个题:

“括号匹配:给定字符串,输出括号是否匹配,例如,"()" yes;")(" no;"(abcd(e)" no;"(a)(b)" yes。要求必须用递归写,整个实现不可以出现一个循环语句。"

很多人都说用栈实现,太麻烦了吧,直接用递归自然堆栈就行了:

阅读全文...

Share
分类: 算法 标签:

最长公共子序列LCS-算法回顾

2013年4月29日 没有评论 1383次阅读    

最长公共子序列(lcs) 有些变种,比如最长递增子序列,求最小编辑距离;
类似vimdiff等也用的lcs基本原理,猜测可能是这样的:先按行求LCS,或者说编辑距离,然后对需要“编辑”的地方按行求编辑距离。

阅读全文...

Share

最优二叉搜索树-算法回顾

2013年4月29日 没有评论 1379次阅读    

在review之前的书籍,所以把学到的顺手记录在这里了。

由最 优二叉搜索树可以延伸到3X,4X,nX搜素树,只不过在寻找最优子树的时候需要处理3,4的情况。

如果所有节点的概率都想等的话,直接构造完全二叉树就行了。
阅读全文...

Share