【数据分析三:Data Storage】数据存储
数据真是越来越多啊
正文开始
一、数据
结构化数据
可以使用关系型数据库表示和存储的数据,拥有固定结构
半结构化数据
弱结构化,虽然不符合关系型数据模型的要求,但是含有相关的标记(自描述结构),分割实体及其属性 。如:XML,JSON等
非结构化数据
没有固定数据结构,或很难发现统一数据结构的数据
文档,文本,图片,视频,音频等
二、数据库
数据库(Database, DB)
长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库管理系统(Database Management System, DBMS)
位于用户与操作系统之间的一层数据管理软件
数据库系统(Database System,简称DBS)
在计算机系统中引入数据库后的系统构成
DB、DBMS(及其开发工具)、应用系统、数据库管理员
关系型数据库系统(SQL)
关系模型中数据的逻辑结构是一张二维表,行与列
特点:结构化
概念:关系,属性,元组
优点1:管理效率高(十万,百万,千万… )
数据库的安全性:自主存取控制与强制存取控制
自主存取控制(Discretionary Access Control ,简称DAC)
用户可“自主”地决定将数据的存取权限授予何人、决定是否也将“授予”的权限授予别人
强制存取控制(Mandatory Access Control,简称 MAC)
系统“强制”地给用户和数据标记安全等级
(1)仅当主体(如用户)的许可证级别大于或等于客体(数据,表,索引等)的密级时,该主体才能读取相应的客体
(2)仅当主体的许可证级别小于或等于客体(数据)的密级时,该主体才能写相应的客体
数据库的效率:索引
建立索引(Index)的目的:加快查询速度
谁可以建立索引
DBA 或 表的属主(即建立表的人)
DBMS一般会自动建立以下列上的索引
PRIMARY KEY
UNIQUE
谁维护索引
DBMS自动完成
使用索引
DBMS自动选择是否使用索引以及使用哪些索引
RDBMS中索引一般采用B+树、HASH索引来实现
B+/B-树索引具有动态平衡的优点
HASH索引具有查找速度快的特点
NoSQL(Not Only SQL)
非关系型的DBMS,不同于传统关系型DB的DBMS的统称
超大规模数据存储,不需要固定模式,无需多余操作横向扩展
为什么NoSQL?(大数据)
数据量的飞速增长:GB-TB-PB
RDBMS的范式约束、事务特性、磁盘IO等特点的限制
开发需求的前期不明确
如果要详细学习NoSQL:可以学习MongoDB
MongoDB VS MySQL
NoSQL适用于
数据模型比较简单;
需要灵活性更强的IT系统;
对DBMS性能要求较高;
不需要高度的数据一致性;
对于给定key,比较容易映射复杂值的环境
附:想要查看各个数据库的使用排名,可以去看如下链接
https://db-engines.com/en/rankinghttps://db-engines.com/en/ranking
三、爬虫及数据库学习分享链接
Beautiful Soup
Beautiful Soup 4.4.0 文档 — beautifulsoup 4.4.0q 文档http://beautifulsoup.readthedocs.io/zh_CN/latest/
MongoDB教程
MongoDB 教程 | 菜鸟教程MongoDB 教程 MongoDB是一个流行的开源文档型数据库,它使用类似 JSON 的文档模型存储数据,这使得数据存储变得非常灵活。 MongoDB 是一个基于文档的 NoSQL 数据库,由 MongoDB Inc. 开发。 MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。 现在开始学习 ..http://www.runoob.com/mongodb/mongodb-tutorial.html
CSS选择器教程
CSS 选择器参考手册http://www.w3school.com.cn/cssref/css_selectors.asp
jsoup教程
http://blog.csdn.net/column/details/jsoup.htmlhttp://blog.csdn.net/column/details/jsoup.html
scrapy教程
Scrapy入门教程 — Scrapy 0.24.6 文档http://scrapy-chs.readthedocs.io/zh_CN/0.24/intro/tutorial.html
下一讲,我们将讲述数据预处理