数据库知识入门

Posted 谁能不挨刀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库知识入门相关的知识,希望对你有一定的参考价值。

  最近总在胡思乱想,不知何去何从,TM20来岁的大好青年突然就莫名有了中年危机感了。也是没谁了,由于行业决定,硬盘里面的东西乱七八糟挺多的...没错,各种学习笔记,突然发现以前的自己是这么的爱学习,看看还挺有用的,于是就重走长征路,温故而知新,做个迁移吧。

目前我们常用的数据库主要就是两类:

关系型数据库和非关系型数据库

关系型数据库:

  1. 把复杂的数据结构归结为简单的二元关系(二维表格形式)
  2. 结构化查询语言sql语句对数据进行存取
  3. 典型产品:mysql和oracle

非关系型数据库:

  1. 就是为了解决web2.0时代高并发,灵活性问题。
  2. Google的BigTable
  3. Amazon的Dynamo成功的商用NoSQL
  4. Facebook的Cassandra
  5. Apache的HBase
  6. 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的优势:

  1. 大中小互联网企业都在用,如:BAT
  2. MySQL性能卓越,服务稳定,很少出现异常宕机
  3. MySQL开发源代码且无版权制约,自主性及使用成本低
  4. MySQL历史悠久,社区及用户非常活跃,遇到问题,可以寻求帮助
  5. MySQL软件体积小,安装使用简单,易于维护,安装及维护成本低
  6. MySQL品牌口碑效应好,LAMP,LNMP流行架构。
  7. MySQL支持多种操作系统,提供多种API接口,支持多种开发语言,特别对流行的php语言有很好的支持,时下比较热门的python,MySQL也提供了api,MySQL-python

如何选择合适的MySQL版本:

  1. 稳定版:选择社区版的稳定版GA版
  2. 选择MySQL数据库GA版本发布后6个月以上的GA版本
  3. 要选择前后几个月没有大的BUG修复的版本
  4. 最好向后较长时间没有更新发布的版本
  5. 要考虑开发人员开发程序使用的版本是否兼容你选的版本
  6. 作为内部开发测试数据库环境,跑大概3-6个月的时间
  7. 有限企业非核心业务采用新版本的数据库GA版本
  8. 向DBA高手请教,看看大家都有用哪个GA版本产品
  9. 经过上述工序后,若没有重要bug或性能瓶颈就可以上业务了。

 

以上是关于数据库知识入门的主要内容,如果未能解决你的问题,请参考以下文章

知识图谱知识图谱入门详细介绍

iOS入门小知识-数组

知识图谱入门

数据库入门理论知识介绍

python大数据挖掘系列之基础知识入门 知识整理(入门教程含源码)

大数据笔记:大数据启蒙与入门知识