讲解数据库基本知识,关系型数据库和非关系型数据库的对比,非关系型数据库的分类以及其应用场景,最后介绍MySQL数据库。
数据库的分类和比较
数据库分类
-
1.关系型数据库
- MariaDB,和MySQL很类似,是其一个分支,安装、部署、语句都和MySQL很像;
- SQLite,嵌入式数据库,非常小,可以将其嵌入到手机上或者一些嵌入式开发PCB板上,其非常小,甚至只有几K,甚至几兆,几十兆
- MySQL
- SQLServer
- PostgreSQL
- ORACLE
- excel
-
2.非关系型数据库(NoSQL(not only sql))(百度百科)
- MongoDB
- redis
- Cassandra
- Neo4j
- HBASE
- CouchDB
非关系型数据库分类
举例 |
CouchDB,MongoDB |
典型应用场景 |
Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) |
数据模型 |
Key-Value对应的键值对,Value为结构化数据 |
强项 |
数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 |
弱项 |
查询性能不高,而且缺乏统一的查询语法 |
{
"name":"张三",
"age":20,
"sex":"",
},
{
"name":"李四",
"age":21,
}json
举例 |
Redis,Voldemort,Oracle BDB |
典型应用场景 |
内容缓存,主要用于处理大量数据的高访问负载,也可用于一些日志系统等等。 |
数据模型 |
Key 指向Value的键值对,通常用hash table来实现 |
强项 |
查找速度快 |
弱项 |
数据无结构化,通常只被当作字符串或者二进制数据 |
如宿舍,五栋6楼601室1号床位
k 5 -6 601 -1 -v
举例 |
Cassandra,HBase,Riak |
数据模型 |
以列簇式存储,将同一列数据存在一起 |
强项 |
查找速度快,可扩展性强,更容易进行分布式扩展 |
弱项 |
功能相对局限 |
举例 |
Neo4J,InfoGrid,Infinite Graph |
典型应用场景 |
社交网络,推荐系统等。专注于构建关系图谱结构。 |
数据模型 |
图结构。 |
强项 |
利用图结构相关算法。比如最短路径寻址,N度关系查找等 |
弱项 |
很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。 |
MySQL简介
MYSQL介绍(百度百科)