07__哨兵机制:主库挂了,如何不间断服务?

你好,我是蒋德钧。

上节课,我们学习了主从库集群模式。在这个模式下,如果从库发生故障了,客户端可以继续向主库或其他从库发送请求,进行相关的操作,但是如果主库发生故障了,那就直接会影响到从库的同步,因为从库没有相应的主库可以进行数据复制操作了。

07__深入浅出HashMap的设计与优化

你好,我是刘超。

在上一讲中我提到过 Collection 接口,那么在 Java 容器类中,除了这个接口之外,还定义了一个很重要的 Map 接口,主要用来存储键值对数据。

HashMap 作为我们日常使用最频繁的容器之一,相信你一定不陌生了。今天我们就从 HashMap 的底层实现讲起,深度了解下它的设计与优化。

07__数据复制:为什么有时候Paxos不是最佳选择?

你好,我是王磊,你也可以叫我 Ivan。今天,我们要学习的是数据复制。

数据复制是一个老生常谈的话题了,典型的算法就是 Paxo 和 Raft。只要你接触过分布式,就不会对它们感到陌生。经过从业者这些年的探索和科普,网上关于 Paxos 和 Raft 算法的高质量文章也是一搜一大把了。

07__数据库索引:索引并不是万能药

你好,我是朱晔。今天,我要和你分享的主题是,数据库的索引并不是万能药。

几乎所有的业务项目都会涉及数据存储,虽然当前各种 NoSQL 和文件系统大行其道,但 MySQL 等关系型数据库因为满足 ACID、可靠性高、对开发友好等特点,仍然最常被用于存储重要数据。在关系型数据库中,索引是优化查询性能的重要手段。

07__数据库选型:如何基于性能需求选择合适的数据库?

你好,我是尉刚强。

我们知道,在软件系统的性能建模分析设计中,并行架构设计、IO 模型设计、内存模型设计是最核心的三个维度,它们决定了最终产品的性能底座。而在互联网应用服务产品中,内存模型设计与 IO 模型设计的大部分职责,其实在很大程度上都沉淀到了数据库服务与消息中间件中来实现。

07__数组和切片

从本篇文章开始,我们正式进入了模块 2 的学习。在这之前,我们已经聊了很多的 Go 语言和编程方面的基础知识,相信你已经对 Go 语言的开发环境配置、常用源码文件写法,以及程序实体(尤其是变量)及其相关的各种概念和编程技巧(比如类型推断、变量重声明、可重名变量、类型断言、类型转换、别名类型和潜在类型等)都有了一定的理解。

07__填坑指南:填好这4个坑,快速做对敏捷

你好,我是宋宁。

今天这节课我来给你讲讲敏捷实践中你会遇到的一些问题以及解决方案。

理想很丰满,现实很骨感。敏捷听起来那么美好,它的推进策略和推进路线貌似也有迹可循,但现实却往往事与愿违。在敏捷实践过程中,我经常听到有这样一些问题:

07__条件语句:WHERE_与_HAVING有什么不同_

你好,我是朱晓峰。

我们在进行查询的时候,经常需要按条件对查询结果进行筛选,这就要用到条件语句 WHERE 和 HAVING 了。

WHERE 是直接对表中的字段进行限定,来筛选结果;HAVING 则需要跟分组关键字 GROUP BY 一起使用,通过对分组字段或分组计算函数进行限定,来筛选结果。虽然它们都是对查询进行限定,却有着各自的特点和适用场景。很多时候,我们会遇到 2 个都可以用的情况。一旦用错,就很容易出现执行效率低下、查询结果错误,甚至是查询无法运行的情况。

07__同事老打脸说数据有问题,该怎么彻底解决?

你好,我是郭忆。

上一节课,我带你从模型设计层面,逐步将分散、杂乱、烟囱式的小数仓整合成了可复用、可共享的数据中台,数据研发效能提升了一倍。那是不是交付数据足够快,使用数据的人就满意了?当然不是,来看发生在我身边的一件事儿。

07__推荐阅读:每个程序员都该知道的知识

在整个为期一年的专栏内容中,我会逐步向你推荐一些有价值的内容,供你参考,这些内容有中文,有英文,也有视频,它们都是我认为对我非常有价值的信息,我也希望它们对你能有同样的帮助和启发。