- 博客(9)
- 收藏
- 关注
原创 数据库系列:“三驾马车”之Hbase的架构设计和适用场景
之前的文章我介绍了nosql的起源,其中一谷歌为代表发表的三篇论文,堪称是大数据领域的三架马车:BigTable、Google File System和MapReduce。其中Hbase就是BigTable的实现。HBase 底层存储实现。HBase 良好的分布式架构设计为的快速存储、随机访问提供了可能,基于可以轻松实现在,是大数据领域中 Key-Value 数据结构存储最常用的数据库方案。
2025-02-14 01:38:06
1008
原创 数据库系列:nosql的典中典——Mongodb
2007年,Dwight Merriman, Eliot Horowitz和Kevin Ryan成立10gen软件公司,在成立之初,这家的公司目标进军云计算行业。他们觉得传统的关系型数据库无法满足他们的要求,他们想要一款程序员不懂SQL语言也可以使用的数据存储产品——Mongodb。mongodb是个可扩展、高性能、开源、面向文档(document-oriented)的数据库,由c++实现。
2025-02-11 19:16:48
1014
原创 数据库系列:LSM树应用之Clickhouse(震惊,clickhouse竟然长这样!!)
Clickhouse是俄罗斯Yandex(俄罗斯网络用户最多的网站)于2016年开源的一个用于联机分析的管理系统。
2025-02-08 02:16:37
694
原创 数据库系列:数据库发展历程简述
1. 网状数据模型的结构复杂,使用不易,随着应用环境的扩大,数据结构越来越复杂,数据的插入、删除牵动的相关数据太多,不利于数据库的维护和重建。然而随着互联网普及,个人计算机的出现,数据的产生源头从公司扩展到了个人,数据开始爆炸性增长,因此急需其他类型的数据库来应对这种变化。但是,读写工作负载的横向扩展需要特殊的策略,例如分区和分片。本篇文章作为我开启数据库系列的第一篇文章,接下来后面我将详细解剖市面上流行的数据库的架构设计以及适用场景,并在其中穿插不同数据库的对比,以期让同学们对数据库选型有更好的了解。
2025-02-06 14:19:22
899
原创 从go语言的GMP模型看,go是磁盘io友好,还是网络io友好
因此回到本文的正题,go是磁盘io友好还是网络io友好。设想一下如果有大量的磁盘io,意味着可能会导致大量的goroutine发生阻塞,我们都知道go是io密集型友好的编程语言。但是它究竟是磁盘io友好呢还是网络io友好呢,还是都友好。(1)用户态阻塞:G被调离到等待队列,M执行其他G,MP不分离。(如果没有可用的G,MP分离,M休眠)(2)系统调用阻塞:G被阻塞,M也被阻塞,MP分离,P找其他的空闲M,没有则创建一个新的M。而这恰恰是go语言设计所想避免的,即减少内核态线程的创建与线程上下文切换。
2025-02-02 16:25:18
315
原创 快速了解Elasticsearch基础架构
本文旨在让不了解Elasticsearch的小白对其有一个基本认识。下文中将称Elasticsearch为ES。
2025-01-27 01:51:10
1225
原创 Kafka和RocketMQ的区别,表格展示(简洁清晰版)
单机TPS:7万条/秒,单条发送消息(原因:RocketMQ是java开发,缓存过多消息会导致jvm gc)每个主题分区是一个连续日志,消息被追加到日志文件末尾,一旦写入不可修改。数据可靠性、实时性要求较高,且处理大量队列的场景。存储层面设计更加复杂,支持多种存储、索引、定时消息、事务等。海量数据,对数据正确性要求不高。单机写入TPS:百万条/秒,有批量发送策略,合并多条小消息。路径:磁盘==>内核缓冲区==>用户空间内存。路径:磁盘==>内核缓存区==>网络。异/同刷盘,异/同复制,可靠性大。
2025-01-26 19:09:22
386
原创 “螺蛳壳内做道场”——记一次线上内存调优(JVM、LINUX、内存过载)
这是我的第一篇文章,权当记录一下自己在编程生涯中遇到的问题,同时也希望能帮到有需要的人。如果有问题欢迎纠正。本文一共分为4章节,分别是以及。话不多说,马上开始。(由于我现在在实习,只能利用碎片时间写,过几天一定立马补上,别离开。。。。
2024-08-20 23:03:36
344
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人