使用 Java 远程调试技术定位系统表加载问题

背景在最近的工作中,笔者负责开发了 ShardingSphere 系统表 功能,该功能会在 ShardingSphere 启动时模拟不同数据库的系统表,从而兼容各种数据库客户端,避免客户端查询系统表时出现报错。按照正常开发的流程,笔者对功能进行了较为全面的测试,然后将功能提测给测试同学。本以为一切会很顺序,但在功能测试的第一步就出现了问题——ShardingSphere 打包后启动起来,Zo...

发布于 In Action

ShardingSphere 5.1.0 执行引擎性能优化揭秘

本文首发于 Apache ShardingSphere 微信公众号,欢迎关注公众号,后续将会有更多技术分享。 前言在 Apache ShardingSphere 5.1.0 前几篇技术解读文章中,我们了解了解析引擎提供的 SQL 格式化功能,以及最新优化的高可用功能。除了不断为用户提供实用的新特性外,Apache ShardingSphere 社区一直在努力提升性能。 以单库 10 分片...

发布于 ShardingSphere

关系系统查询优化概述

本文翻译自论文 An Overview of Query Optimization in Relational Systems,论文介绍了 70 年代以来优化器方面的研究成果,通过本文的学习,我们可以快速了解关系系统中常见的查询优化技术,为后续深入学习 Calcite 及查询优化技术打下良好的基础。 目标自上世纪 70 年代初以来,学术界在查询优化领域进行了大量的研究工作。在一篇简短的论文中...

发布于 Query Optimization

ShardingSphere 5.0.0 内核优化及升级指南

本文首发于 Apache ShardingSphere 微信公众号,欢迎关注公众号,后续将会有更多技术分享。 前言经过将近两年时间的优化和打磨,Apache ShardingSphere 5.0.0 GA 版终于在本月正式发布,相比于 4.1.1 GA 版,5.0.0 GA 版在内核层面进行了大量的优化。首先,基于可插拔架构对内核进行了全面改造,内核中的各个功能可以任意组合并叠加使用。其...

发布于 ShardingSphere

CentOS 开发环境搭建笔记

前言虽然日常办公使用 Mac 已经非常便利,但偶尔还是需要使用 Linux 环境进行一些开发工作。为了方便使用,本文使用 VirtualBox 搭建了一个简单的 CentOS 开发环境,同时配置了 Host-Only 和 Nat 两种网络连接方式,保证了虚拟机中的 Linux 服务器,能够同时连接本机和互联网。 准备工作搭建 CentOS 开发环境之前,需要先完成以下准备工作: 安装 Vi...

发布于 Linux

探秘 ShardingSphere 5.0.0 beta 版内核增强

本文首发于 Apache ShardingSphere 微信公众号,欢迎关注公众号,后续将会有更多技术分享。 前言在去年 10 月 5.0.0-alpha 版发布之后,Apache ShardingSphere 经历了长达 8 个多月的持续开发与优化,终于在 6 月 25 日正式迎来了 5.0.0-beta 版本的发布。本次 5.0.0-beta 版除了提供 DistSQL 这样的新特性...

发布于 ShardingSphere

Charles 抓包下载钉钉群直播视频

前言作为一名爱学习的技术青年,博主经常会加入一些技术讨论群,参与技术大佬的直播分享,但是由于日常工作繁忙,经常会错过很多精彩的直播,因此想将直播视频下载下来,充分利用上下班的时间进行回看。但是往往事与愿违,大部分群管理员都会设置不允许下载回放 ( 如下图 ) ,幸好强大的互联网提供了各种 NB 工具,最终使用 Charles 和 FFmpeg 工具,成功实现了钉钉直播视频下载。 Charl...

发布于 Tool

Java8 新特性实战

前言Java8 是 Oracle 公司在 2014 年 3 ⽉发布的版本,是 Java5 之后最重要的版本,带来了诸多⽅⾯的新特性,包括语⾔、类库、编译器及 JVM 等新特性。本⽂重点介绍 Java8 中语法相关的新特性,主要包括 Lambda 表达式、Stream API、New Date API、Optional 等。 Lambda 表达式什么是 Lambda Lambda expre...

发布于 Java