ClickHouse常见SQL语法和常见合并数引擎Demo(二) 分区是表的分区,把一张表的数据分成N多个区块,分区后的表还是一张表,数据处理还是由自己来完成PARTITION BY,指的是一个表按照某一列数据(比如日期)进行分区,不同分区的数据会写入不同的文件中建表时加入partition概念,可以按照对应的分区字段,允许查询在指定了分区键的条件下,尽可能的少读取数据注意:不是所有的表引擎都可以分区,合并树(MergeTree) 系列的表引擎才支持数据分区,Log系列引擎不支持。...
ClickHouse快速安装-可视化工具连接-创建第一个ck库表(一) OLAP是什么,以及快速安装ClickHouse(容器化部署),CK可视化工具的下载链接使用以及创建第一个CK数据库和表,然后新增数据,浏览3分钟即可快速掌握这些知识
你知道小伙伴们的阿里云服务为什么会被ru侵,是怎么ru侵的吗? 一、什么是DDOS攻击二、自己购买的Linux服务器是怎么被挖矿的三、你知道SSH的原理吗四、SSH免密登录远程Linux云主机流程解析五、SSH免密登录远程Linux云主机实战六、SSH免密登录远程Linux云主机实战七、阿里云ECS服务器安装Redis6-入侵环境一、什么是DDOS攻击分布式拒绝服务攻击(Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向个或数个目标发动攻击,或者一个攻击者控制了位于不...
分布式调度XXL-Job整合Springboot2.X实战操作 单机定时任务: 单机的容易实现,但应用于集群环境做分布式部署,就会带来重复执行 解决方案有很多比如加锁、数据库等,但是增加了很多非业务逻辑分布式调度: 把需要处理的计划任务放入到统一的平台,实现集群管理调度与分布式部署的定时任务 叫做分布式定时任务 支持集群部署、高可用、并行调度、分片处理等
Mysql的事务、隔离级别、脏读、幻读以及数据落盘步骤 checkpoint:随着时间的积累,redo Log会变的很大很大。如果每次都从第一条记录开始恢复,恢复的过程就会很慢。为了减少恢复的时间,就引入了checkpoint机制。定期将databuffer的内容刷新到磁盘datafile内,然后清除checkpoint之前的redo log。
Redis4+布隆过滤器+lua实现方式、google布隆过滤器实现方式 本博文介绍了布隆过滤器的使用场景,以及google布隆过滤器和redis布隆过滤器分别的使用方法。当布隆过滤器说某个值存在时,这个值可能不存在;当它说不存在时,那就肯定不存在流量攻击:故意访问不存在的数据,导致程序不断访问DB数据库的数据(缓存穿透-解决方式将空值加到缓存中,防止大量攻击到db)
Mysql高性能索引 导读:本博文讲解了索引是什么和索引的底层原理,提到了BTREE和B+TREE hash底层实现以及mysql选错索引的原因和解决方式。同时涵盖高频面试题之InnoDB索引和MyIsam索引对比区别,唯一索引和普通索引的区别。
Mysql千万级别数据如何做分页 一、先来看看对SQL优化的理解SQL优化可分为两个部分,一个是设计阶段,另一个是查询阶段设计阶段运用到的优化: 使用适当的数据库列类型和大小(需要保证表设计的字段长度足够使用,且最小。比如性别gender字段可以用tinyint(1)即可)。小点的话,可以节省硬盘空间和检索时间。 尽量从设计上采用单表查询解决业务问题。 在适当字段加入索引,能用唯一索引用唯一索引(性能比普通索引高)。查询阶段涉及的优化: 尽可能不用select *:让优化器无法完成索引覆盖扫...
并发编程ReentrantLock实现原理和Synchroized区别 ReentrantLock是Lcok默认实现方式之一,它是基于AQS(AbstractQueuedSynchronizer 队列同步器)实现的,它默认是通过非公平锁实现的,在它的内部有一个state的状态字段用于表示锁是否被占用,如果是0则表示未被占用,此时线程就可以把state改成1,并成功获得了锁,而其他未获得锁的线程只能去排队等待获取资源。首先来看下ReentrantLock的两个构造函数: public ReentrantLock() { sync = new Non
Redis6.X高可用之Cluster集群和分片 导读:有了哨兵为什么还要有集群呢?Sentinel解决了主从架构故障自动迁移的问题,但是Master主节点的写能力和存储能力依旧受限,使用Redis的集群cluster就是为了解决单机Redis容量有限的问题,将数据按一定的规则分配到多台机器
这样做几步才可以最大化的保证Redis6.X高可用(主从、哨兵) 导读:高可用有2个含义:一个是数量尽量不丢失,二是保证服务尽可能的可用。AOF和RDB保证了数据尽量不丢失,那么本博文通过阿里云服务器搭建Redis6.x主从+哨兵模式尽可能的保障服务故障自动切换可用。
Redis6.X服务端config和key淘汰算法 问题一、redis的key配置了过期时间,这个是怎么被删除的?问题二、redis数据明明过期了,怎么还占用着内存?问题三、Redis 就只能用 10G,你要是往里面写了 20G 的数据,会发生什么?淘汰哪些数据
分布式缓存Redis6.x持久化配置实战-AOF和RDB 就是rdb和aof一起用,直接将rdb持久化的方式来操作将二进制内容覆盖到aof文件中,rdb是二进制,所以很小有写入的话还是继续append追加到文件原始命令,等下次文件过大的时候再次rewrite,默认是开启状态好处 混合持久化结合了RDB持久化 和 AOF 持久化的优点,采取了rdb的文件小易于灾难恢复 同时结合AOF,增量的数据以AOF方式保存了,数据更少的丢失坏处前部分是RDB格式,是二进制,所以阅读性较差数据恢复 先看是否存在aof文件,若存在则先按照aof文件恢复,aof
Mysql锁机制之行锁、表锁、死锁 乐观锁用的最多的就是数据的版本记录来体现 version ,其实就是一个标识。例如:update test set a=a-1 where id=100 and a> 0; 对应的version就是a字段,并不一定非得要求有一个字段叫做version,要求的是有这个字段,同时当满足这个条件的时候才会触发
记录一次mysql线上环境主从延迟问题定位到解决 基于row的优缺点在哪里?优势:可以正确复制所有数据的变更,这是最安全的复制格式劣势:生成更多的二进制日志数据,因为基于row的复制会将每行数据的变更都写入二进制日志。利用二进制日志进行备份和恢复的时间也会更长。此外,二进制日志的文件锁也会因为需要更长的时间来写入数据而被持有更久的时间,这可能会影响数据库的并发性能无法直接看到从库中执行的语句,但是可以使用mysqlbinlog工具基于statement的优劣势在哪里?优势:写入日志文件的数据较少。当更新或删除操作涉及多行时,可以大大减
可视化虚拟机工具VisualVM和Jconsole 目录开篇介绍:一、本地Jconsole远程连接阿里云服务二、先看本地Jconsole内存监控验证三、再看本地Jconsole线程验证四、idea -VisualVM插件安装开篇介绍:生产环境中直接排查JVM的话,使用适当的虚拟机监控和分析的工具可以加快我们分析数据、定位解决问题的速度。本博文重点介绍Jconsole和VisualVM工具的使用。一、本地Jconsole远程连接阿里云服务先配置环境变量:export JAVA_OPTS...
微信支付V3版本回调+验签流程 回调验签流程介绍 官方文档 https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_4_5.shtml https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_1.shtml注意: 同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知 确保回调URL是外部可正常访问的,且不能携带后缀参数