首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4090830/blog/5574364

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Sqlite 并发读写的演进之路

概论 sqlite 底层的存储基于 B-tree,B-Tree 对底层存储的基本读写单位是页面,而每个页面都由全局唯一的页面编号与之对应,一般来说页面编号从 1 开始递增。类 B-Tree 的存储引擎修改数据的流程如下图所示: 从上图中,需要区分 B-Tree 类的存储引擎几个核心的模块: B-Tree 算法模块:从页面管理器中读取页面到内存,进行逻辑的修改,修改完毕之后标记该页面为脏页面,这样页面管理器就知道哪些页面被修改,后续需要进行落盘。 页面管理器:负责向 B-Tree 算法模块提供根据页面编号读、写页面的接口。 数据库文件:这其实不是一个模块,泛指在磁盘上的数据库相关文件,任何的修改最终都要落到数据库文件。在 sqlite 中,数据库文件是单一文件,在其他存储引擎里可能是一组相关的文件。 最上层的 B-Tree 算法模块,在进行写事务的时候,是首先向页面管理器发起读页面到内存中的请求,注意到 B-Tree 模块并不会直接跟数据库文件打交道,而是经过页面管理器模块(下面会展开说),修改了页面之后标记为“脏页面”,页面管理器最终负责将脏页面落盘到数据库文件中。 现在来谈谈“页面管...

Flink 流批一体在字节跳动的探索与实践

背景 字节跳动旗下拥有今日头条、抖音等多款产品,每天服务着数亿用户,由此产生的数据量和计算量也是很大的: EB 级别海量的存储空间 每天平均 70PB 数据的增量 每秒钟百万次数的实时推荐请求 超过 400 万核的流式计算资源、500 万核的批式计算资源 这对我们的整个架构,包括计算架构和存储架构都带来了巨大的挑战。 业务困境 如上图所示,左边是一个非常典型,业界应用也很多的数据链路图。这个数据链路是一个典型的 Lamda 架构,整个数据链路分为批式计算链路和流式计算链路。 在字节跳动内部,通常需要批式计算和流式计算两条链路共同服务于下游的应用。 在批式计算链路中,我们主要应用 Spark 引擎,通过 Spark 引擎在批式存储中拿到数据,经过 ETL 的计算后,存入下游的存储,从而服务下游的应用。 流式计算链路,也是我们整个实时推荐、实时信息流的核心链路。我们会通过消息中心件把实时数据进行缓存存入,然后运用 Flink 实时计算引擎进行处理,处理后经过消息中间件的缓存传输存入下游的存储,来服务下层的应用。 整个计算架构分成两条链路,带来了两个比较严重的问题: 计算不同源 维护成本高。...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。