
数据库
Michael_Good
脚踏实地,不负时光!
展开
-
【数据库SQLite】SQLite 约束
约束是在表的数据列上强制执行的规则。这些是用来限制可以插入到表中的数据类型。这确保了数据库中数据的准确性和可靠性。约束可以是列级或表级。列级约束仅适用于列,表级约束被应用到整个表。原创 2023-07-24 20:46:17 · 253 阅读 · 0 评论 -
【数据库】NoSQL通常为什么不支持事务以及ACID
NoSQL 数据库通常采用分布式架构,数据存储在多个节点上,为了保证高可用性和可扩展性,通常采用副本集和分片等技术。ACID 是指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability),这些特性保证了事务的可靠性和完整性。但是,实现 ACID 特性需要对数据进行严格的锁定和同步,这会影响数据库的性能和可扩展性。虽然 NoSQL 数据库不支持 ACID 特性,但是它们通常提供了其他的数据一致性保证机制,例如乐观锁、版本控制、分布式事务等。原创 2023-07-24 19:29:17 · 1172 阅读 · 0 评论 -
【数据库】轻量级数据库汇总,优劣排点
MongoDB:MongoDB 是一种面向文档的 NoSQL 数据库,它的数据存储在 BSON 格式的文档中,支持动态查询、索引、复制、故障恢复等功能。LevelDB:LevelDB 是 Google 开发的一种轻量级键值存储数据库,它的数据存储在本地文件中,支持多种数据结构,包括字符串、二进制数据等。Redis:Redis 是一种基于内存的键值存储数据库,它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。Redis 的优点包括高性能、支持丰富的数据结构、支持事务、支持持久化等。原创 2023-07-24 19:28:14 · 4439 阅读 · 0 评论 -
【C/C++】MySQL 为什么选择 B+ 树作为底层数据结构
(1170: 指第一层总共有1170子节点指针,说明第二层存在1170个叶子节点;所以,2层树高的B+树,可以存放 1170 * 16 条数据记录)。相反,B树的叶子节点与非叶子节点数据结构一致(存放 数据记录+子节点指针 + 关键字),导致,B树非叶子节点可存放子节点指针空间减少,树高度增高,IO次数增多,性能降低。新增了一层非叶子节点,则需要多乘以一层的子节点数量,这里就已经满足千万级别数据量的数据库)。,所以一个B+树非叶子节点可以存放更多子节点信息,有利于降低树高度,从而减少搜索IO次数。原创 2023-04-23 21:10:51 · 919 阅读 · 0 评论