系统架构设计之数据库的核心数据结构
从最基本层面看,数据库只需做两件事:
向它插入数据肘,它就保存数据之后查询时,返回那些数据
本文讨论如何存储输入的数据,并在收到查询请求时,如何重新找到数据。
为何关注数据库内部的存储和检索呢?你不可能从头开始实现存储引擎,往往需要从众多现有的存储引擎中选择适合业务的存储引擎。为针对特定工作负载而对数据库调优时,就得对存储引擎底层机制有所了解。
针对事务型工作负载、分析型负载的存储引擎优化存在很大差异。
事务处理与分析处理”和“面向列的存储”部分,分析型优化的存储引擎。
先讨论存储引擎,用于大家比较熟悉的两种数据库,传统关系数据库和NoSQL数据库。研究两个存储引擎家族 ,即日志结构的存储引擎和面向页的存储引擎,比如B-tree。
数据库核心:数据结构
最简单的数据库,由两个Bash函数实现:
#!/bin/bash
db_set() {
echo "$1,$2"
THE END