
db
文章平均质量分 84
Solomon_肖哥弹架构
Solomon(肖爱良) - 前百度环境音乐CTO&架构师、微服务专家 - 中国机械出版社签约作家,《深入理解Dubbo工业级架构设计》图书的作者 - 分享高并发、高可用、高性能的分布式(微服务、存储、事务、限流)架构设计原理
展开
-
MySQL索引完全手册:真实业务图文讲解17种索引运用技巧(必须收藏)
MySQL索引是数据库中用于提高数据检索效率的重要技术。它通过在数据表列上创建索引结构,如B+Tree、Hash索引等,加速查询速度。索引类型包括主键索引、唯一索引、普通索引、全文索引、空间索引等,各适用于不同的查询场景。合理设计索引可以显著提升数据库性能,但过多索引也会导致维护成本增加和写操作变慢。索引优化需考虑查询模式、数据量和存储引擎特性。原创 2024-08-02 11:41:21 · 1315 阅读 · 0 评论 -
Java手写Redis事务管理:带你掌握缓存事务的内部秘密
Redis事务提供了一种将多个命令打包执行的能力,确保这些命令要么全部成功执行,要么在出现错误时全部不做。这种机制对于需要保证操作原子性的场景非常有用,如金融交易、库存扣减等。Redis事务的设计背景是为了在内存数据库中实现类似于传统关系型数据库的事务特性,同时保持Redis的高性能和简单性。然而,与关系型数据库不同的是,Redis事务不支持回滚操作,如果在事务中的某个命令失败,整个事务将被放弃,但不会撤销已经执行的命令。这种设计简化了系统的复杂性,并利用Redis的单线程特性来避免锁的竞争,从而实现快速的原创 2024-07-29 15:38:01 · 889 阅读 · 0 评论 -
数据库我是这样写出来的,Java MVCC升级版1,持续更新
本MVCC实现,包括数据版本控制、事务管理、一致性读取、提交和回滚事务,以及基本的垃圾收集。然而,这仍然是没有实现模型的所有功能。实际数据库系统中的MVCC实现会涉及更复杂的机制,如行级锁、无锁数据结构、版本链管理、写入时复制(Copy-On-Write)策略、冲突检测和解决算法,后续会继续提供。原创 2024-07-03 13:53:38 · 574 阅读 · 0 评论 -
数据库我是这样写出来的,Java版本2(支持数据类型),持续更新
了解数据库的内部原理其实很不容易,大部分的读写都停留在理论文章上,因此肖哥带着大家使用Java手写一个完整的数据库,让大家了解数据库的解析器、性能分析器、认证、查询优化器,执行引擎、存储引擎、事务管理、MVCC,数据恢复等一系列功能。这个工作量比较大,属于每日1-2更新,大家如果想了解数据库的内容原理,掌握数据库的核心技术,那么可以跟着肖哥的步骤一步一步的学习。数据库会包含大家熟悉的数据结构与算法例如。原创 2024-07-03 11:36:40 · 475 阅读 · 0 评论 -
MVCC实现
实现MVCC读取,确保事务可以看到一致的快照数据。需要一个事务管理器来处理事务的开始、提交和回滚。首先,一个能够存储数据不同版本的数据模型。实现简单的垃圾收集策略,回收旧版本的数据。原创 2024-07-03 00:09:51 · 197 阅读 · 0 评论 -
数据库我是这样写出来的,Java版本1,持续更新
案例非常简化,不支持完整的SQL语法,也没有实现数据持久化、事务、并发控制、索引等数据库系统的关键特性。此外,它仅支持字符串类型的数据和简单的条件查询。此案例为了让大家有一个初步了解。后续会一步一步复杂化与标准化。原创 2024-07-02 13:29:28 · 459 阅读 · 0 评论 -
生产环境数据不一致,因为你没读本文实际案例。
跟大家“弹弹” 事务,隔离,实现原理功能与业务案例关注本人的公众号获取更多精彩内容事务是数据库操作的一个单元,可以包含一个或多个数据库操作语句(如INSERTUPDATEDELETE等)。原创 2024-07-01 17:44:26 · 825 阅读 · 0 评论 -
你不了解的 Mysql语法与使用案例,包含优化,分区,非结构化,事务,锁,必须收藏
创建数据库/* 如果不存在,则创建一个名为my_ecommerce的数据库 */选择数据库/* 选择my_ecommerce作为当前操作的数据库 */创建表/* 创建一个products表,包含产品ID、名称、价格、分类ID和创建时间 */修改表结构/* 在products表中添加一个名为in_stock的列,用于存储库存数量 */删除表/* 如果存在,则删除products表 */创建临时表/* 创建一个临时表,包含价格超过200的产品 */原创 2024-07-01 15:31:28 · 600 阅读 · 0 评论 -
电子商务网站 关系型数据库设计案例,小白福利
完整性与规范化: 表结构设计遵循数据库规范化原则,减少数据冗余,保证数据的一致性。业务相关性: 表结构紧密围绕业务需求设计,确保业务流程的顺畅和数据的完整性。扩展性: 留有扩展空间,如商品分类支持层级结构,方便未来增加更多分类。原创 2024-07-01 12:02:32 · 917 阅读 · 0 评论 -
myqsl 12种锁,提供12个真实业务与流程图,轻松掌握运用场景与方式
MySQL的锁设计是为了在多用户环境中管理对数据库数据的并发访问,确保数据的完整性和一致性,提供了大概12种锁,每一种锁对应的业务场景不一样,肖哥带你掌握他的使用技巧。原创 2024-06-29 17:17:02 · 605 阅读 · 0 评论