• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

存储和数据库笔记 | 青训营

武飞扬头像
圣龙333
帮助1

一些常见的数据库相关概念的科普知识

数据持久化的过程:

  1. 检验数据合法性
  2. 内存中组织数据结构
  3. 以寿命&性能友好方式写入存储介质

存储系统:一个提供了读写和控制接口,能够安全有效地把数据持久化的软件。

存储系统和数据库不是一回事

存储系统常见的存储方式包括块存储、文件存储、对象存储、key-value存储

存储系统特点:性能敏感、硬件敏感、代码简洁(但异常处理必须全面)

性能方面:缓存很重要、拷贝很昂贵

RAID(Redundant Array of Independent Disks)出现原因:

  • 单块大容量磁盘比多块小容量磁盘贵
  • 单块磁盘写入性能不如多块磁盘并发写入性能
  • 单块磁盘容错能力弱

RAID0(stripe), RAID1(mirror), RAID0 1(combined)

Relational Database:

  1. Structured data structure

  2. ACID transaction support

    1. Atomicity, Consistency, Isolation, Durability
  3. SQL for complex query

DSL: Domain Specific Language

单机和分布式,关系型和非关系型

Linux中一切皆文件

  1. Index Node:记录文件元数据,文件的唯一标识
  2. Directory Entry:文件名、inode指针、层级关系等,属于内存架构

key-value存储常见数据结构:LSM-Tree,牺牲了读性能,追求写性能。

HDFS(Hadoop Distributed File System):大数据时代基石

  • 海量数据存储
  • 高容错性
  • 弱POSIX语义
  • 便宜服务器

Management Node & Storage Node

Ceph也是著名的开源分布式存储系统,但一切皆对象,主备复制写入,CRUSH算法分布。

关系型数据库中,ToB: Oracle, Others: MySQL & PostgreSQL

通用组件:

  • Query Engine
  • Txn Manager(Transaction)
  • Lock Manager
  • Storage Engine
  • Replication(主备同步)

关键内存数据结构:

  • B-Tree
  • B Tree
  • LRU List

关键磁盘数据结构:

  • WriteAheadLog(RedoLog):记录事务操作
  • Page
  • Others:临时数据

非关系型数据库:MongoDB, Redis, Elasticsearch三足鼎立

交互方式各不相同(一般不使用SQL),但在尝试支持SQL子集和事务

  • Elasticsearch

    • 面向文档,支持json和嵌套,index=文档集合
    • 存储和构建索引依赖Lucene搜索引擎
    • 支持RESTFUL API,支持弱SQL交互
    • 模糊匹配搜索查询能力很强,还内嵌关联程度算法
  • MongoDB

    • 面向文档,支持json/bson和嵌套,collection=文档集合
    • 存储和构建索引依赖wiredTiger引擎(纯C)
    • 支持事务和多文档操作,常用client/SDK/支持弱SQL插件交互
  • Redis

    • 数据结构丰富,C语言实现,基于内存超高性能
    • 支持AOF/RDB持久化
    • 常用redis-cli/多语言SDK交互

分布式:容量、弹性、性价比

新技术演进:

  • 软件架构变更:Bypass OS kernel

    • SPDK(Storage Performance Development Kit)
    • 内核态到用户态;中断到轮询(磁盘性能提高);无锁数据结构
  • AI:智能存储格式转换

    • 行列混存决策
  • 硬件革命:存储介质、计算单元、网络硬件

    • RDMA网络:用户态虚拟内存映射给网卡,减少拷贝和CPU开销
    • Persistent Memory:介于SSD和Memory之间
    • 可编程交换机:缓存一致性协议
    • CPU从multi-core到many-core;CPU;DPU专用计算

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgajbie
系列文章
更多 icon
同类精品
更多 icon
继续加载