【分布式存储】数据存储和检索~B+树

这篇具有很好参考价值的文章主要介绍了【分布式存储】数据存储和检索~B+树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么数据存储结构重要

在存储系统中,其实不管数据是什么样的,归根结底其实都还是取决于数据的底层存储结构,而主要常见的就是数据库索引结构,B+树、Redis中跳表、以及LSM、搜索引擎中的倒排索引。本质都是如何利用不用的数据结构,在性能和存储空间之间权衡。数据写的速度和读取数据。

MySQL中索引如何用B+树实现的

常用数据结构分析

哈希表: 哈希表以O(1)的查询效率著名,但是其本身是用空间换时间。并且不支持范围查询。
平衡二叉查找树: 查询和写入都是O(logN) 进行中序遍历的话,可以得到一个有序的数据序列,但是不支持快速查找。
跳表: 跳表,其实是通过多层的链表结构实现,可以快速查询、删除、插入 都是O(LogN)
【分布式存储】数据存储和检索~B+树,# 数据库原理,# 数据结构与算法,# 分布式存储,分布式,b树,数据结构
而B+树和跳表十分相视。

B+树

【分布式存储】数据存储和检索~B+树,# 数据库原理,# 数据结构与算法,# 分布式存储,分布式,b树,数据结构
我们从从一个二叉查找树进行改造,将非叶子节点不存储数据,由叶子节点存储数据。并且叶子节点通过指针可以前后引用。这样,当我们查找数据的时候,找到15。然后可以通过遍历.next 就可以进行范围查询。这就是为什么叶子节点需要双向链表进行引用。

如果将全部的数据都存储到内存中,那么内存是放不下的,所以一个方式就是,只将根节点存储在内存中,其他节点存储在磁盘上。
而二叉查找数因为数据如果较多,树的高度就会更高,查询的IO次数更多。
【分布式存储】数据存储和检索~B+树,# 数据库原理,# 数据结构与算法,# 分布式存储,分布式,b树,数据结构
所以一般使用固定阶段,3层来保证数据查询的IO次数。操作系统读取数据是按照Page 64KB进行读取。所以我们尽量让每个节点存储的数据等于一页的大小。

合并和分裂
因为在使用数据库的时候,会删除和增加数据,所以当超过一定的节点数据时,会进行分裂和合并操作。
【分布式存储】数据存储和检索~B+树,# 数据库原理,# 数据结构与算法,# 分布式存储,分布式,b树,数据结构

小结

本篇主要简单介绍下B+数在MySQL索引是如何实现的,B树和B+数据的区别,一共在两个地方文章来源地址https://www.toymoban.com/news/detail-653160.html

  • B+数节点不存储数据,只存储索引数据,B树存储的是数据。
  • B树叶子结点不需要通过链表链接。

到了这里,关于【分布式存储】数据存储和检索~B+树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解释什么是分布式数据库,列举几种常见的分布式数据库系统

    敏感信息和隐私保护是指在收集、存储和使用个人数据时,需要采取一系列措施来保护这些数据的安全和机密性,防止数据被未经授权的第三方访问、使用或泄露。这些措施包括加密、访问控制、数据脱敏、数据加密、隐私政策等。 在隐私保护的技术手段方面,常用的技术包

    2024年02月08日
    浏览(42)
  • 分布式数据库架构

    对于mysql架构,一定会使用到读写分离,在此基础上有五种常见架构设计:一主一从或多从、主主复制、级联复制、主主与级联复制结合。 1.1、主从复制 这种架构设计是使用的最多的。在读写分离的基础上,会存在一台master作为写机,一个或多个slave作为读机。因为在实际的

    2024年02月10日
    浏览(36)
  • 分析型数据库:分布式分析型数据库

    分析型数据库的另外一个发展方向就是以分布式技术来代替MPP的并行计算,一方面分布式技术比MPP有更好的可扩展性,对底层的异构软硬件支持度更好,可以解决MPP数据库的几个关键架构问题。本文介绍分布式分析型数据库。 — 背景介绍— 目前在分布式分析型数据库领域,

    2023年04月14日
    浏览(46)
  • 分布式数据库HBase

    HBase是一个高可靠、高性能、 面向列 、可伸缩的分布式数据库,是谷歌BigTable的开源实现,主要用来存储非结构化和把结构化的松散数据。 HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用 廉价计算机集群 处理由超过10亿行数据和数百万列元素组成的数据表。

    2024年02月09日
    浏览(46)
  • 【大数据】分布式数据库HBase

    目录 1.概述 1.1.前言 1.2.数据模型 1.3.列式存储的优势 2.实现原理 2.1.region 2.2.LSM树 2.3.完整读写过程 2.4.master的作用 本文式作者大数据系列专栏中的一篇文章,按照专栏来阅读,循序渐进能更好的理解,专栏地址: https://blog.csdn.net/joker_zjn/category_12631789.html?spm=1001.2014.3001.5482 当

    2024年04月27日
    浏览(32)
  • 分布式数据库-事务一致性

    version: v-2023060601 author: 路__ 分布式数据库的“强一致性”应该包含两个方面: serializability(串行) and linearizability(线性一致) ,上述图为“Highly Available Transactions: Virtues and Limitations”论文中对于一致性模型的介绍。图中箭头表示一致性模型之间的关系。对于异步网络上的分

    2024年02月08日
    浏览(39)
  • 分布式数据库NoSQL(二)——MongoDB 数据库基本操作

    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 json 的

    2024年02月06日
    浏览(36)
  • 聊聊分布式 SQL 数据库Doris(二)

    Doris中,Leader节点与非Leader节点和Observer节点之间的元数据高可用和一致性,是通过bdbje(全称:Oracle Berkeley DB Java Edition)的一致性和高可用实现的。 元数据与同步流程 元数据主要存储四类数据: 用户数据信息. 包括数据库, 表的schema, 分片信息等 各类作业信息. 如导入作业, clo

    2024年02月05日
    浏览(52)
  • 聊聊分布式 SQL 数据库Doris(四)

    FE层的架构都能在网上找到说明. 但BE层的架构模式、一致性保障、与FE层之间的请求逻辑,数据传输逻辑等,我个人暂时没有找到相应的博客说明这些的。当然这些是我个人在学习与使用Doris过程中,对内部交互逻辑与实现感兴趣才有这些疑问. 还好现在有GPT这类大模型,有了

    2024年02月05日
    浏览(42)
  • 11.云原生分布式数据库之TIDB

    云原生专栏大纲 从后端视角、运维视角和基础架构视角来看,使用 TiDB 作为数据库系统可以获得分布式架构、高可用性、强一致性、事务支持、水平扩展、高性能、简化运维、灵活的扩展和配置、集成的监控和告警等优势。这些优势使得 TiDB 成为处理大规模数据和高并发请求

    2024年02月01日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包