MySQL

___软件系统需要存放大量的数据 这些数据通常是非常复杂和庞大的

文件系统的缺点:

  • 很难以合适的方式组织数据
  • 很难进行数据共享 比如一个数据库需要为多个程序服务
  • 对数据进行增删改查中的复杂操作 保证单操作的原子性

常见数据库

  • 关系型数据库: MySQL、Oracle、DB2、SQL Server、Postgre SQL等
    • 关系型数据库通常我们会创建很多个二维数据表;
    • 数据表之间相互关联起来,形成一对一、一对多、多对对等关系;
    • 之后可以利用SQL语句在多张表中查询我们所需的数据;
    • 支持事务,对数据的访问更加的安全;
  • 非关系型数据库:MongoDB、Redis、Memcached、HBse等;
    • 非关系型数据库的英文其实是Not only SQL,也简称为NoSQL;
    • 非关系型数据库比较简单一些,存储数据也会更加自由(甚至我们可以直接将一个复杂的json对象直接塞入到数据库中)
    • NoSQL是基于Key-Value的对应关系,并且查询的过程中不需要经过SQL解析,所以性能更高;
    • NoSQL通常不支持事务,需要在自己的程序中来保证一些原子性的操作;
    • 比较常用的用到非关系型数据库的,在爬取大量的数据进行存储时,会比较常见;