数据库基础

1.数据库性能

TPS和QPS是衡量数据库性能的两个重要指标。

  • TPS(TransactionPerSecond):每秒传输的事件处理个数,即服务器每秒处理的事件个数。TPS包括一条消息入和一条消息出,加上一次用户数据访问。一个事件是指一个客户向服务器发送请求,到服务器做出响应的过程。在客户机发送请求时开始计时,收到服务器响应时结束计时。
  • QPS:每秒请求率,用于衡量特定的查询服务器在规定时间内所处理流量的多少。

2.非关系型数据库(NoSQL)

NOSQL(notonlysql),非关系型数据库,为解决Web2.0纯动态网站的高并发,大数据量高效存储与读写,高可扩展性和可用性而产生的一种数据库。

2.1针对Web2.0,传统关系型数据库的很多特性变得无用武之地:

  • 事务的一致性:很多Web实时系统对事件的一致性读写要求不高,因此事件的管理成为数据库高负载下的沉重负担。
  • 实时存储与读写:关系型数据库,插入一条数据后可以立即查询出来,但是对于Web系统,并不要求这么高的实时性。
  • 复杂的SQL查询,多表关联查询:大数据量的Web系统,很忌讳大表和复杂查询,在设计时就避免了表的复杂性。用得多的是单表的主键查询,简单条件分页查询等。

2.2NOSQL的优点

  • 易扩展:去掉了有关系数据库的关联特性,数据之间无关系。
  • 大数据量,高性能:具有非常高的读写性能,得益于其数据无关性和数据库结构简单。
  • 数据模型灵活:无需建立字段,随时可存储自定义的格式,增加和删除字段很方便。而大数量的关系型数据,删除字段会很麻烦。
  • 高可用性:在不太影响性能的情况下,可通过复制模型实现高可用性。
  • 不足:NoSQL项目都是开源的,缺乏供应商提供的正式支持,另外这类开源项目很多,没有统一的标准。

2.3主流NoSQL数据库:

Membase,MongoDB(介于关系型与非关系型之间),Hypertable,ApacheCassandra,CouchDB

相关推荐