• Greenplum上手报告

    简介 安装 HA 使用 特性 1. Append only table 2. column oriented table(列存表) 3. Append only table可以压缩 4. 分区表(partition) 5. 数据可以重分布 查询详解 1. 最简单的全表scan、聚合、motion。 2. 根据分区列做聚合 3. 非分区列做聚合 ...


  • Redis单机版体验

    介绍 安装 使用 编码 接触到Redis是因为某天同事告诉说我的某集群里的一台服务器的redis服务有未授权漏洞,可以直接访问redis服务,甚至将自己的公钥写入该用户的~/.ssh/authorized_keys中,直接登录到该服务器上。 这个漏洞其实是很早之前就有,具体可以参照阿里云上的介绍。 介绍 Redis的几个特点: 内存key-value数据库,性能很好;也可以将数据持久化到磁盘中,不过想来不会太美 开源,使用c编码,总共40K+ 数据可以复制到任...


  • 反向过滤是个什么鬼?

    1.背景介绍 2.解决方法 2.1 粗暴的解决方法 2.2 正确的解决方法 2.2.1 配置方法 2.2.2 代码解析 1.背景介绍 场景跟前面提到的fullnat是一样的。 如下组网,ADS集群内存在计算节点1(10.0.103.96)写sysdb保存数据的情景;而sysdb的服务器可能在计算节点2(10.0.103.97)、计算节点3(10.0....


  • 如何使用kettle提高ADS插入速度

    背景介绍 解决方法 服务器端 客户端 设置方式 背景介绍 我们需要从kettle将数据导入到ADS,但导入性能不理想,32并发线程,单个ADS接入节点,也只有最多六七千条每秒的样子。 从kettle日志来分析,其抽取机制是每个线程先从源端读取5W条,然后再向目的端写入5W条。 2015/12/15 10:38:30 - step1.0 - linenr 900000 2015/12/15 10:38:54 - step2....


  • Fullnat系列(三):为什么经过fullnat了以后,select查询变慢了呢?

    问题1:为什么会有超过1500的大包? 问题2:为什么超过mtu的报文,LVS返回了ICMP差错报文? 问题3:为什么我们实验室的环境并没有出现这个问题? 问题现象是这样的:我们在客户的环境上,通过LVS设备访问ADS的时候,发现在对一个宽表select * from查询时,响应的时间很规律的发生的倍增: 1 row in set (0.22 sec) 1 row in set (0.42 sec) 1 row in set (0.83 sec) 1 row in set (1.6...


  • Fullnat系列(二):如何使用fullnat

    内核打fullnat补丁 编译安装keepalived和ipvsadm 编译、安装keepalived(下面是从LVS官网抄的) 编译、安装ipvsadm(下面也是从LVS官网抄的) fullnat使用 添加Real Server 添加、查看Local Address 如果要让你的服务器支持fullnat,需要如下修改: 内核打阿里开源的fullnat补丁 使用ali开源的ke...


  • Fullnat系列(一):到底什么时候需要用fullnat呢?

    来,我再写篇小水文。 服务器为了提高性能,通常会选择横向扩展,一般有2种做法: 前置DNS服务器,同一个域名(Virtual Service)对应不同的真实服务器(Real Server),解析域名的时候,DNS服务器会轮询返回不同的服务器,这样真正提供服务的,就是不同的机器,达到负载分担的目的。 前置负载分担(LB)设备。可以是专业的LB设备,也可以是linux服务器开启LVS(4层)或者Nginx(7层)。LVS的使用可以参考前面的一篇文章。 目前的发行版,内核默认会集成LVS ...


  • 小玩意:如何让linux上挂死的进程重启?

    1、安装keepalived 2、配置keepalived检测 3、配置检测脚本check_dtm.sh 4、采集进程的启动脚本。 需求是这样的:我们在linux服务器上有一个采集进程,担心该进程出现故障挂死或者被人误杀,这种情况下需要能自动重启。使用peacemaker这样的分布式管理工具可以做到进程的监控,但毕竟体量较大,部署也稍嫌麻烦。 其实,使用keepalived就可以满足这种需求,部署起来也很简单,做个记录供以后查阅。 1、安装keepalived 2、配置ke...


  • HBase系列之Quick Start(一)

    NoSQL HBase 快速开始 最近由于工作关系,需要了解HBase,随手记录一些内容,以供查阅。 NoSQL 在刚接触Hadoop的时候,对Hive和HBase这两个组件总是不算特别清楚,都跟数据库有点关系,Hive又跟HBase有依赖,扯不太清楚。 如果要简单的说二者的区别,可以这样理解:可以把Hive理解为一个SQL Parser,其目的是为了方便那些会使用SQL编程的数据科学家们,但真正在跑的,是Hive翻译出来的Map Reduce程序。所以Hive的用处仍然是离线批量...


  • mysql:C源代码内嵌SQL语句的预编译工具

    本文较水 哪篇不水 今天遇到一个比较好玩的东西,记下来跟大家分享。 我们知道操作数据库,在JAVA环境中一般会使用JDBC,不管是mysql、oracle还是别的什么数据库都可以比较好的支持;但在一些比较古老(或者说比较谨慎)的系统中,比如银行业,可能其应用使用的还是C语言写的,这种情况JDBC是没门了,只能调用对应数据库提供的C lib,例如mysql的C库提供了这些接口: MYSQL *mysql_init(MYSQL *mysql) MYSQL *mysql_real_connect(M...