{
    "componentChunkName": "component---src-templates-company-news-detail-tsx",
    "path": "/about-us/company-news-detail/tiflash-is-open-sourced",
    "result": {"pageContext":{"companyNewsDetail":{"id":"About-us-news_42","title":"TiFlash 开源了","customUrl":"tiflash-is-open-sourced","image":{"alt":"TiFlash 开源","media":{"url":"https://img1.www.pingcap.com/prod/0_0d85512f2d.jpeg"}},"date":"2022-04-01","body":"![0.jpeg](https://img1.www.pingcap.com/prod/0_0d85512f2d.jpeg)\n\nTiFlash 终于[开源](https://github.com/pingcap/tiflash)了，而且不再闭源：**我们选了这个特别的节日开源并做出承诺，希望能显得更加真诚 :)**\n\nPingCAP 一直以来对开源这件事情，是有**信仰**的。这种信仰植根于创始人的情怀，也深深影响了这个旗帜下汇聚的所有人。开源本身并不是一种市场策略：远在我们看清开源到底能带来什么的时候，我们就有了开源的坚持，这也使得我们的开源精神相对**纯粹**。作为 TiDB 社区的一个重要力量，我们和其他社区贡献者一起贡献代码，通过社区用户的使用、打磨，大家共同分享 TiDB 不断进步的红利，没有任何人为障碍和边界。自由和共赢的理念，也是我们对技术对开源的**倔强**。\n\n![01.png](https://img1.www.pingcap.com/prod/01_39623260e8.png)\n\n**TiDB 是一款 HTAP 分布式数据库，其中提供 HTAP 能力的重要组成部分是 TiFlash**。从原型开发起，由于是一个探索型的项目，一开始我们并没有想好最终形态和架构（TiFlash 在 2018 年也的确经历了一次彻底翻新重做），为了不引起外界太多讨论，我们选择了让 TiFlash 暂时闭源，等大体成型了再开源。虽然从一开始我们就计划开源，但待到真正着手做的时候，我们发现它已经欠下了不少「开源债」，显得和 TiDB 主干格格不入：发布流程没有完全融合，开源所需的文档缺失，编译体验相当糟糕，甚至部分代码风格有些丑陋。要还上这些债务，需要投入相当多的时间和人力。与此同时，产品迭代的压力和有限的资源就成为约束 TiFlash 开源的最大障碍。\n\n作为将开源当成信仰的团队而言，TiFlash 闭源对我们来说其实是如鲠在喉。因此，虽然仍有诸多缺失，我们选择投入时间逐步还债。毕竟，单独就这个引擎而言，我们也从社区有所取，**无论是 ClickHouse 绝佳的 Runtime 基础，还是诸多社区用户提供的真实场景和改进建议，这些都让 TiFlash 获益无算，可以说没有这些助力，就不会有 TiFlash**。\n\nTiFlash 首先受益于开源社区的其他项目，除开我们所使用的各类基础库，最重要的部分是：TiFlash 的框架代码是基于 ClickHouse 的。**我们使用 ClickHouse 的方式是将它当做一个单机的 Compute Runtime 和 Server 框架，并复用了 Storage Interface**。针对在线事务数据分析的大目标，我们加入了事务相关逻辑、MPP 能力和可实时更新的列存引擎，引入 Raft 协议和 MySQL 兼容以融入整个 TiDB 体系。很感谢 ClickHouse 为社区提供了一套高性能的计算引擎，对我们而言，一个好的基础大大加速了 TiFlash 的研发进度。**值得一提的是，TiFlash 和 ClickHouse 拥有完全不同的擅长场景：TiFlash 完全偏重于事务性数据的分析，我们也并不希望用户以为 TiFlash 是更好的 ClickHouse**。\n\n作为一个年轻的引擎，在两年多的时间里，受到天使用户们包容和帮助的同时，我们也通过近距离倾听用户的声音高速迭代改进产品。这一切也反过来帮助用户简化了分析链路的架构，享受实时数据的红利。彼时 TiFlash 虽未开源，却已得到了 TiDB 社区的加持。\n\n我们清楚地记得，在早期版本时，税务系统的朋友和我们一起测试，尝试优化缴税流程的实时性，虽未成功落地，但让我们对系统设计在真实场景上的得失有了第一手体感，进而直接导致了一次重大重构：我们完全重新设计了存储层，引入了 Raft Learner 作为复制协议，且决定使用 TiDB-Server 作为统一入口而非 TiSpark，这也是大家今日所见的架构；而随着 TiDB 4.0 一起发布的正式版本，则可以说是完全仰赖小红书在发布前数月就提供场景和我们一起探索，而这个尝试最终成功落地电商实时看板场景，让交易数据得以实时展现；待到 5.0，从中通有惊无险却时有毛刺的 618，到流量倍增却平平稳稳的双十一，TiFlash 在高压实时场景的表现得到了提升和验证。而这代表的不仅是全球领先快递公司的核心业务落地，也不仅是数万 TPS 和数十亿订单的实时监控，更是用户的包容，信任和互助。\n\n![02.jpeg](https://img1.www.pingcap.com/prod/02_8af891c036.jpeg)\n<center>TiFlash 在中通快递</center>\n\n至今我们都经常会收到客户的私信，说自己某个场景由于 TiFlash 的能力而得到实在的业务收益。每次看到这些可爱的消息，我们都会在团队内分享喜悦。能帮助大家，提供独特的价值，是我们所追求的；与此同时，社区的支持，也是产品发展不可或缺的给养，推动它在更严苛更有价值的场景落地。可以说，没有社区的力量，我们也无法向更多人提供更好的产品。而时至今日，开源则是一个全新的渠道，让 TiFlash 能以更深入的方式和社区互助共赢。\n\n最后容我们说一句抱歉。虽然开源，但 TiFlash 仍然缺失必要的面向社区的代码解读。关于 TiFlash 和 TiDB HTAP 的架构解析，可以参考我们在 VLDB 2020 发布的论文《[TiDB: A Raft-based HTAP Database](http://www.vldb.org/pvldb/vol13/p3072-huang.pdf)》，或者《[TiDB HTAP 深度解读](https://zhuanlan.zhihu.com/p/205663113)》、《[TiDB 的列式存储引擎是如何实现的？](https://pingcap.com/zh/blog/how-tidb-implements-columnar-storage-engine)》文章。社区同学也整理了一份 TiFlash 相关文章的[合辑列表](https://asktug.com/t/topic/632816)。可惜的是，这些都是基于 TiDB 4.0 版本，当时 TiFlash 仍不具备重要的 MPP 能力。除此之外，源码解析和阅读指南，也仍在缺失状态。这些都将在后续的几个月内陆续补上，以帮助大家阅读和理解 TiFlash。希望关注 TiFlash 的大家在使用以外，借助开源能有更多手段帮助它变得更好，无论是更多的函数，算子支持，更直观的 Tracing 能力，还是更快更稳定的 Delta Tree 列存引擎。\n\n是的，我们期待你的贡献，因为这份力量将会借助社区的翅膀飞跃令人惊叹的奇景。\n\n祝大家节日快乐。\n\n访问 [GitHub TiFlash](https://github.com/pingcap/tiflash) 仓库，开启你的数据实时分析之旅！","author":{"name":"PingCAP","description":""},"type":"detail"},"prev":{"id":"About-us-news_43","title":"七年逐梦，开源同行","customUrl":"seven-years-of-open-source","image":{"alt":"七周年-PC","media":{"url":"https://img1.www.pingcap.com/prod/32_1_8bac110642.svg"}},"date":"2022-04-08","body":"![画板 – 32(1).svg](https://img1.www.pingcap.com/prod/32_1_8bac110642.svg)\n\n今天，PingCAP 7 岁了！\n\n7 年以来，我们坚信开源，\n\n从 TiDB 1.0 到 TiDB 6.0\n\n完成了从 **idea** -> **project** -> **product** -> **service** 的进化，\n\n向企业级云数据库迈进。  \n\n七周年再出发，  \n\n星辰大海，与你同行！\n\n> 查看 TiDB 6.0.0 [Release Notes](https://docs.pingcap.com/zh/tidb/v6.0/release-6.0.0-dmr) ，立即[下载试用](https://pingcap.com/zh/product/#SelectProduct)，开启 TiDB 6.0.0 企业级云数据库之旅。","author":{"name":"PingCAP","description":""},"type":"detail"},"next":{"id":"About-us-news_41","title":"黄东旭当选 CCF 数据库专业委员会、开源发展委员会、大数据专家委员会执行委员","customUrl":"pingcap-and-ccf-2022","image":{"alt":"CCF-news","media":{"url":"https://img1.www.pingcap.com/prod/CCF_news_3ab2d7757a.jpeg"}},"date":"2022-03-09","body":"近日，CCF 数据库专业委员会、大数据专家委员会分别公布了执行委员最新名单，PingCAP 联合创始人兼 CTO 黄东旭成功当选数据库专业委员会、大数据专家委员会执行委员。此外，CCF 开源发展委员会于 2021 年 12 月成立，作为筹备组初始成员，黄东旭也顺利当选开源发展委员会执行委员。\n\n黄东旭，PingCAP 联合创始人兼 CTO，分布式系统专家。代表作品分布式 Redis 缓存方案 Codis，以及分布式关系型数据库 TiDB。金融产业联盟开源专业委员会副主任委员，“2020 年度十大开源杰出贡献人物”“2021 中国开源优秀人物”及“OSCAR 尖峰开源人物”。其作为第一作者的论文《TiDB: A Raft-based HTAP Database》是全球业界第一篇 Real-time HTAP 分布式数据库工业实现的顶级论文。\n\n此次黄东旭能够成为开源发展委员会筹备组初始成员，并当选 CCF 数据库专业委员会、开源发展委员会、大数据专家委员会执行委员，代表了学术界对 PingCAP 开源工作的认可，对 TiDB 产品能力、研发方向的肯定，**同时也标志着以 PingCAP 为代表的开源软件公司正在逐渐步入大众视野**。\n\nPingCAP 将发挥 TiDB 分布式数据库 NewSQL、HTAP、云原生等技术优势，**加速基础软件与云计算、大数据、人工智能等新一代信息技术融合创新，降低广大用户创新门槛，为产业数字化转型作出更大贡献**。PingCAP 也期待能够依托 CCF 联结科教资源、产业资源和社会资源等，为 CCF 会员乃至全球开源创新实践者提供高水平的开源创新服务，助力我国开源生态建设的发展。\n\n由刘奇、黄东旭、崔秋联合创立的企业级开源分布式数据库企业 PingCAP 立足工业，在通过学术成果精进产品的同时，也在以工业界的力量反哺学术，通过开源的协作模式促进产业发展。\n\n2021 年，PingCAP 与中国计算机学会 CCF 数据库专委会签署战略协议，就人才培养、科研合作展开合作。受邀参与 CCF 前沿数据库丛书编撰；通过教育部产学合作协同育人项目立项，以 TiDB 为原型的 NewSQL 数据库技术进入山东大学、北方工业大学、江西师范大学等 10 所高校；PingCAP 与中国科学技术大学、华中科技大学、华东师范大学、墨尔本皇家理工大学、ETH Zurich（苏黎世联邦理工学院）合作，累计联合发表 6 篇顶会论文、10 项专利；与神州数码、华东师范大学、华中科技大学共同升级 Talent Plan，成立 Talent Plan 数据库开源学习社区，共培养分布式数据内核实现人才 800 多人、来自于国内外 200 多所高校；Talent Plan 课程被华中科技大学、中国科学技术大学、电子科技大学、南开大学等高校作为研究生课程使用。\n\n**关于 CCF**\n\nCCF（中国计算机学会）是由从事计算机及相关科学技术领域的科研、教育、开发、生产、管理、应用和服务的个人及单位自愿结成、依法登记成立的全国性、学术性、非营利学术团体，是中国科学技术协会成员。\n\nCCF 数据库专业委员会致力于提高我国数据库技术水平，使之更好地为我国信息化建设服务；发现和培养数据库专门人才，促进国内外学者相互之间的交流；CCF 大数据专家委员会宗旨是探讨大数据的核心科学与技术问题，推动大数据学科方向的建设与发展；构建大数据产学研用的学术交流、技术合作与数据共享平台，并对相关政府部门提供战略性的意见与建议。此次新创建的开源发展委员会（CCF Opensource Development Committee, CCF ODC），是 CCF 落实国家十四五规划纲要提出的“支持数字技术开源社区等创新联合体发展”的重要举措，旨在构建产学研项目成果共享孵化机制，加速产教研深度融合的开源生态建设。","author":{"name":"PingCAP","description":""},"type":"detail"}}},
    "staticQueryHashes": ["1327623483","1820662718","3081853212","3430003955","3649515864","4265596160","631028557","63159454"]}