技术博客-数据库

Posted by xiezg247 on January 1, 2016

基础理论

数据库设计的三大范式

  • 《数据库的三大范式以及五大约束》
    • 第一范式:数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性;
    • 第二范式(2NF):满足1NF后,要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系,也就是说一个表只描述一件事情;
    • 第三范式:必须先满足第二范式(2NF),要求:表中的每一列只与主键直接相关而不是间接相关,(表中的每一列只能依赖于主键);

MySQL

原理

InnoDB

优化

索引

聚集索引, 非聚集索引

MyISAM 是非聚集,InnoDB 是聚集

复合索引

自适应哈希索引(AHI)

explain

NoSQL

MongoDB

  • MongoDB 教程
  • 《Mongodb相对于关系型数据库的优缺点》
    • 优点:弱一致性(最终一致),更能保证用户的访问速度;内置GridFS,支持大容量的存储;Schema-less 数据库,不用预先定义结构;内置Sharding;相比于其他NoSQL,第三方支持丰富;性能优越;
    • 缺点:mongodb不支持事务操作;mongodb占用空间过大;MongoDB没有如MySQL那样成熟的维护工具,这对于开发和IT运营都是个值得注意的地方;

Hbase