0%

背景介绍

稳定高效的进行数据处理几乎是如今每一家互联网公司都要面临的课题,尤其是对于专注于气象数据研究的我司而言,做数据分析和 ETL 的工作是整个公司业务很重要的一部分。在脱离了原始的「刀耕火种」的时代之后,我们内部一直在使用 Airflow 作为数据处理流程的框架来管理日常的数据流任务。其实我们也调研了很多其他的方案,最后还是选定了看起来相对比较可靠也比较符合我们业务需求的开源项目 Airflow 来做这个事情,虽然在使用的过程中确实也遇到了不少坑。当时这个项目还在 Apache Incubator,目前已经顺利毕业了。

简单介绍一下 Airflow,一般由 WebServer(一套完整的 UI 界面用于随时查看任务的执行状态并可以手动执行一些操作)、Scheduler(用来做任务的调度和管理)、Worker(真正执行任务的部分,可能有很多个)组成。这是一个常见的分布式架构,你只需要把任务流的 DAG 用 Python 代码写好,然后配置好触发条件就可以让它长期运行下去。在实际生产环境中,我们大量使用了 Celery Executor 来把任务动态分布到多个 Worker 上执行。

阅读全文 »

心知天气作为国内领先的商业气象服务提供商,天气数据 API 产品从公司创立以来就一直扮演着很重要的角色。2009 年 API 产品初次上线,历经十年,我们不断用心迭代,已经为数百家企业客户提供了超过 540 亿次稳定可靠的数据服务。在心知天气官网首页一直跳动的调用量数字就实时展示了整个天气 API 产品的服务状态。目前,心知天气数据 API 的 QPS 在高峰时期已经达到数千的量级,如何承载这样海量的并发请求,使客户能稳定及时的获取到所需数据自然也是心知技术团队一路以来不断探索的主题。

图片显示错误
阅读全文 »

今年的个人状态要比去年好多了,好在心态的逐渐平和。毫无疑问,今年要比去年忙很多,工作和生活都是如此,不过事情也开始越来越聚焦,大概是一种越来越明白自己在做什么以及为什么要这样做的状态。

回到「书单」的正题。在之前的年终书单总结中,我说过一般用 iPad 看电子书,今年引入了一个新设备 —— Kindle PaperWhite 4(官方名称是 “All-new Kindle Paperwhite”),这是目前为止最轻的一款 Kindle。之前我一直不理解用 Kindle 看电子书比用 iPad 看电子书好在哪里 —— 忍受着上世纪电子设备的响应速度,使用着非常有限的功能,就为了墨水屏?不用不知道,在真正使用了 Kindle 之后我发现,所有的「轻薄」、「有限的功能」、「电子墨水屏」等特性,都是为了让你在阅读时更加专注 —— 避免打扰、减少疲劳感。从中我体悟到一个道理,任何细微而又专注于目标的优势都不应该被忽视,它可能是一个产品制胜的关键。Kindle 所有的设计都是为了「阅读」这一场景而设计,尽管 iPad 有着丰富得多的功能,但对于体验敏感的用户来说,在「阅读」这件事情上还是会为了用户体验而买一个 Kindle。细小而专注的优势,很重要,不仅仅适用于电子设备产品,也适用于每一件事、每一个人本身。

阅读全文 »

作为一家提供商业气象数据服务的创业公司,我们一直都有一项「欠交的作业」没有完成,那就是合理的数据规划和数据治理规范。对于早期的初创公司而言,可能很难从一开始就能构想到需要对数据存储进行合理的规划并制定长期规范,大多都是简单使用单实例的数据库,直到随着业务增长数据量累积到一个不得不严肃考虑这个问题的地步。

数据库发展简介

数据量的增长其实一直是随着互联网的发展呈现爆发式增长的,因为各种各样的数据都在不断的被原样或者是经过少量的更改和增补后拷贝到互联网的各个角落。为了适应互联网数据的海量增长,在后端和架构意义上而言,数据库的发展也大致经历了「单库单表 -> 主从读写分离 -> 分表分库 -> NoSQL -> NewSQL」这样的过程。

阅读全文 »