关系型数据库

mysql SQL Server Oracle Sybase DB2等。关系型数据库是目前最受欢迎的数据库管理系统,技术比较成熟。

MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,与其他的大型数据库Oracle、DB2、SQL Server等相比,MySQL虽然有它的不足之处,但丝毫也没有减少它受欢迎的程度。对于个人或中小型企业来说,MySQL的功能已经够用了,MySQ L又是开源软件,因此没有必要花大精力和大价钱去使用大型付费数据库管理系统了。
特点:
1、MySQL是开源免费的。
2、MySQL服务器是可靠的、易于使用的、快速的。
3、MySQL服务器工作在客户/服务器或嵌入系统中。
4、MySQL软件很多。
5、MySQL是一个关系数据库管理系统。
社区版包含mysql所有最新功能,企业版只包含稳定功能,只能企业版进行维护

SQL Server

SQL Server是由微软公司开发的关系型数据库管理系统,一般用于Web上存储数据。SQL Server 提供了众多功能,如对XML和Internet标准的丰富支持,通过Web对数据轻松安全的访问,具有灵活的、安全的、和基于Web的应用程序管理等,及容易操作的操作界面,受到广大用户的喜爱。只能windows系统下运行

Oracle

Oracle在数据库领域一直处于领先地位,由于有先进技术的不断更新,目前Oracle产品覆盖甚广,成为了世界上使用最广泛的关系数据系统之一。
完整的数据管理功能:
1、数据的大量性
2、数据的保存的持久性
4、数据的共享性
5、数据的可靠性

Sybase

Sybase美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。
特点:
1、客户/服务器体系结构
2、真正开放的
3、高性能的

DB2

DB2是美国IBM公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性。

非关系型数据库

  • 非关系型数据库也叫Nosql数据库,全称是not noly sql。
  • 2009年初,Johan Oskarsson举办了一场关于开源分布式数据库的讨论,Eric Evans在这次讨论中提出了NoSQL一词,用于指代那些非关系型的,分布式的,且一般不保证遵循ACID原则的数据存储系统。Eric Evans使用NoSQL这个词,并不是因为字面上的“没有SQL”的意思,他只是觉得很多经典的关系型数据库名字都叫“**SQL”,所以为了表示跟这些关系型数据库在定位上的截然不同,就是用了“NoSQL“一词。
  • 非关系型数据库提出另一种理念,例如,以键值对存储,且结构不固定,每一个元组可以有不一样的字段,每个元组可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。使用这种方式,用户可以根据需要去添加自己需要的字段,这样,为了获取用户的不同信息,不需要像关系型数据库中,要对多表进行关联查询。仅需要根据id取出相应的value就可以完成查询。
  • Mongodb Redis Memcached

    关系型数据库与非关系型数据库的区别

    关系型数据库通过外键关联来建立表与表之间的关系,非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
    nosql数据库的特点:

  • 模式自由

  • 不需要定义表结构,数据表中的每条记录都可能有不同的属性和格式。
  • 逆规范化
  • 不遵循范式要求,去掉完整性约束,减少表之间的依赖
  • 弹性可扩展
  • 可在系统运行的过程中,动态的删除和增加节点。
  • 多副本异步复制
  • 数据快速写入一个节点,其余节点通过读取写入的日志来实现异步复制。
  • 弱事务
  • 不能完全满足事务的ACID特性,但是可以保证事务的最终一致性。

    什么时候用nosql数据库

  • 数据库表schema经常变化

  • 数据库表字段是复杂数据类型
  • 高并发数据库请求
  • 海量数据的分布式存储