influxdb和时间序列数据

对于运维、监控来说,我们经常会碰到大量的和时间有关的数据。最典型就是各种主机运行数据,例如CPU的使用率、磁盘占用、网络实时带宽等。这样的数据综合起来有几个共同的特点:

  1. 和时间具有强关联性,也就是说在偏离了同一个时间维度的情况下来衡量数据就没有什么太大的价值了。
  2. 这些数据集合的大小事实上可以由采样频率来决定。只要你愿意取样,数据就在那边。
  3. 越旧的数据,数据本身的价值就越低。也就是说数据集的大小事实上跟数据的价值并不成正比。

继续阅读“influxdb和时间序列数据”

推荐阅读:
事情是这样:数据库是MySQL
上次说搞了SQL Server
研究了一段时间的SQL Ser

谈一个MySQL语句的优化

事情是这样:数据库是MySQL,有若干个连接保持每秒2~3条的速度向表同一个表里写入“日志型”记录。表的结构除了一个必要的自增主键id之外,还有一个做了索引的type(tinyint)、time(timestamp)和一个ipc(float)类型的字段。一个读进程定时会要抓取每种type的最后一条记录。数据库的读写都很热,所以要尽可能的保证性能。

继续阅读“谈一个MySQL语句的优化”

推荐阅读:
算起来Litrin在生产环境中
emoji是iso和Mac O
上次提到过Coreseek的安

Linux下Python连接MS SQL Server

上次说搞了SQL Server的主备模式,这次就说说用Python连接SQL Server吧。不过这次是全套头的开源解决方案哦。所需环境还是惯用的那一套 :Ubuntu 1204 LTS 64bit.

SQLServer是一款实实在在的商业软件,m$出品,似乎和开源,免费之类的词语搭不上边。但既然有share folder的逆向工程Samba,就一定会有SQLServer的逆向工程。FreeTDS就是这个东西。

继续阅读“Linux下Python连接MS SQL Server”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上

SQL Server的主备模式

研究了一段时间的SQL Server Replication,本身“开源小站”来说,贸然出现了M$的东西真的是非常突兀。几番纠结,还是分享出来吧。

对于Replication来说,其实对于MySQL来说就是Master-Slaver同步,对于Oracle来说,更接近于Data Guard

继续阅读“SQL Server的主备模式”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上

CoreSeek Python数据源的基类

上次提到过Coreseek的安装一文,我个人建议Coreseek最好采用Python作为数据源,相对灵活性很大。这次我就分享一下我写的一个CoreSeek的Python数据源基类。

这个基类的优势在于特别是对于“分库分表”的MySQL来说,支持直接多进程并发读库,性能超强。而且对于Python2.6以下不具有多进程特性的用户来说,这个基类支持通过线程来模拟进程,完全透明!

该库已经在生产环境中使用。

继续阅读“CoreSeek Python数据源的基类”

推荐阅读:
深入读了读python的官方文
正值毕业季,这些天一直忙于面试
尽管现在有了wheel这类更为

MongoDB的分发模式和部署

MongoDB是近期一直在研究的No-SQL,作为No-SQL来说,Mongo做的反而更像传统的关系型数据库,可以利用弱关系进行查询。作为网站应用来说,毫不客气地说,如果你的查询复杂程度到了MongoDB无法支持的程度,只能说明你的数据结构设计的有问题。

作为No-sql的强项,MongoDB的数据分发/同步机制相对比MySQL灵活的多,支持传统上的主从同步和趋向于高性能的ShareSet,而且对于程序端来说改动相对较小,代价几乎可以不计。现在就从这两种分发机制方式说起。

继续阅读“MongoDB的分发模式和部署”

推荐阅读:
Redis在2.6之后增加了基
众所周知redis的持久化有A
近一年来始终专注于No-SQL

从SQL到NoSQL

之前接触到的基于LAMP平台的网站,凡是稍微有一点量上去的,在数据结构的设计上总是离不开“拆库拆表”。同样,作为网站的数据结构设计,很少会出现类似ERP系统才会应用到的函数(function)、存储过程(procudce)、触发器(trigger)什么的——曾经看过有ERP系统的所有逻辑都是通过这3者保存在数据库端的。加上MySQL本身的一些因素,用之前一个朋友的话说:“Mysql在网站中的地位更多的是一个数据容器,而不是完整意义上的数据库。”

继续阅读“从SQL到NoSQL”

推荐阅读:
Redis在2.6之后增加了基
众所周知redis的持久化有A
近一年来始终专注于No-SQL

Hadoop的单机部署

 

要说最近最热的云计算,不得不提Hadoop。这个项目就是为集群运算而生的。依赖于它的项目n多,个人感觉hadoop已经逐渐成为一个“基于Java的分布式运算中间件”。

这里安装的hadoop为ver 0.21.0版本,包含了HDFS分布式文件系统。平台为老一套的Ubuntu 1104 server for amd64。

既然是Java Base的,首先要准备jdk环境。默认1104已经把java从apt中剔除了——跟oracle收购sun不无关系,尽管openjdk还在,我还是建议安装sun-jdk。具体实现如下:

继续阅读“Hadoop的单机部署”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上

Ubuntu上Coreseek+php的安装

Coreseek是一个基于sphinx引擎,支持与mmseg中文分词模块合作完成中文的全文搜索引擎。相对sql这类操作,Coreseek负载可谓是微不足道。当然类似的索引服务器还有给予Java的solr等。我选择coreseek的主要原因之一是他可以通过配置后可以与现有的mysql客户端兼容,并可以直接嵌入到mysql中成为mysql的引擎之一。

首先,下载安装包,我选择的是最新的stable版, 不过不客气的说,即便是coreseek的stable版本,不论是从稳定性、兼容性还是灵活性上都不能算是完善,至少无法跟apache这类经典应用相提并论。

继续阅读“Ubuntu上Coreseek+php的安装”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上

LAMP的常用扩展安装

之前已经弄过许多篇关于LAMP搭建的东西,都是基于最简单包的,这次说说几个比较常用扩展的安装:

继续阅读“LAMP的常用扩展安装”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上