1. 简单介绍自己 我叫周信静,硕士毕业于浙江大学,毕业后在腾讯云数据库做CynosDB/CDB内核研发工作,目前在DolphinDB从事存储引擎研发工作。
2. 聊聊你最近一年正在做的项目,它的技术价值怎样?它的行业发展状况是怎样?你负责项目的技术亮点和挑战能否展开讲讲? 从事DolphinDB的数据存储引擎项目,主要解决大规模时序数据的高效存储和检索问题。很多人认为时序数据库不支撑核心业务,数据的一致性,以及支不支持事务都无所谓。因此现有时序数据库普遍存在的问题是大多数不支持事务,比如influxdb。如果我们只是用于可视化,一些简单的统计,的确不重要。但是希望通过数据来决策,反控我们的交易,我们的设备,就很重要。举个例子,股票市场的快照数据3秒钟一批,同时数据量很大的话我们往往会把数据进行分布式存储存储在多机。那么如果我们在交易决策的时候,一部分分股票是3秒钟前的数据,一部分股票是现在的数据,那肯定会出大问题。DolphinDB 用两阶段提交协议实现了分布式事务,为写入提供了事务支持,能很好的解决这个问题。同时时序数据库具有写入量巨大的挑战,我们的客户希望写入量巨大的同时下还能够执行大规模的数据分析,这要求读写不相互影响。为了解决这个问题DolphinDB在两阶段提交基础上实现了MVCC 机制,提供了全局快照读的隔离级别,同时读取不会影响写入,写入也不会影响读取。
3. 在技术方案落地的过程中,你通常关注哪些问题?如何保证技术方案顺利实施? 技术方案顺利实施
- 注重早进行方案review,早讨论:技术方案出来的时候先和团队成员进行讨论,集百家之所长。因为每个人看一个问题角度不一样,一个人刚想出来的方案往往也不是面面俱到的。但是多个人的思维组合起来一般是比较全面的,因此方案的及时review和讨论是很重要的,能确保方案考虑的点比较全面,减少返工。
- 代码review
- 测试:单元测试、 regression测试,集成测试
5. 在做技术选型的过程中,你经常考虑的问题有些? 1. 是否是软件的关键路径。
- 非关键路径注重简单和可靠:基础软件大部分代码是非关键路径,为了让软件工程更加容易,往往会选择注重方案的简单性, 同时简单的代码往往是可靠的。
- 关键路径注重性能:因为关键路径往往只占据代码的一小部分,但是又是会被经常执行的部分,这个时候选择的方案会偏向于性能最大化。
6. 相比于其他开源的时序数据库和国内竞争产品如阿里云的产品,TDENGINE等,DolphinDB的优势在哪里? 首先DolphinDB的时序存储引擎伸缩性高,解决了海量时序序列存储和检索的问题;其次, DolphinDB的事务特性是现有时序数据库产品中少有的,也是我们的客户非常喜欢的特性;再者, 现有时序数据库往往只提供了存储引擎的实现,计算能力较薄弱,但是时序数据库往往最重要的部分其实是能从海量的时序数据中发掘洞察,这就要求数据库有丰富的计算功能。DolphinDB计算引擎功能则非常丰富,提供了超过1000多个计算函数,极大简化与加速物联网领域的数据挖掘。同时DolphinDB的计算引擎另外一个非常有特色的功能是流批一体流计算能力。在金融和物联网领域,研发环境中,看到的是全量数据。在生产环境中,我们往往看到的是增量数据,这两者的计算方式有很大不同。DolphinDB为此提供了用于生产的流计算引擎,生产和研发可以共用代码,这是我们金融券商、私募、物联网客户非常喜欢的计算功能,经常被用在交易策略、实时物联网数据分析上。我们客户普遍希望降低研发周期长度,减少研发成本,DolphinDB这套流计算系统大大缩短了从原始数据到研发到生产的总体周期,非常好的解决了这个问题。
7. 云原生领域你看好哪个项目或技术,为什么? Serverless技术,越来越多的应用都在上云,但是云计算想要达到的elasticity和ease of management 在现有的云上还没有完全实现,比如用户还是需要自己维护虚拟机上的内容,伸缩虚拟机还是需要用户自己手动操作,只是把物理服务器的运维工作交给了由云厂商。Serverless技术的愿景是让用户尽量不关注虚拟机资源分配等运维工作,而是尽量只关注应用本身,同时按应用调用量和流量来做弹性计费和自动伸缩,降低用户的运维负担,我觉得这才是云计算的最终形态和未来。
8. 请介绍下你这次在giac演讲的议题或者负责的专题内容
【数据库|实时计算,连接时序数据库和核心业务】主要会谈一下DolphinDB是怎么设计时序数据库,包括事务在分布式时序数据库中的重要性以及DolphinDB这方面的观点,还会涉及到DolphinDB下一代时序数据库存储引擎的设计。
9. 对本次giac有什么寄语
希望在会上了解行业最新发展,学习先进架构知识,结识更多技术大佬和同道中人;同时祝会议顺利举行,giac越办越好。
参考阅读
- 揭秘百度微服务监控:百度游戏服务监控的演进
- Tencent Linux(TencentOS) 十年云原生迭代演进之路
- 云计算时代 Java 程序员面临的挑战和机遇
- Java Web开发API Boy如何进阶?
- 云计算时代的大前端
- AfterShip 亿级流量 API 网关的演进
- TiDB 的架构进化之道
文章图片
2021年GIAC调整到7月30-31日在深圳举行,点击阅读原文了解更多详情。
推荐阅读
- 时序数据库介绍
- 【时序数据库】时序数据库介绍
- 实习|时序数据库
- 科技|12大专场,48个议题,AISummit全球人工智能技术大会火热报名中
- 技术干货|推荐系统-协同过滤在Spark中的实现
- ElasticSearch笔记|#ElasticSearch笔记#利用ElasticSearch实现全文搜索(一)简单介绍及环境搭建
- 大数据|基于神策用户画像,在线教育企业线索标签体系搭建及培育全流程解析
- 大数据那些事儿|神策军丨优秀 Leader 养成记(多做简单又有效的事)
- spinning|强化学习入门项目spinning up(1)安装