当前位置:   article > 正文

SQL,NoSQL和MySqL

SQL,NoSQL和MySqL

SQL

SQL结构化查询语言是一种数据库操作的非过程式编程语言,用于存取数据以及查询、更新和管理关系型数据库系统,一般脚本文件后缀为.sql。

经过ANSI和ISO标准化组织结构进行标准化,但是各个数据库管理系统都对标准SQL规范进行了编改和扩充,扩展部分各个数据库不通用,标准部分通用。

SQL的特点:
  • 统合统一、高度非过程化;
  • 面向集合的操作方式;
  • 以同一种语法结构提供两种使用方法,命令行方式交互和嵌入主语言;
  • 语法简单,其中只有94个英文单词,核心功能只有6个单词【insert update delete select】。

NoSQL

NoSQL泛指非关系型数据库,主要用于针对超大规模和高并发的社交SNS类型网站的解决方案

常见的NoSQL数据库有4种类型:
  • key-value数据库,使用hash表存储数据。例如Redis;
  • 列存储数据库,主要针对分布式的海量数据,例如HBase;
  • 文档型数据库,主要存储版本化的文档信息,例如MongoDB;
  • 图形化数据库,主要用于计算数据之间的关系,例如Neo4j。
NoSQL适用场景
  • 数据模型比较简单;
  • 需要灵活性很强的IT系统中;
  • 对数据库性能要求较高;
  • 不需要高度数据一致性。

SQL 和 NoSQL

  • 复杂查询SQL数据库比较擅长;
  • SQL数据库不适合分层次的数据存储,NoSQL可以很好的实现数据的分层次存储,更适合大数据;
  • 对于要求数据严格一致性的应用中SQL非常使用,而且稳定,能够保证数据操作的原子性和一致
    性;而NoSQL对事务的处理能力有限,一般保证最终一致性;
  • SQL厂商支持,而NoSQL是社区支持;
  • 性能对比中,NoSQL明显优于SQL数据库,一般NoSQL都充分的利用系统的内存资源;
  • NoSQL数据库开发方便,不用考虑数据关系和格式。

MySQL

MySQL使用的是SQL语句,体积小、速度快、免费开源的关系型数据库。
MySQL是由SQL接口、解析器、优化器、缓存、存储引擎。

  • 客户端向MySQL服务器发送一个SQL语句;
  • 服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步;
  • 服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划;
  • MySQL服务器根据执行计划,调用存储引擎的API执行查询;
  • 最后将查询结果返回客户端,同时缓存查询结果。
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/465855
推荐阅读
相关标签
  

闽ICP备14008679号