数据表示

涉及浮点数和定点数的存储,不同的是我们需要更多的信息去记录浮点数,包括字符串形式的数据以及其他辅助信息,运算过程为字符串相加相乘类似。
Read more »

ACID

  • A:原子性
  • C:如果事务是一致的,数据库是一致的,那么结束时也必须是一致的
  • I:隔离性
  • D:事务提交之后会持久化
    Read more »

buffer pool manager

- buffer池组成
    - frame:缓冲池由frame组成,每次我们需要一个page,就吧这个page替换进frame
    - page table:用来记录page到buffer pool的映射关系
    - 其他元信息:脏页面(页面是否被修改),引用计数(页面被线程正在访问的计数)
- multiple buffer pools(多个缓冲池,每个池有其策略)
    - 减少线程竞争
    - 提供多种策略
    - 如何实现?根据Object id映射或者哈希
- pre-fetching(预取)
    - 提前把一些顺序信息读入buffer pool中  
    - 可以完成一些操作系统不能完成的预读,如index分支跳转
- scan sharing(扫描共享)
    - 查询复用计算结果
    - 允许多个查询附加到一个游标上
- buffer pool bypass
    - 给查询线程分配一小块内存,查询page的时候不经过缓存池,为了不污染缓存
    - 查询量小的时候使用
- O_DIRECT
    - 避免操作系统文件缓存
Read more »

Pod

  • 概念:多个docker的集合,有一个pause容器,其他容器共享这个容器的网络栈和存储,这样多个应用可以实现本地访问其他应用。
  • 分类
    • 自主式pod(不是被控制器管理的pod)
    • 控制器管理的pod
      Read more »

海量数据问题

海量日志找出现次数最多的记录

  • 问题主要是记录不能全部载入到内存
  1. 先把整个文件分割成若干个小文件,比如1000个小文件
  2. 找出每个文件中出现次数最多的记录(输出1000个记录+频次)
  3. 从每个文件出现最多的记录找出全局出现次数最多的记录(合并记录,找出最多的频次)
    Read more »