数据库
文章平均质量分 85
spcof
这个作者很懒,什么都没留下…
展开
-
学习clickhouse 集群搭建和分布式存储
使用集群的主要原因是为了提高系统的可扩展性、可用性和容错性。使用分布式存储的主要原因有以下几点:那么今天我们今天用docker的形式搭建一个clickhouse集群来提供我们学习用。docker-compose.yml注意:这里clickhouse的版本要和zookeeper的版本相互匹配上,不然后续就会有兼容性的问题。我的clickhouse的版本是22.1.3 所以我的zookeeper 的版本是3.5config.xmlmetrika.xml这里我们3个metrika.xml都是一样的原创 2024-03-06 17:40:34 · 827 阅读 · 0 评论 -
mysql学习篇-锁篇
在mysql 里面有三类锁,他们锁的粒度是不通的,分为全局锁,表级锁和行级锁。原创 2023-11-10 20:10:52 · 55 阅读 · 0 评论 -
mysql学习篇-事务篇
事务A和事务B当事务A发生了修改,但是因为错误或者其他原因没有commit ,这时候事务B 读取到了事务A里面修改的值这时候就触发了脏读。在一个事务内多次查询某个符合条件的记录数量,如果一个事务内前后两次查询到的记录数量不一样的时候,就意味着发生了幻读。我们发现这并没有解决幻读的问题,说明我们在统一个事务里面一开始使用快照读,最后使用当前读是无法解决幻读问题的。在同事处理多个事务的时候,可能会引发脏读,不可重复读,幻读的问题,那么我们该如何避免这些问题呢?在事务A执行的期间去执行事务B,插入一条数据。原创 2023-11-09 14:30:49 · 46 阅读 · 0 评论 -
mysql学习篇-索引
B+tree是一种多叉树,叶子节点才存放数据,非叶子节点只存放索引,每个节点里面存放的是主键。每一层父节点的索引值都会出现在下层子节点的索引值中,因此在叶子节点中,包括了所有的索引值信息。每个叶子节点都有两个指针,分别指向上一个节点和下一个节点,形成了双向链表。原创 2023-11-07 21:54:26 · 41 阅读 · 0 评论 -
pymongo之find_one_and_update原子性操作(管道操作)
getattr(mg_db_write, 'fuel_bag_recharge_record').find_one_and_update( {"user_id": user_id, "product_id": product_id, "appid": appid, "valid": True}, [{ "$set":{ "earn_end_time":{ "$cond":原创 2021-07-16 23:42:07 · 2885 阅读 · 0 评论