如何开始开发 Greenplum Database
Greenplum(即 Green Plum,青梅)是一个基于 MPP 体系结构和 PostgreSQL 数据库的开源 OLAP 服务,本文主要记录下个人在安装和调试 Greenplum 所遇到的问题以及发现的好用的工具,以帮助后面的小伙伴儿少走一些弯路。 »
Greenplum(即 Green Plum,青梅)是一个基于 MPP 体系结构和 PostgreSQL 数据库的开源 OLAP 服务,本文主要记录下个人在安装和调试 Greenplum 所遇到的问题以及发现的好用的工具,以帮助后面的小伙伴儿少走一些弯路。 »
在数据的并发读写过程中,由于写入并不是原子性的,因此当一个线程正在写时,如果另一个线程进行读操作的话就很有可能产生数据不一致的问题。 比如数据的前半部分写入了,但是后半部分尚未写入,那么在读取时就会取到中间值,也就是脏数据,典型案例就是 64 位整型的写入将会分为两次写入。 »
Coin Change 是一道动态规划问题中一道非常经典的题目,这是因为只要对原有的 Coin Change 问题稍加修改,就可以得到更复杂的动态规划问题,甚至是回溯问题。 »
在 DP 问题中我们将会着重的关注状态转移方程,同样地,在使用 BFS 对某些问题进行图论模型建模时,我们同样会关注状态转移。 »
动态规划是算法中一个非常有趣的 Topic,由于其具有非常强的灵活性,所以在面试时也会被经常提及到。动态规划问题我更喜欢称之为递推,因为其本质就是利用“历史数据”进行下一步的推导。 »
二叉树问题在算法领域是一个非常非常重要的话题,”遍历”这一 API 在非线性数据结构中有着举足轻重的地位,可以说 80% 的算法问题都是遍历问题。 »
回溯法在 wikipedia 中被解释成一种“暴力搜索法”,相较“暴力”一词我更喜欢称之为“枚举”,枚举一个空间中所有的搜索路径。 »
在前面的文件 I/O 文章中,我们有提到 Linux 文件 I/O 支持阻塞和非阻塞的数据读取方式,当采用阻塞方式进行 I/O 时,进程将会阻塞在read()或者write()系统调用上,直到文件可读或者是内核缓冲区可写。这些阻塞与唤醒的实现与内核调度紧密相关,Linux 内核使用等待队列和完成量来实现该功能。 注: 本篇文章所用Linux内核源码版本为v5.8 »
Kubernetes 声明式API的核心就在于用户提交的YAML文件表示期望状态,Kubernetes 需要根据该期望状态与集群实际状态进行对比,并根据对比的结果作出相应的操作。期望状态由 APIServer 保存在 Etcd 中,Kubernetes 对资源进行调谐时,是否均需要通过 APIServer 查询 Etcd 来获取期望状态呢? »
我们常说 Python 一是门解释型语言,只需要敲下 python code.py 就可以运行编写的代码,而无需使用类似于 javac 或者 gcc 进行编译。那么,Python 解释器是真的一行一行读取 Python 源代码而后执行吗? 实际上,Python 在执行程序时和 Java、C# 一样,都是先将源码进行编译生成字节码,然后由虚拟机进行执行,只不过 Python 解释器把这两步合二为一了而已。 »