MongoDB基础与入门
基本概念 文档:mongo存储的数据本质上就是类似JSON格式的字符串,叫document。每个文档都有一个_id字段,也叫主键ID,和MySQL的主键一个意思。 集合:一个文档,类似于mysql的一行数据。当很多个document组合在一起就是集合(collection),MySQL这边叫做表。 使用场景: 嵌套关系多的情况,这种在MySQL里面就是一对多,需要几张表。但是mysql一个集合就完事儿了。 存储mongo的存储本质上就是在JSON的基础上做Base64编码存储,叫BSON编码。这些BSON文档会组成为一个集合存储在磁盘上,后缀名是wt。 wt文件里面也有分页,为了加快读取。其实和mysql的分页很相似,索引也是使用的B+Tree的变种索引,需要注意的是: mysql的B+Tree写入数据的时候,会有行锁; 但是mongo采用的是copy on write,就是复制一页出来改,不影响读。这个分页其实就是变种索引的“变”。 还有缓存相关的东西,可以提高热点数据的访问速度。还有类似mysql的Binlog的日志叫,写前日志 Journal。用于保护缓存中...
Kafka从入门到精通
发表于|更新于|mq
kafka为什么这么快 磁盘顺序写入,比随机写入快。 批量发送,生产者可以累积几条消息之后一起发送,减少io次数。 使用零拷贝技术,和netty一样,减少了用户空间和内核空间的多次数据拷贝。 压缩技术,通过压缩减少网络带宽。 kafka模型介绍Kafka 是发布-订阅模型,通过生产者-消费者模式去处理数据;其中生产端 push,消费端 pull。 数据流的逻辑如下: 1234Producer --push--> Broker --pull--> Consumer ^ | FetchRequest 这里 FetchRequest 是 Consumer 发给 Broker 的,不是 Broker 发给 Consumer。 Kafka顺序读取要了解这个,首先要了解broker里面的分区结构: 123456Broker└── Topic └── Partition ├── Leader Replica ...
Java并发同步器AQS
本文介绍 AbstractQueuedSynchronizer 的核心原理、独享锁与共享锁机制,以及 ReentrantLock、CountDownLatch 等并发工具类的实现基础。
Java并发中的各种锁
本文系统梳理 Java 并发编程中常见的锁分类与实现,涵盖可重入锁、公平锁与非公平锁、独享锁与共享锁、乐观锁与悲观锁,以及偏向锁、轻量级锁、重量级锁和分段锁,帮助理解不同锁机制的特点与适用场景。
OceanBase分布式数据库
概述可以把 OceanBase 看作一个能像单机数据库一样易用、但具备无限扩展能力和金融级高可用的分布式数据库 定位 完全自研的原生分布式关系数据库(非 MySQL 分支) 金融级高可用:RPO=0,RTO<8秒 水平扩展:单集群 1500+ 节点,3PB+ 数据 HTAP:同一份数据同时支持 OLTP + OLAP 架构 Shared-Nothing 架构:节点对等,各节点有完整 SQL+存储+事务引擎 核心进程:observer(单进程实例) 数据分片:分区(Partition)+ 副本(Replica) 一致性协议:Paxos(主副本 Leader + 备副本 Follower) 多租户:一个集群多个隔离的数据库实 存储引擎(与 MySQL 最大不同) MySQL:InnoDB(B+Tree) OceanBase:LSM-Tree 写入路径:MemTable → L0 SSTable → L1 SSTable → Major SSTable 优势:写入性能高 + 存储成本降低 70%-90% 兼容性 兼容 MySQL 5.7/8.0 绝大部分...
公告
分类
最新评论
加载中...
网站信息
文章数目 :
142
运行时间 :
本站总字数 :
394.5k
本站访客数 :
本站总浏览量 :
最后更新时间 :







