分布式数据库从入门到实战

分布式数据库从入门到实战 / 从分布式到 AI,实现数据库技术进阶

彭旭 惟客数据总架构师

  • 课程介绍
  1. 在线阅读:开篇词|玩转数据库,让数据尽在你的掌控

    你好,我是彭旭。欢迎和我一起玩转数据库。

  2. 01|列式存储已经取代行式存储了吗?

    这可能是一个“可得性启发”。

  3. 02|分布式存储数据结构LSM,如何优化读写性能?

    怎么才能在使用机械硬盘存储的情况下,解决更新数据可能需要随机写入,导致性能不好的情况呢?

  4. 03|编码和压缩有什么用?

    但压缩也不是“放之四海而皆准”的。在一些高性能系统中,如果大量使用压缩,将会占用较多的CPU资源,进而有可能导致系统响应性能下降。

  5. 04|数据库都需要事务和MVCC吗?

    有个统计任务在每天凌晨0点开始统计数据,事务隔离级别为读已提交,但是经常发现会漏掉几条接近0点的数据,你知道是什么原因吗?

  6. 05|分布式数据库如何合理分区与设计行键?

    分区是一个典型的分治法,通过将数据划分成多个小的子集,用来提升数据的处理效率。

  7. 06|数据分区后,如何应对Join?

    不同类型的Join对查询性能影响很大,事实上,我们在业务设计过程中应该尽量避免复杂的Join

  8. 07|从一个手机云服务数据存储的需求开始

    如果你想在生产环境使用HBase,用在高并发的OLTP系统上,一定需要深入了解HBase的原理,知道一些调优手段,然后针对各个业务场景去测试性能能否满足。

  9. 08|HBase如何组织与存储数据?

    HBase的逻辑模型其实跟关系型数据库类似,但是HBase会保存多个版本的数据,默认情况下会读取数据的最新版本,你也可以指定版本或者时间区间来读取一个历史的数据版本。

  10. 09|为什么HBase能够实现海量数据的实时随机存取?

    在高可用与故障恢复上,HBase Master、RegionServer均采用集群模式,可以实现秒级故障转移,系统也不存在单点的问题。

  11. 10|不支持二级索引,如何自己实现一个?

    索引是数据库性能的基础保障,虽然HBase只支持行键的索引,但是我们还是有很多方法来解决需要涉及到二级索引的需求。

  12. 11|实现:基于HBase的手机云服务数据存储设计

    这节课会复习到前面讲解过的如何基于业务场景设计HBase行键,如何优化列限定符来减少存储空间。同时,我也会讲一个新的知识点,HBase如何实现跨集群数据的实时复制,完成单元化、集群数据汇总分析。

  13. 12|还有哪些调优可以提升性能?

    好了,总结一下。从调优效果来说,最有效的还是表的分区,将表的数据均衡的分区并分布到集群中,还有设计合适的行键来减少数据读取时需要扫描的数据量。

  14. 13|客户数据平台(CDP)的存储与计算需求

    从这一讲开始,我们就进入StarRocks相关内容。

  15. 14|技术上,StarRocks如何应对CDP需求?

    结合我们前面基础篇表分区与表连接的相关知识,你觉得用户属性表与用户行为表设计还有优化的地方吗?

  16. 15|数据存储上如何选用合适的表存储类型?

    事实上,在StarRocks内部也有提到后续的版本迭代、新功能的支持,会聚焦在主键模型上,所以大部分情况下,我们建议都使用主键模型。

  17. 16|性能上如何优化数据查询?

    除了前缀索引外,StarRocks还支持bitmap与布隆过滤器索引,能够分别在低基数列场景与高基数列场景提升查询性能。

  18. 17|ClickHouse为什么会给人极致速度的印象?

    从这一讲开始,我们就进入到ClickHouse相关内容。在ClickHouse篇,我们会先深入探讨ClickHouse的架构设计和表模型,随后,再结合CDP(客户数据平台)的实际需求,分析ClickHouse的性能表现,并探讨优化策略。

  19. 18|ClickHouse应该如何选用表引擎?

    除了合并树(MergeTree)家族系列表引擎外,ClickHouse还支持日志引擎系列、集成表引擎、其他特殊表引擎4大类几十种,目不暇接。不过最强大,用得最多的仍然还是MergeTree表引擎。

  20. 19|如何在ClickHouse利用集群能力实现并行计算?

    ClickHouse集群配置非常灵活,可以根据业务需求,将不同的节点划分、组合形成集群,你可以按业务不同,规划多个小集群。同时也可以规划一个大集群用来汇总全局统计。

  21. 20|如何用ClickHouse bitmap加速人群计算

    bitmap是一种常用的数据库索引结构,同样也可以用来做整数的数据存储,RoaringBitmap则优化了bitmap在存储稀疏数据时空间占用的问题。

  22. 21|向量数据库:图片、音频、文本等非结构化数据的搜索需求是怎么实现的?

    向量化就是把数据转化为一个多维向量的过程。向量数据库就是为了存储、索引、搜索向量而生。

  23. 22|Faiss是一个向量数据库吗?

    在我看来,这是因为Faiss其实不能算是一个完整的数据库。为什么呢?

  24. 23|案例:带你用Faiss手撸一个人脸识别系统

    在人脸识别中,准确度主要取决于三个关键步骤:人脸检测、特征提取和向量检索的精准度。

  25. 24|带你看一个完整的向量数据库Milvus

    上节课我用Faiss构建了人脸识别系统,对比用Milvus构建个人知识库的时候,会感觉到Milvus在响应上更快。

  26. 25|案例:RAG+Milvus+大模型,搭建个人知识库

    其实RAG在调用大模型进行推理的过程中,我们仍然需要把私有的数据片段发送给大模型,你觉得在这个过程中,会产生数据安全问题吗?

  27. 26|向量数据库,十字路口向左还是向右?

    更好地利用这些非结构化数据,利用向量数据库创造更多业务机会,这才是向量数据库发展的关键。

  28. 结束语|不让技术成为自我目的

    转眼间,我们专栏已经进入尾声了,到了最后,我想和你分享一下自己在数据库这条路上的一些思考和感悟,希望能给你带来一些帮助。

  29. 结课测试|来赴一场满分之约

    结课啦,一起来做套题复习一下吧!

课程介绍

限时福利 你将获得 深度剖析 HBase、ClickHouse、StarRocks 核心原理 提升主流分布式数据库应用与优化能力 3 大实践案例带你玩转数据库选型 探索 AI 时代向量数据库技术应用 讲师介绍 课程介绍...

限时福利


你将获得

  • 深度剖析 HBase、ClickHouse、StarRocks 核心原理
  • 提升主流分布式数据库应用与优化能力
  • 3 大实践案例带你玩转数据库选型
  • 探索 AI 时代向量数据库技术应用

讲师介绍


课程介绍

对于开发者和架构师来说,掌握数据库的基本原理和应用场景可以延长软件的生命周期。了解不同数据库的特性和适用场景,可以帮助我们在项目初期做出更合理的技术选型,避免未来可能出现的性能瓶颈和高昂的维护成本。此外,随着AI和物联网技术的兴起,对数据库的需求也在不断升级,对数据库知识的深入理解将助力我们更好地利用这些新兴技术。

基于此,我们邀请到了惟客数据总架构师彭旭老师,为你全面讲解数据库的基础知识,帮你掌握不同类型数据库的设计原理和适用场景。相信通过实战案例的分析和学习,你一定能够根据具体的业务需求选择合适的数据库解决方案,并具备优化数据库性能的能力。

课程设计

课程一共有5个章节。

  • 基础篇
    包括不同类型数据库的存储模型,编码与压缩的必要性,数据库事务的作用以及MVCC机制,LSM是如何优化读写速度的,如何合适地对海量数据进行分片,以及分布式场景下表Join的方式等等。对比主流数据库在基础设计及适用场景上的异同。

  • HBase篇
    HBase篇的案例是一个手机云服务存储的需求。基于这个案例,我们会一起分析MySQL分库分表下运维成本、硬件成本、扩展性上的问题,拆解HBase解决这些问题的过程。

  • StarRocks篇
    从一个典型的客户数据平台CDP案例需求出发,介绍StarRocks的基本架构与原理,以及基于StarRocks的表模型设计CDP相关表的方法。了解StarRocks优化数据查询性能,能够实现实时更新与极速查询的原因。

  • ClickHouse篇
    分析ClickHouse高性能的原理。同时沿用CDP的需求,理解表模型在ClickHouse中的设计,并行计算和调优。

  • AI与向量数据库篇
    了解向量化的需求的产生原因,和老师一起用向量查询引擎Faiss搭建一个人脸识别系统,通过Milvus结合大模型搭建一个RAG个人知识库。


课程目录


适合人群

1年以上经验的后端开发、数据研发同学。


订阅须知