龙岩网站建设一般,长沙哪家网络公司做网站好,网站悬浮窗,福安建设厅网站1 经典案例
1.1 数据的流动 一条用户注册数据流动到后端服务器#xff0c;持久化保存到数据库中。 1.2 数据的持久化
校验数据的合法性修改内存写入存储介质2 存储数据库简介
2.1 存储系统特点 性能敏感、容易受硬件影响、存储系统代码既“简单”又“复杂”。
2.2 数…1 经典案例
1.1 数据的流动 一条用户注册数据流动到后端服务器持久化保存到数据库中。 1.2 数据的持久化
校验数据的合法性修改内存写入存储介质2 存储数据库简介
2.1 存储系统特点 性能敏感、容易受硬件影响、存储系统代码既“简单”又“复杂”。
2.2 数据怎么从应用到存储介质 缓存贯穿了整个存储体系。要尽量减少拷贝。
2.3 RAID技术 2.2 数据库
2.2.1 概览 关系集合有序偶对 关系代数对关系作运算的抽象查询语言 SQL方便人类阅读的关系代数表达式
2.2.2 关系型数据库特点
结构化数据友好支持事务ACID支持复杂查询语言
2.2.3 非关系型数据库特点
半结构化数据友好可能支持事务可能支持复杂查询语言3 主流产品剖析
3.1 单机存储
3.1.1 概览 单机存储单个计算机节点上的存储软件系统一般不涉及网络交互
3.1.2 本地文件系统
Linux经典哲学:一切皆文件文件系统的管理单元∶文件文件系统接口︰文件系统繁多如Ext2/3/4sysfsrootfs等但都遵循VFS的统一抽象接口Linux文件系统的两大数据结构:Index Node Directory EntryIndex Node记录文件元数据如id、大小、权限、磁盘位置等inode是一个文件的唯一标识会被存储到磁盘上inode的总数在格式化文件系统时就固定了Directory Entry记录文件名、inode指针层级关系(parent)等dentry是内存结构与inode的关系是N:1(hardlink的实现)
3.1.3 key-value存储
常见使用方式: put(k, v) get(k)常见数据结构:LSM-Tree某种程度上牺牲读性能追求写入性能拳头产品︰RocksDB3.2 分布式存储
3.2.1 概览 分布式存储在单机存储基础上实现了分布式协议涉及大量网络交互
3.2.2 HDFS 堪称大数据时代的基石 核心特点
支持海量数据存储高容错性弱POSIX语义使用普通x86服务器性价比高3.2.3 Ceph 开源分布式存储系统里的万金油 核心特点
一套系统支持对象接口、块接口、文件接口但是一切皆对象数据写入采用主备复制模型数据分布模型采用CRUSH算法3.3 单机关系型数据库 商业产品Oracle称王,开源产品MySQL PostgreSQL称霸 关系型数据库的通用组件: Query Engine ——负责解析query生成查询计划 Txn Manager ——负责事务并发管理 Lock Manager ——负责锁相关的策略 Storage Engine ——负责组织内存/磁盘数据结构
Replication——负责主备同步
关键内存数据结构:B-Tree、B-Tree、LRU List等
关键磁盘数据结构:WriteAheadLog (RedoLog) . Page 3.4 单机非关系型数据库 MongoDB、Redis、Elasticsearch三足鼎立
关系型数据库一般直接使用SQL交互,而非关系型数据库交互方式各不相同非关系型数据库的数据结构千奇百怪,没有关系约束后, schema相对灵活不管是否关系型数据库大家都在尝试支持SQL(子集)和“事务”
3.4.1 Elasticsearch
面向「文档」存储文档可序列化成JSON支持嵌套存在indexindex文档的集合存储和构建索引能力依赖Lucene引擎实现了大量搜索数据结构算法支持RESTFUL API也支持弱SQL交互使用案例 天然能做模糊搜索还能自动算出关联程度
3.4.2 MongoDB
面向「文档」存储文档可序列化成JSON/BSON支持嵌套存在collection , collection文档的集合存储和构建索引能力依赖wiredTiger引擎4.0后开始支持事务(多文档、跨分片多文档等)常用client/SDK交互可通过插件转译支持弱SQL
3.4.3 Redis
数据结构丰富(hash表、set、zset、list)C语言实现,超高性能主要基于内存,但支持AOF/RDB持久化常用redis-cli/多语言SDK交互3.5 分布式数据库
3.5.1 解决容量问题 改进后 3.5.2 解决弹性问题 4 新技术演进
4.1 概览
软件架构变更AI增强新硬件革命4.2 SPDK 4.3 AIStorage 4.4 高性能硬件
4.4.1 RDMA网络
传统的网络协议栈需要基于多层网络协议处理数据包存在用户态内核态的切换,足够通用但性能不是最佳RDMA是kernel bypass的流派不经过传统的网络协议栈可以把用户态虚拟内存映射给网卡减少烤贝开销,减少cpu开销
4.4.2 Persistent Memory
在NVMe SSD和Main Memory间有一种全新的存储产品:Persistent Memory
IO时延介于SSD和Memory之间约百纳秒量级可以用作易失性内存(memory mode)也可以用作持久化介质(app-direct)
4.4.3 可编程交换机
P4 Switch配有编译器、计算单元、DRAM可以在交换机层对网络包做计算逻辑。在数据库场景下可以实现缓存―致性协议等
4.4.4 CPU/GPU/DPU
CPU :从multi-core走向many-coreGPU:强大的算力越来越大的显存空间DPU:异构计算减轻CPU的workload