数据库知识入门
Posted 谁能不挨刀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库知识入门相关的知识,希望对你有一定的参考价值。
最近总在胡思乱想,不知何去何从,TM20来岁的大好青年突然就莫名有了中年危机感了。也是没谁了,由于行业决定,硬盘里面的东西乱七八糟挺多的...没错,各种学习笔记,突然发现以前的自己是这么的爱学习,看看还挺有用的,于是就重走长征路,温故而知新,做个迁移吧。
目前我们常用的数据库主要就是两类:
关系型数据库和非关系型数据库
关系型数据库:
- 把复杂的数据结构归结为简单的二元关系(二维表格形式)
- 结构化查询语言sql语句对数据进行存取
- 典型产品:mysql和oracle
非关系型数据库:
- 就是为了解决web2.0时代高并发,灵活性问题。
- Google的BigTable
- Amazon的Dynamo成功的商用NoSQL
- Facebook的Cassandra
- Apache的HBase
- Redis,mongodb也想当受到追捧(我们公司用的就是mongo,具体细节不展开)
按照设计种类大致可分为:
1)键值(Key-Value)存储数据库
Key/value模型对于IT系统来说的优势在于简单、易部署、高并发。
典型产品:Memcached,Redis,MemcacheDB,Berkeley DB
2)列存储(Column-oriented)数据库
典型产品:Cassandra,HBase
3)面向文档(Document-Oriented)的数据库
典型产品:MongoDB,CouchDB
4)面向图形(Graph)的数据库
典型产品:Neo4J,InfoGird
各个种类数据库的适用场景
Orical:传统大企业,大公司,政府,金融,证券等,跑在IBM的小型机的(不过大家也都在去IOE)
MySQL:大中小型企业,互联网公司,游戏公司,电商平台等
MariaDB:MySQL的替代品
SQL Server:微软的,Windows平台
Access:入门级桌面小型数据库
非关系型数据库:
Mencached(Key-Value)数据库
断电数据丢失,解决:Memcachedb新浪开发的
redis(key-value)
redis的数据都是缓存在内存中。区别是redis会周期性的把更新的数据写入磁盘
或把修改操作写入追加到记录文件。
Mongodb介于关系和非关系之间的数据库
我们的主角是MySQL
MySQL的优势:
- 大中小互联网企业都在用,如:BAT
- MySQL性能卓越,服务稳定,很少出现异常宕机
- MySQL开发源代码且无版权制约,自主性及使用成本低
- MySQL历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助
- MySQL软件体积小,安装使用简单,易于维护,安装及维护成本低
- MySQL品牌口碑效应好,LAMP,LNMP流行架构。
- MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的php语言有很好的支持,时下比较热门的python,MySQL也提供了api,MySQL-python
如何选择合适的MySQL版本:
- 稳定版:选择社区版的稳定版GA版
- 选择MySQL数据库GA版本发布后6个月以上的GA版本
- 要选择前后几个月没有大的BUG修复的版本
- 最好向后较长时间没有更新发布的版本
- 要考虑开发人员开发程序使用的版本是否兼容你选的版本
- 作为内部开发测试数据库环境,跑大概3-6个月的时间
- 有限企业非核心业务采用新版本的数据库GA版本
- 向DBA高手请教,看看大家都有用哪个GA版本产品
- 经过上述工序后,若没有重要bug或性能瓶颈就可以上业务了。
以上是关于数据库知识入门的主要内容,如果未能解决你的问题,请参考以下文章