数据库分类

早期数据库模型有三种,分别为层次式数据库、网络式数据库和关系型数据库。

而在当今的互联网中,通常把数据库分为两类,即关系型数据库和非关系型数据库。

关系型数据库

关系型数据库是指采用了关系模型来组织数据的数据库,而关系模型是由二维表及其联系组成的数据组织。

优点:

1、易于维护:都是使用表结构,格式一致;

2、使用方便:SQL语言通用,可用于复杂查询;

3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

1、读写性能比较差,尤其是海量数据的高效率读写;

2、固定的表结构,灵活度稍欠;

3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。

目前主流的关系型数据库有

MYSQL

目前使用最广泛的开源、多平台的关系型数据库,支持事务、符合ACID、支持多数SQL规范

SQL Server

支持事务、符合ACID、支持多数SQL规范,属于商业软件,需要注意版权和licence授权费用

Oracle

支持事务,符合关系型数据库原理,符合ACID,支持多数SQL规范,功能最强大、最复杂、市场占比最高的商业数据库

Postgresql

开源、多平台、关系型数据库,功能最强大的开源数据库,需要python环境,基于postgresql的TimeScaleDB,是目前比较火的时序数据库之一。(更多学习内容,请点击python学习网)

非关系型数据库

非关系型数据库也称为NOSQL(Not Only SQL),作为关系型数据库的一个补充,能在特定场景和特点问题下发挥高效率和高性能。

常见的非关系型数据库类型有键值(Key-Value)存储数据库和面向文档数据库(Document-oriented)

键值存储数据库类似hash,通过key做添加、删除、查询,性能高,优势在于简单、易部署、高并发,主要产品有

Redis

开源、Linux平台、key-value键值型Nosql数据库,简单稳定,非常主流的、全数据in-momory、定位于“快”的键值型nosql数据库

Memcaced

一个开源的、高性能的、具有分布式内存对象的缓存系统,通过它可以减轻数据库负载,加速动态的web应用

面向文档数据库以文档的形式存储,每个文档是一系列数据项的集合,每个数据项有名称与对应的值,主要产品有

MongoDB

开源、多平台、文档型nosql数据库,“最像关系型数据库”,定位于“灵活”的nosql数据库。适用于网站后台数据库(更新快、实时复制)、小文件系统(json,二进制)、日志分析系统(数据量大的文件)。

知识点扩展:

Python的数据库支持

经过两个多月的学习,我们对Python的基础语法大概都已经学完了,接下来我们要把我们学到的东西逐步用到应用的层面上。今天,我们要学的是,用Python实现数据库的对接。

我们先来讲一下什么是api,在编程语言的学习中,我们经常会接触到api这个词,那么究竟什么是api,简单来说就是一个接口,像java的api,有一个专门的api文档提供查询。Python数据库的api是DB API。我们主要讲的api版本是DB API2.0。

Python DB API有三个模块属性:

1、apilevel:这个属性主要是用来定义使用的Python DB API 的版本,像我们上面说的DB API 2.0;

2、threadsafety:这个是用来定义模块的线程安全度;

该参数是一个0到3的整数,0表示线程不能共享模块,1表示线程可共享模块本身,2表示线程可共享模块和连接, 但不能共享游标,3表示模块是绝对线程安全的。

3、paramstyle:这个属性定义在SQL查询中使用哪种参数风格,这里说明一下,SQL是指数据库的意思。

这个我们就不具体讲了,因为现在刚接触新知识,引入这个知识点,会很容易感到迷茫。

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com