你的分布式锁安全吗?

首先你必须弄清楚,用分布式锁来做什么?是解决效率问题,还是一致性问题;不能混为一谈,跟个追星族一样,哪个工具火就用哪个,比如Redis很火,什么都用它,锁就想当然的用Redlock;如果是效率问题,那可能还好一些;但是如果是一致性问题,那你得认真对待,你目前的实现方案可能会某一天让你痛苦不堪!

ssh local forwarding

Navicat(localhost) =====> host_a =====> host_b =====> host_database
如何跨越host_a,host_b实现本地直连host_database?

Spring test dbunit

如何基于 Spring testing framework + DBUnit 简单实现一个自动化测试工具?

@Test
@DataSets(setUpDataSet = "setUp.xls", expectDataSet = "expect.xls")
public void test() {
}

测试方法执行前,先loadsetUp.xls中数据到测试库,测试方法结束后,自动和expect.xls中数据做比对;excel里面保存的是表的数据,多个表以多个sheet页形式体现,sheet name即是table name;其实github上已经有个功能非常完善的工具Spring Test DBUnit,这里只是说下大体实现思路

Data Ingestion

数据导入的时候需要考虑哪些因素? No Silver Bullet.

  • 什么数据类型?数据格式是否和已用的查询处理工具兼容?
  • 预估文件大小如何?是否均匀分布?会不会有大量的小文件?
  • schema是否要频繁变更?
  • 查询的时候倾向于就那么几列,还是所有列?
  • 数据导入速度要求,及下游使用(比如查询)可容忍程度如何?
  • 集群平台自建?还是别的厂商?

Hive自定义文件读取

考虑这么个场景:某天你leader过来跟你说,我这现在有大量文本文件,大小不一,大的好几十G,小的几百兆;现在想提取出来共有的几个业务字段做分析,但是每种类型的接口文件的字段解析规则还不一样,比如业务字段A,在file1里面在第10字节到18字节之间,在file2中在第8字节到第16字节之间,问你怎么办?

Hive实现拉链存储

什么是拉链存储?数据仓库经常用到,通过给record增加两个字段: 生效日期、失效日期,来记录数据的生命周期变化;好处是既节省存储空间,又保证历史数据变化的完整性,最重要的还能快速访问不同时段的数据快照

锤子发布会

今天看了老罗的锤子专场单口相声,虽不是一个划时代的产品,但是不可否认,确实是个很认真,很有诚意,极具工匠精神的产品。除产品本身外,他那种解决问题的方式更让我印象深刻