- 博客(16)
- 收藏
- 关注
原创 Mysql笔记
在某些情况下,如果多个事务尝试锁定表中的大量行,MySQL可能会决定升级锁定级别,从行锁升级到表锁,以提高性能。这种情况通常发生在InnoDB存储引擎中,尽管它主要支持行级锁定。MySQL也会根据执行的SQL语句和事务的隔离级别自动应用锁。根据EXPLAIN来确定是否走索引。PARTITION BY 分类。ORDER BY 排序。
2024-12-02 22:35:21
710
原创 spring笔记
通过动态代理实现的。如果我们为Spring的某个bean配置了切面,那么Spring在创建这个bean的时候,实际上创建的是这个bean的一个代理对象,我们后续对bean中方法的调用,实际上调用的是代理类重写的代理方法。CGLib直接操作字节码,生成类的子类,重写类的方法完成代理。JDK实现动态代理基于反射,需要两个组件。不能代理final修饰的类和方法。
2024-12-02 22:12:11
1565
原创 Redis笔记
redis使用单线程模型,避免了多线程切换的开销。redis采用IO多路复用技术,同时监听多个socket,根据事件类型调用相应的处理函数。通过分片将数据分布到多个节点上。每个节点负责一部分数据,集群支持自动故障转移和数据重分布。集群模式下,客户端通过哈希槽来定位数据。允许客户端订阅特定频道,其他客户端可以向这些频道发布消息。订阅者会实时接收到发布的消息,适合实时消息推送场景。发布RedisMessageListenerContainer。订阅MessageListener。
2024-12-02 22:10:47
386
原创 kafka笔记
Kafka数据倾斜是一个常见的问题,它指的是在Kafka集群中,某些分区(partition)的数据量远大于其他分区。Kafka 通过持久化存储、复制机制、确认机制和重试机制来保证消息不丢失,确保数据的可靠性和一致性。batch.size: 这个参数指定了批量发送的最大字节数。生产者会在达到这个大小后发送数据,、是指分区所有副本都成功写入的最大偏移量,是消费者可以安全消费的最大offset。配置不当,生产者ack,消费组offset。acks参数直接影响hw更新。
2024-12-02 22:10:12
283
原创 Java笔记
当我们从HashMap中获取数据时,会先根据key的hashCode值计算出数组下标,然后在该下标对应的链表中查找是否存在相同key的节点,如果存在,则返回其对应的value值, 否则返回null。当我们往HashMap中插入数据时,会先根据key的hashCode值计算出数组下标,然后判断该下标是否已经存在值,如果没有,则直接插入;如果已经存在,则在该下标对应的链表中查找是否存在相同key的节点,如果存在,则更新value值,否则插入新的节点。
2024-12-02 22:08:12
656
原创 Hive笔记
SUBSTR(string A, int start, int len): 从字符串 A 中提取子字符串,从 start 位置开始,长度为 len。REPLACE(string A, string OLD, string NEW): 在字符串 A 中将 OLD 替换为 NEW。SUM(col), AVG(col), MIN(col), MAX(col): 对列进行求和、求平均、找最小值或最大值。UPPER(string A) 和 LOWER(string A): 将字符串 A 转换为大写或小写。
2024-12-02 22:07:41
623
原创 Hbase
在写入数据时,HBase先将数据存储在内存中(MemStore),达到阈值后再顺序写入磁盘,这避免了随机写操作的性能开销。而在读取数据时,由于只有RowKey索引,且数据可能分散在多个StoreFile中,因此需要访问较多的磁盘数据,相对写入操作来说性能较低。在 HBase 中,每一个 Region 维护着 startRowKey 与 endRowKey,如果加入的数据符合某个 Region 维护的 rowkey 范围,则该数据会交给这个 Region 进行维护。scan查询时需要处理。
2024-12-02 22:06:41
555
原创 flink
state.backend.rocksdb.write.buffer.size: 设置写缓冲区的大小,通常可以设置为 64MB 或 128MB,具体取决于可用内存和负载。state.backend.rocksdb.level.compaction.dynamic.level.bytes: 设置为 true,以启用动态级别压缩。state.backend.rocksdb.max.open.files: 根据系统的文件描述符限制,通常可以设置为 1000 或更高。检查点是临时的,通常在作业运行时定期进行。
2024-12-02 22:06:11
678
原创 Doris
Doris(前身为Palo)是一款开源的分布式列式存储计算引擎,专为快速查询和分析大规模数据而设计。它结合了高性能、高可扩展性和高稳定性的特点,非常适用于OLAP(联机分析处理)场景。
2024-12-02 22:03:05
345
原创 MySQL索引
此外,MySQL还支持多种类型的索引,例如普通索引、唯一索引、全文索引等,可以根据不同的需求选择适合的索引类型来优化查询性能。当一个新的索引值插入到哈希表中时,MySQL 会首先使用哈希函数将索引键转化为哈希值,然后将哈希值对哈希表的大小取模,得到该索引值在哈希表中的位置。因此,在使用 B+ 树时,只需要遍历树的叶子节点就可以找到所需的数据,而在使用 B 树时,还需要通过指针跳转到另一个节点才能访问数据,增加了IO访问的次数,降低了查询效率。在存储时,MySQL会将组合索引存储在B+树的结构中。
2023-03-09 11:21:42
129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人