学习SQL

SQL是 Structured Query Language(结构查询语言)的简称。
常见的数据库有MySQL,SQL server,Oracle,DB2,Redis,mangoDB。
所有的关系型数据库都可以使用通用的SQL语言。
MySQL:瑞典MySQLAB推出,关系型数据库,开源免费,适用于Web网站,日志管理,数据仓库,嵌入式系统等小型系统。
SQL server:微软Microsoft推出,关系型数据库,收费,可视化,安全性与稳定性较好,适用于企业级海量数据存储查询。
Oracle:美国甲骨文公司推出,关系型数据库,收费,跨平台,安全和结构都是稳定的,对管理员要求高,常用于金融,电信领域。
DB2:美国IBM公司推出,关系型数据库,收费,适用于企业级海量数据(全球80%的大公司使用DB2数据库服务器),常用于银行领域。
Redis:
mangoDB:
PS:MySQL后来被Sun公司收购,接着Oracle公司又收购了Sun公司。所以现在MySQL和Oracle都属于Oracle公司。

关系型数据库的优势和劣势:
优势:
(1)易于维护:都使用表结构,格式一致;
(2)使用方便:SQL语言通用,可用于复杂查询;
(3)复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询;
劣势:
(1)读写性能较差,尤其是海量数据的读写;
(2)硬盘I/O要求高:网站用户并发性非常高(每秒上万次读写请求),对于传统关系型数据库来说,硬盘I/0是一个很大的瓶颈。
(3)拓展困难:在基于web的结构中,数据库是最难进行横向扩展。当需要对数据库进行升级和扩展时。往往需求停机维护和数据迁移;
(4)性能欠佳:在关系型数据库中,导致性能欠佳的主要原因是多表的关联查询,和复杂的数据分析类型的复杂的SQL报表查询;
非关系型数据库的优势和劣势:
优势:
(1)格式灵活:存储数据的格式可以是key-value形式,文档形式,图片形式等等,而关系型数据库只支持基础类型。
(2)查询便捷:为了获取用户的不同信息,可以添加自己需要的字段。仅需要根据id取出相应的value就可以完成查询。
(3)高性能:Nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库使用硬盘;
(4)高扩展性:Nosql基于键值对的存储结构,数据之间没有耦合性,所以非常容易水平扩展。
(5)成本低:Nosql数据库部署简单,基本都是开源软件。

劣势:
(1)不提供sql支持,学习和使用成本较高;
(2)没有事务处理;
(3)只适合存储较简单的数据,需要复杂性查询的数据,关系型数据库更合适。
(4)不适合持久存储海量数据;

ps:
CAP理论:
一个分布式系统不可能同时满足C(移植性),A(可用性),P(分区容错性/严格性)三个基本需求,并且最多只能满足其中两项。对于分布式系统来说,分区容错是基本需求,否则不能称之为分布式需求,因此需要在C和A之间寻求平衡。

C(一致性)是指更新操作成功并返回客户端完成后,所有节点在同一时间的数据完全一致。
A(可用性)是指服务一直可用,而且是正常响应时间。
P(分区容错性)是指分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值