
国庆节快乐~点击上方文字关注我们哦
关系数据库存取策略

读取元组 构建表信息和元组模式(每个进程的本地内存cache中) 从共享缓冲池中读取元组 有: 跟模式信息解析属性值 无: 从文件块读取元组数据到缓冲池,再从缓冲池读取元组 文件块在磁盘存储,不同介质的磁盘由存储介质管理器来适配对上层提供统一接口 写出元组 找到合适的有空闲空间的缓冲块 空闲空间映射表,加快缓冲块空闲空间的查找 将元组写入共享缓冲池中的缓冲块 记录最近插入/使用的缓冲块块号(对于单个进程尽可能将数据写入一个缓冲块中) 合适时间将缓冲块刷回到存储介质中
图数据库存取策略

读取邻接节点 免索引邻接(Neo4j/OrientDB) 源节点中存储了关系地址,关系字段又存储了原节点和目标节点地址 全索引(ArrangoDB) 节点字段中对id创建哈希索引 关系字段中,源节点和目的节点都创建了哈希索引 查找某个节点的邻接节点,通过索引可以快速定位 存储关系和节点 原生图存储 节点和关系存储实际的物理地址(计算出的物理地址) 非原生存储 通过相应的适配器接入不同的存储引擎 关系数据库 K-V存储
键值数据库存取策略

写入数据(K-V存储的写效率远高于读效率) 根据记录的key值有序存储的 Kv数据库在存储数据时,相邻的key值在存储文件中是依次顺序存储的(可以自定义key大小比较函数,默认通过skiplist来实现) WAL 当应用写入一条Key:Value记录的时候,会先往log文件里写入,成功后将记录插进Memtable中,这样基本就算完成了写入操作 因为一次写入操作只涉及一次磁盘顺序写和一次内存写入,因此写入速度极快 在每层compaction的时候进行合并/键值的更新等操作 读取数据 原则: 读取最新的数据 首先从MemTable中读取,没有则从Immutable MemTable中读取,依次Level0/1/2读取


文章都看完了
不点个
吗
文章转载自DLab数据实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




