TiDB 底层存储结构 LSM 树原理介绍

随着数据量的增大,传统关系型数据库越来越不能满足对于海量数据存储的需求。对于分布式关系型数据库,我们了解其底层存储结构是非常重要的。本文将介绍下分布式关系型数据库 TiDB 所采用的底层存储结构 LSM 树的原理。

一次JSF上线问题引发的MsgPack深入理解,保证对你有收获

某一日晚上上线,测试同学在回归项目黄金流程时,有一个工单项目接口报JSF序列化错误,马上升级对应的client包版本,编译部署后错误消失。 线上问题是解决了,但是作为程序员要了解问题发生的原因和本质。但这都是为什么呢?

Backbone前端框架解读

在前端的发展道路中,前端框架元老之一jQuery对繁琐的DOM操作进行了封装,提供了链式调用、各类选择器,屏蔽了不同浏览器写法的差异性,但是前端开发过程中依然存在作用域污染、代码复用度低、冗余度高、数据和事件绑定烦琐等痛点。

微服务拆分治理最佳实践

随着业务快速发展,各种问题越来越明显,急需对系统进行微服务改造优化。经过思考,整体改造将分为三个阶段进行:数据库拆分、应用拆分、数据访问权限收口。

慧销平台ThreadPoolExecutor内存泄漏分析

京东生旅平台慧销系统,作为平台系统对接了多条业务线。但近期根据告警发现内存持续升高,因此猜测该系统可能存在内存泄漏的情况。本文通过此案例,介绍慧销平台ThreadPoolExecutor内存泄漏问题的详细分析过程。

Switchquery:移动端秒级配置触达平台

随着前端开发者开发的功能越来越多,对快速控件各类功能的切换、灰度、降级能力也越来越高。那么怎样才能既保证触达信息能力,又能满足低成本的要求呢?其实,Switchquery配置平台就可以满足这些要求。

我在京东做研发第五期:京东云自研服务器,如何将开发成本降低 60% 的同时还更低碳环保?

随着互联网的不断发展,各类技术工程对cpu算力的需求持续飙高,这不仅带来了技术上的压力,对电力能耗的需求也越来越大。为在有限的电力内达到最佳的效果,京东云自研服务器围绕三大主轴,提升性能效率、降低整体成本,让地球环境可以永续经营。

Python 自动化测试的配置层实现方式对标与落地

Python中什么是配置文件,配置文件如何使用,有哪些支持的配置文件等内容,话不多说,让我们一起看看吧~

从2PC和容错共识算法讨论zookeeper中的Create请求

最近在读《数据密集型应用系统设计》,其中谈到了zookeeper对容错共识算法的应用。这让我想到之前参考的zookeeper学习资料中,误将容错共识算法写成了2PC(两阶段提交协议),所以准备以此文对共识算法和2PC做梳理和区分,也希望它能帮助像我一样对这两者有误解的同学。

流程编排及可视化

这里只介绍liteflow的简单基础使用以及作者对liteflow进行可视化扩展的相关阐述

蓝牙智能设备数据采集平台化方案

由于Android APP/IOS APP平台和开发语言的差异,对开发端和用户端来说,在系统兼容适配、外接蓝牙的安装更新,以及不同平台之间的移植都有不同程度的制约。

一种新的告警收敛方式“先知预警”,为您的系统健康护航

通过这个预警系统,我们能够提前发现并主动处理对账事后异常,其技术难度并不高, 更多的讲究的是一个方法。对此方法起了一个名字叫"先知预警",也希望此理论能对您的系统有所帮助。

库存预占架构升级方案设计-交易库存中心

伴随物流行业的迅猛发展,一体化供应链模式的落地,对系统吞吐、系统稳定发出巨大挑战,库存作为供应链的重中之重表现更为明显。

千万级数据深分页查询SQL性能优化实践

最近接到了一个新需求,要求提供查询关注对象的粉丝列表接口功能。该功能的难点就是关注对象的粉丝数量过多,不少店铺的粉丝数量都是千万级别,并且有些大V粉丝数量能够达到上亿级别

弹性数据库连接池探活策略调研(一)——HikariCP

# 调研背景: 数据库连接建立是比较昂贵的操作(至少对于 OLTP),不仅要建立 TCP 连接外还需要进行连接鉴权操作,所以客户端通常会把数据库连接保存到连接池中进行复用。连接池维护到弹性数据库(JED)的长连接,弹性数据库默认不会主动关闭客户端连接(除非报错),但一般客户端到弹性数据库之间还会有负

【RocketMQ】消息的存储

当Broker收到生产者的消息发送请求时,会对请求进行处理,从请求中解析发送的消息数据,接下来以单个消息的接收为例,看一下消息的接收过程。 数据校验 封装消息 首先Broker会创建一个MessageExtBrokerInner对象封装从请求中解析到的消息数据,它会将Topic信息、队列ID、消息内

math库常用函数+产生随机数总结

math库常用函数+产生随机数总结 1.对x开平方 double sqrt(x);//返回值为double类型,输入的x类型随意,只要是数的类型 2.求常数e的x次方 double exp(x);//返回值为double类型,输入的x类型随意,只要是数的类型 3.求x的y次方 double pow(

WebGPU缓冲区更新最佳实践

介绍 在WebGPU中,GPUBuffer是您将要操作的主要对象之一。它与GPUTextures一同代表了您的应用程序向GPU传递用于渲染的大部分数据。在WebGPU中,缓冲区用于顶点和索引数据、uniforms、计算和片段着色器的通用存储,以及作为纹理数据的临时存储区域。 本文档专注于找到将数据有

.NET微服务系列之Saga分布式事务案例实践

自从Wing正式发布以后,很多童鞋反馈对Saga分布式事务比较感兴趣,今天就跟大家分享一下“跨行转账”的分布式事务实践案例,入门使用教程请自行前往Wing官方文档。 假设自己名下有“中国农业银行(ABC)”和“中国工商银行(ICBC)”的账户余额各1万元,现在从“ABC”跨行转账1000元到“ICB

使用Java统计gitlab代码行数

一、背景: 需要对当前公司所有的项目进行代码行数的统计 二、 可实现方式 1.脚本:通过git脚本将所有的项目拉下来并然后通过进行代码行数的统计 样例: echo 创建项目对应的文件夹 mkdir 项目名称echo 切到创建的文件夹中 cd 项目名称echo 进行git初始化 git init ec