数据库随笔第一天
非关系型数据库
key-value:Memcached,Redis,MemcacheDB,BerkeleyDB
列存储数据库:
Column-oriented:Cassandra(360),HBase(sina)
面向文档数据库:
Document-oriented:MongoDB,CouchDB
图形数据库:
Graph:Neo4J,InfoGid
运维DBA--
网站最大瓶颈是后台的数据库和存储,及难扩展。
通常缓解方式是通过Memcache(缓存)以及做静态的方式来缓解90%的压力--逻辑思维:团队精神,让前端分享你的压力
什么是数据库:
通俗来讲就是存放数据的仓库,仓库是按照一定的数据结构来组织和存储的。
我们通过多种方法来管理数据库。
数据库的种类:
1.关系型数据库
简单的二维表格形式,使用结构化查询语言,sql语句来对数据进行存取,主要产品Oracle和MySQL
2.非关系型数据库
NoSQL=Not Only SQL
是关系型数据库的补充
诞生原因:Web2.0的兴起,动态请求越来越高,高并发高吞吐的应用场景,关系型数据库难以招架
产品:
商业-- Google:BigTable和Amazon:Dynamo
非商业(开源)--Facebook:Cassandra,Apache:HBASE,Redis,mongodb
产品介绍:
Oracle:传统行业
MySQL:互联网企业
Memcache:内存缓存,进程挂了,数据丢失。新浪开发了MemcacheDB,定期写入磁盘
Redis:数据都是缓存在内存中,区别是redis会周期性的更新的数据写入磁盘或者把修改操作写入追加的记录工作。
特点:支持内存缓存;支持持久化;数据类型更丰富;支持集群分布式;支持队列等特殊功能;
MongoDB:介于关系型和非关系中间的数据库
Cassandra:360公司再用
MariaDB:MySQL的分支
MYSQL入门知识:
MySQL:性能卓越,服务稳定,很少异常宕机;
无版权,开放源码;
体积小,容易安装;
支持多种操作系统,提供多种API接口,流行phd语言很好支持;
MySQL的数据库分类:
采取双授权政策:社区版和商业版
四个版本: Alpha版 内部测试
Beta版 用户体验
RC版 根据Beta的补丁之后的版本
GA版 正式版本
互联网主要用:5.5
版本使用流程:
稳定版选择稳定版GA版->产品5.6->选择发布6个月以上的GA版本->选择没有大的BUG的版本->较长时间没有更新的版本->考虑开发人员使用版本的
兼容性->作为内部测试环境跑3-6个月->优先企业非核心业务->向大牛们请教->然后作为数据库版本软件
安装方式:
1.yum安装: yum install mysql-server
适用于对数据库要求不高,并发不大,公司内部的一些环境
大的门户网站:根据企业的需求做成rpm,搭建yum仓库,yum安装
2.编译安装:make安装
3.采用cmake方式编译安装MySQL
4.二进制方式-免编译安装
建议:cmake的方式,数量多采用二进制