MySQL流浪记(一)—— 初步认识数据库的内涵

认识数据库

  数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内、有组织、可共享、统一管理的大量数据的集合。可以将数据库视为一个电子化的文件柜,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

  数据库是一个按数据结构来存储和管理的计算机软件,实际包含两层意思:
  1.数据库是一个整体,他是能够合理保管数据的一个“仓库”,用户在这个“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为数据库。
  2.数据库是数据管理的新方法和技术,他能更合适的组织数据、更方便的维护数据、更严密的控制数据和更有效的利用数据。

数据库发展现状

  在数据库的发展历史上,数据库先后经历了层次数据库、网状数据库和关系数据库等各个阶段的发展,数据库技术在各个方面的快速发展。特别是关系型数据库已经成为了目前数据库产品中最重要的一员,80年代以来,几乎所有的数据库厂商新出的数据库产品都要支持关系型数据库,即使一些非关系型数据库产品页几乎都有支持关系型数据库的接口。这主要是传统的关系型数据库可以比较好的解决管理和存储关系型数据的问题。随着云计算的发展和大数据时代的到来,关系型数据库越来越无法满足需要,这主要是由于越来越多的半关系型和非关系型数据需要用数据库进行存储管理,以此同时,分布式技术等新技术的出现也对数据库的技术提出了新的要求,于是越来越多的非关系型数据库就开始出现,这类数据库与传统的关系型数据库在设计和数据结构有了很大的不同,他们更强调数据库数据的高并发读写和存储大数据,这类数据库一般称为NoSQL(Not only SQL)数据库。而传统的关系型数据库在一些传统领域依然保持了强大的生命力。

数据库的分类

关系型数据库

  关系型数据库存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。常见关系型数据库有MySQL、Oracle、SQLite、SQLServer、等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。

  数据的组织形式使用""作为结构,首先得有一个表头,表头中约定了有很多列,以及每一列的类型。插入的数据就是表中的一行,这一行里的每一列都需要和表头的结构一一对应,对于数据的“约束”(对于数据合法性的校验)比较强。

非关系型数据库(NoSQL)

  随着近些年技术方向的不断拓展,大量的非关系型数据库如MongoDB、Redis、Memcahe出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。

  NoSQL数据库适合追求速度和可扩展性、业务多变的应用场景。对于非结构化数据的处理更合适,如文章、评论,这些数据如全文搜索、机器学习通常只用于模糊处理,并不需要结构化数据一样,进行精确查询,而且这类数据的数据的数据规模往往是海量的,数据规模的增长往往也是不可预期的,而NoSQL数据库的扩展能力几乎是无限的,所以NoSQL数据库可以很好的满足这一类数据的存储。

  数据的组织形式使用"键值对"作为结构,类似于Map。存储的时候需要指定K-V值,每组数据的value中包含的字段没有明确的要求,这样相对来说对数据的约束更低。相比于关系型数据库,牺牲了一部分的功能,但是换来了更高效率以及更强的水平扩展能力,更适用于分布式系统中。

非关系型数据库与关系型数据库的区别

存储方式

  传统的关系型数据库采用表格的存储方式,数据以行和列的方式进行存储,要读取和查询都十分方便。而非关系型数据库不适合这样的表格存储方式,通常以数据集的方式,大量的数据集中存储在一起,类似于键值对、图结构或者文档。

存储结构

  关系型数据库按照结构化的方法存储数据,每个数据表都必须对各个字段定义好,再根据表的结构存入数据,这样做的好处就是由于数据的形式和内容在存入数据库之前就已经定义好了,所以整个数据表的可靠性和稳定性比较高,但带来的问题就是一旦存入数据后,如果修改数据表的结构就会十分困难。而NoSQL数据库由于面对的是大量非结构化的数据的存储,它采用的动态结构,对于数据类型和结构的改变非常的适应,可以根据数据存储的需要灵活的改变数据库的结构。

存储规范

  关系型数据库为了避免重复、规范化数据以及充分利用好存储空间,把数据按照最小关系表的形式进行存储,这样的数据管理的就可以变得很清晰、一目了然,当然这主要是一张数据表的情况。如果是多张表情况就不一样了,由于数据涉及到多张数据表,数据表之间存在着复杂的关系,随着数据表数量的增加,数据管理会越来越复杂。而NoSQL数据库的数据存储方式是用平面数据集的方式集中存放,虽然会存在数据被重复存储,从而造成存储空间被浪费的问题,但是由于基本上单个数据库采用独立存放的形式,很少采用分割存放的方式,所以这样数据往往能存成一个整体,这对于数据的读写提供了极大的方便。

扩展方式

  当前社会和科学飞速发展,要支持日益增长的数据库存储需求当然要求数据库有良好的扩展性能,并且要求数据库支持更多数据并发量,扩展方式是NoSQL数据库与关系型数据库差别最大的地方,由于关系型数据库将数据存储在数据表中,数据操作的瓶颈出现在多张数据表的操作中,而且数据表越多这个问题越严重,如果要环节这个问题,只有提高处理能力,也就是选择速度更快性能更高的计算机,这样的方法虽然可以一定的拓展空间,但这样的拓展空间是非常有限的,也就是说关系型数据库之具备纵向扩展能力。而NoSQL数据库由于使用的是数据集的存储方式,他的存储方式一定是分布式的,它可以采用横向的方式来开展数据库,也就是可以添加更多的数据库服务器到资源地,然后有这些增加的服务器来负担数据量增加的开销。

查询方式

  关系型数据库采用结构化的查询语句SQL)来对数据进行查询,SQL早已获得了各个数据库厂商的支持,成为数据库行业的标准,它能够支持数据课的CRUD(增加、查询、更新、删除)操作,具有非常强大的功能,SQL可以采用索引来加快查询操作。NoSQL数据课使用的是非结构化的查询语言UnQL),他以数据集位单位来管理和操作数据,由于他没有一个统一的标准,所以每个数据课厂商提供的产品标准是不一样的,NoSQL中的文档ID与关系型表中的主键概念类似,NoSQL数据库采用的数据访问方式相对于SQL更简单而精确。

规范化

  在数据库的设计开发国中开发人员通常会面对同时需要对一个或者多个数据实体进行操作,这样在关系型数据库中,一个数据实体一般首先要分割成多个部分,然后再对分割的部分进行规范化,规范化以后再分别存入到多张关系型数据表中,这是一个复杂的过程。对于NoSQL数据库来说是没有这方面的问题,它不需要规范化数据,它通常是再一个单独的存储单元中存入一个复杂的数据实体。

事务性

  关系型数据库强调的是ACID规则原子性、一致性、隔离性、持久性),可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作,而且可以充分满足数据库操作的高性能和操作稳定性的要求。并且关系型数据库十分强调数据的强一致性,对于事务的操作有很好的支持。关系型数据库可以控制事务原子性细粒度,并且一旦操作有误或者有需要,可以立马回滚事务。而NoSQL数据库强调BASE原则基本可用、软状态、最终一致性),他减少了对数据的强一致性,从而获得了基本一致性和柔和可靠性,并且利用以上的特性达到了高可靠性和高性能,最终达到了数据的最终一致性。NoSQL数据库虽然对于事务操作也可以使用,但由于他是一种基于节点的分布式数据库,对于事务的操作不能很好的支持,页很难满足其全部的需求,所以NoSQL数据库的性能和优点更多的体现在大数据的处理和数据库的扩展方面

读写性能

  关系数据库十分强调数据的强一致性,并且为此降低读写性能付出了巨大的代价,虽然关系型数据库存储数据和处理数据的可靠性很不错,但是一旦面对海量数据的处理的时候笑了就回变得很差,特别是遇到高并发的时候性能就会下降的非常厉害。而NoSQL数据库相对关系数据库优势最大的恰恰是对大数据方面,也就是对于大量的每天都产生非结构化的数据能够高性能的读写,这是因为NoSQL数据库是按照key-value类型进行存储的,以数据机的方式存储的,因此无论是扩展还是读写都非常的容易,并且NoSQL数据库不需要关系型数据库繁琐的解析,所以NoSQL数据库大数据管理、检索、读写、分析意识可视化方面具有关系型数据库不可比的优势。

授权方式

  关系型数据库常见的有MySQL、Oracle、SQL Server、DB2,但是除了MySQL大多数的关系型数据库如果要使用都需要支付一笔价格高昂的费用,即使是免费的MySQL性能也受到了诸多的限制。而对于NoSQL数据库,比较主流的有redis、HBase、MongoDb,memcache等产品,通常采用的是开源方式,不需要像关系型数据库那用,需要一笔高昂的花费。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一篇文章搞懂数据仓库:元数据分类、元数据管理

目录 1、业务元数据 2、技术元数据 3、管理元数据 4、小编有话 1、业务元数据 描述 ”数据”背后的业务含义 主题定义:每段 ETL、表背后的归属业务主题。 业务描述:每段代码实现的具体业务逻辑。 标准指标:类似于 BI 中的语义层、数仓…

MEMS传感器科普文

来源:MEMS技术MEMS 的全称是微型电子机械系统,利用传统的半导体工艺和材料,集微传感器、微执行器、微机械机构、信号处理和控制电路、高性能电子集成器件、接口、通信和电源等于一体的微型器件或系统。具有小体积、低成本、集成化等特点。MEM…

silverlight 缺少对象错误

如果你的silverlight程序用vs调试时候运行良好,没有错误.你满怀欣喜的发布到iis上,一浏览,跳出个对话框,告诉你缺少对象.那么请不要慌张,你应该检查一下,你发布silverlight程序到iis的时候,有没有设置MIME类型,如果忘了设置,赶紧设置上吧,方法如下: 打开iis管理器,在网站上右键…

NFS服务器原理、搭建、配置

目录 NFS服务简介 什么是NFS? NFS挂载原理: RPC与NFS通讯原理: NFS客户端和NFS服务器通讯过程: Linux下NFS服务器部署 NFS服务所需软件及主要配置文件: 服务端安装NFS服务步骤: NFS客户端挂载配置…

MySQL流浪记(二)—— MySQL介绍及其特性

MySQL介绍 MySQL是一个关系型数据库,是一个开放源码的关系型数据库管理系统,原开发者位瑞典的MySQL AB公司,该公司于2008年被昇阳为系统(Sun)收购,2009年,甲骨文公司(Oracle&#xf…

学习AutoIt

学习AutoIt转载于:https://www.cnblogs.com/bull_think/archive/2012/08/21/2649839.html

2021年03月-程序员薪资分布,看看你拖后腿了吗?

程序员工资是不确定的,要根据程序员的历、能力、工作经验、是否刚毕业、工种,工资是不一样的,还与地域和公司有关,但是总的来说,程序员工资都是很高的,是很多人都羡慕的职位。 那么程序员的薪资到底多高呢…

Science:领导决策的计算和神经生物学基础

来源:思影科技摘要:最近,来自苏黎世大学的Micah G. Edelson等人在SCIENCE上发文,他们将基于知觉和价值决策的模型结合起来,以评估被试对每一个决策行为的个人效用,从而梳理出选择领导或服从的潜在动机。最近…

tar命令集合(详解)

tar 命令可以将许多文件一起保存至一个单独的磁带或磁盘归档,并能从归档中单独还原所需文件。 示例 以test文件为例 压缩命令 tar -cvf test.tar test test1解压命令 tar -xvf test.tar主操作模式: -A, --catenate, --concatenate 追加 tar 文件至归档 -c, --…

一个薪资double的捷径:自动化简历内推工具

最近,小编在处理简历时,发现大量简历需要一个个打开文件,复制姓名、邮箱、电话号码、学历等关键信息,效率特别低且部分文件无法直接复制。于是,小编便写了文件阅读工具的脚本,支持文件格式有:do…

美国韩国科学家纷纷开发出电子机器人“皮肤”,据称具有比人类更好的触觉...

来源:机器人创新生态摘要:我们已经听说过柔性电子“皮肤”可以让机器人或假肢具有类似人类的触觉。然而,现在德克萨斯大学阿灵顿分校的科学家们声称他们开发的“皮肤”比具有比人类更好的触觉敏感。由Zeynep ?elik-Butler教授领导的团队创建…

解决FileUpload控件上传大文件被拒问题时

在使用Asp.Net自带的服务器端控件Fileupload上传文件时&#xff0c;如果上传的文件比较大&#xff0c;可能会遇到服务器的拒绝服务攻击&#xff0c;此时可以通过在<system.web>中添加&#xff1a; <httpRuntime maxRequestLength"2097151" executionTimeout…

MySQL流浪记(三)—— Linux安装MySQL数据库5.7.30(亲测有效3分钟即可)

下载 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/5.7.html#downloads 解压 tar -xf mysql-5.7.30-linux-glibc2.12-x86_64.tar.gztar命令集合&#xff08;详解&#xff09; 将安装包进行移动并重命名&#xff08;需要在root权限下进行&#xff09;。 m…

爬虫神器Requests: 让 HTTP 服务人类

Requests 唯一的一个非转基因的 Python HTTP 库&#xff0c;人类可以安全享用。 警告&#xff1a;非专业使用其他 HTTP 库会导致危险的副作用&#xff0c;包括&#xff1a;安全缺陷症、冗余代码症、重新发明轮子症、啃文档症、抑郁、头疼、甚至死亡。 loook&#xff0c;这就是…

ANSI/UTF-8/UCS2(UTF-16),以及回车换行

最近遇到一个linux 平台上invisible character (0x1d)引起的数据装载失败问题&#xff0c;正好借此机会整理一下字符编码的相关知识。 回车/换行&#xff1a; 顾名思义&#xff0c;回车和换行是两个不同的控制字符: -回车(Carriage Return)即\r&#xff0c;ascii码13(0x0d)&am…

自动驾驶的大脑——芯片简介

来源&#xff1a;智车科技汽车电子发展初期以分布式ECU架构为主流&#xff0c;芯片与传感器一一对应&#xff0c;后来&#xff0c;中心化架构DCU、MDC逐步成为了发展趋势&#xff1b;随着汽车辅助驾驶功能渗透率越来越高&#xff0c;传统CPU算力不足过去&#xff0c;在自动驾驶…

MySQL流浪记(四)—— DDL和DML区别与介绍

DDL与DML的区别 DDL&#xff1a;数据定义语言&#xff0c;对于数据库、表、图、索引等进行操作。 具体操作有&#xff1a;CREATE&#xff08;创建&#xff09;、ALTER&#xff08;修改&#xff09;、DROP/TRUNCATE&#xff08;删除&#xff09; DML&#xff1a;数据操纵语言&am…

数据仓库面试题集锦(附答案和数仓知识体系)

【数据仓库系列文章 - 传送门】 一篇文章搞懂数据仓库&#xff1a;三种事实表&#xff08;设计原则&#xff0c;设计方法&#xff09;一篇文章搞懂数据仓库&#xff1a;三种事实表&#xff08;设计原则&#xff0c;设计方法、对比&#xff09;_不吃西红柿-CSDN博客_事实表三种…

pidgin-qq可以使用QQ2012协议了

前几个月前还用过pidgin-qq登录过QQ&#xff0c;当时用的还是2010协议。可不久就发现2010协议已经变得不可用了&#xff0c;之后也尝试过各种webqq协议的方案&#xff0c;什么gtkqq,pidgin-lwqq,可能是webqq协议功能不完善吧&#xff0c;用起来总觉得跟我想要的qq功能相差太远。…

2018全球科技中心报告

来源&#xff1a;CB Insights、数据局摘要&#xff1a;CB Insights 近日发布的《全球科技中心报告》&#xff08; Global Tech Hubs report&#xff09;在全球范围一共遴选了25座城市作为「全球科技中心」&#xff0c;其中&#xff0c;中国仅有北京和上海入选&#xff0c;而热门…