数据密集型应用系统设计-数据存储与检索.docxVIP

  • 155
  • 0
  • 约9.26千字
  • 约 41页
  • 2022-03-20 发布于浙江
  • 举报

数据密集型应用系统设计-数据存储与检索.docx

? ? 数据密集型应用系统设计 数据存储与检索 ? ? 数据存储与检索 从最基本的层面看,数据库只需要做两件事: 向它插入数据时,它就保存数据 查询数据时,它就返回数据 本章主要从数据库的角度来探讨: 如何存储输入的数据 收到查询请求时,如何重新找到数据 作为一名普通的开发人员,我们不太可能从头实现一个自己的存储引擎,但是我们在做技术选型的时候,需要从众多的存储引擎中选一个最适合自己应用的,就需要对各种存储引擎底层机制有一个大概的了解。 我们将研究两个存储引擎家族: 日志结构的存储引擎 面向页的存储引擎(如 B-Tree) 数据库的核心:数据结构 一个简单的例子: #!/bin/bash de_set() { echo $1,$2 database } db_get() { grep ^$1, database | sed -e s/^$1,// | tail -n 1 } 我们实现了一个简单的 kv 存储的数据库,key 可以是任意值,value可以是一个 json,我们每次查找,都会获取key的最新值返回。 我们来看一下这样做的特点 每次对数据进行追加,且旧值不会被覆盖,最后一次的值就是最新的值 这种追加到文件末尾的方式通常足够高效,许多数据库内部也是使用日志(log),日志是一个仅支持追加式更新的数据文件,但是一个真正的数据库需要考虑的更多(并发控制、

文档评论(0)

1亿VIP精品文档

相关文档