数据结构与算法

LSM Tree 数据库底层索引

数据库中非常常用的索引数据结构——B+ 树,在过去很多年里它都是数据库索引的首选实现方式,但是这种数据结构也并不是很完美。因为,每次修改数据都很有可能破坏 B+ 树的约束,我们需要对整棵树进行递归的合并、分裂等调整操作,而不同节点在磁盘上的位置很可能并不是连续的,这就导致我们需要不断地做随机写入的操作,而随机写入的性能是比较差的,这个问题在写多读少的场景下会更加明显。 LSM Tree(Log S

where 1=1 是什么意思???

where 1=1 先来看一段代码 <select id="queryBookInfo" parameterType="com.ths.platform.entity.BookInfo" resultType="java.lang.Integer"> select count(id) from t_book t where 1=1 <if test="tit

小记Elasticsearch数据迁移

背景 机房需迁移,决定使用阿里云作为临时过渡,因此需要将数据从久的集群迁移到新的机器上。 迁移的方法有很多种,可以使用ES自带的reindex,也可以使用开源工具。我不想装其他东西,所以决定使用reindex。以下为操作记录。 步骤 1.设置白名单 A集群的数据迁移到B集群上,因此需要修改B集群的elasticsearch.yml配置文件,添加以下配置 # reindex.remote.white

【深入浅出Seata原理及实战】「入门基础专题」探索Seata服务的AT模式下的分布式开发实战指南(2)

承接上文 上一篇文章说到了Seata 为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。那么接下来我们将要针对于AT模式下进行分布式事务开发的原理进行介绍以及实战。 Seata AT模式 在AT、TCC、SAGA 和 XA 这四种事务模式中使用最多,最方便的就是 AT 模式。与其他事务模式相比,AT 模式可以应对大多数的业务场景,且基本可以做到无业务入侵,

GeneToList – 基因名转换网络服务器

小编写过有关基因名的坑的推文,总结了有关基因名的十大坑,见:。今天为大家推荐一款很不错的基因名转化在线服务器 – GeneToList 随着高通量组学技术的日益流行,处理它们所产生的数据集变得越来越困难,因此需要借助于编程语言或者在线服务器,将一个数据库中的基因名转换成另一个数据库中的基因名,例如:biomaRt,MyGene (

Select基础查询

一、select命令格式 查看表里的行:select 表头名列表 from 库名.表名; 查看表里与条件匹配的行:select 表头名列表 from 库名.表名 where 查询条件 ; 二、where的基础条件 分类 命令/符号/... 说明 数值比较 = 相等 != 不相等 > 大于 >= 大于等于 < 小于 &l

zabbix关键表解释

zabbix中所有clock字段都是用时间戳类型表示时间,在SQL查询中可以通过FROM_UNIXTIME(value, '%Y%m%d' )函数实现时间戳格式和时间格式的转换。 alerts 表记录了报警相关的历史记录 triggers 保存报警trigger的相关信息。其中priority字段的值分别对应web前端中显示的六种级别的报警: 0:Not classified 1:In

自动备份

录入凭证时,进到后台科目设置表要增加一个客户时,不知怎么误操作,科目设置表最左边一列科目代码都消失了。心里一阵紧张,怎么补救呢?重新建帐套,所有的凭证都要重新录入,想想都头大。 忽然想起来了,财务软件都有自动备份功能,有一次数据乱了,我不会自动备份,还是找客服远程帮我操作的,看来这次又要麻烦他了。想想客服态度不好,还是自己先看看会不会解决问题。 我打开自动备份文件,找到昨天的备份文件,打开文件类型

Vite多环境配置

多环境配置的实现方式 使用vite创建的项目,相比原来的webpack项目确实在性能上带来了非常大的提升,我自己练手的一个项目也是使用vite+typescript+vue3来构建的。在实际开发场景中,我们很多时候会用到多环境配置,一般项目至少会区分dev和prod环境,然后在不同的环境下给相同参数设置一个不一样的值。在vite中也提供了这种能力,在官方文档中给出了一个示例: .env