【回眸】终于有人把MyBatis,MySQL,SQL,NoSQL,Hadoop,HBase的区别讲明白了

终于有人把MyBatis,MySQL,SQL,NoSQL,Hadoop,HBase的区别讲明白了

前言

MyBatis,MySQL,SQL,NoSQL,Hadoop,HBase有啥区别?乍一看密密麻麻的太可怕了,今天的日更问来个解析,研究一下他们之间的区别

MyBatis,MySQL,SQL,NoSQL,Hadoop,HBase释义

MyBatis:

mybatis是一款用于持久层的、轻量级的半自动化ORM框架,封装了所有jdbc操作以及设置查询参数和获取结果集的操作,支持自定义sql、存储过程和高级映射。(这句话笔者也只是略懂,差不多能明白啥意思)

持久层是什么意思呢,可以把层字去掉,持久,也就是”保持长久“的意思,他针对的是系统中数据存在的时限,而非其他。有一个基本问题大家应该知道,在内存中的数据是不持久的,如果计算机崩溃或者其他原因导致关机,数据就会丢失,但是磁盘上的数据是持久的,因此,用在持久层也就是这个框架是用来将内存中的数据写入到磁盘中的,再具体一点,就是写到数据库中。所以,总结一下,框架用于持久层,就是说这个框架是和数据库进行交互的,用于数据库中数据操作的框架。

轻量级框架的概念可以简单的理解为所用框架开发的程序启动时占用的资源少、对业务代码的侵入性不强、比较容易配置、使用和部署简单、独立部署即可使用无需依赖另外的框架,这种就是轻量级框架,相反的就是重量级。在互联网飞速发展和产品迭代更新速度如此之快的今天,轻量级的框架更容易被接受,这也是spring胜出,EJB退出的原因。

ORM,Object Relational Mapping, 直接翻译就是对象关系映射,我也没有更好的解释,看一下百科上是这样介绍的”用于实现面向对象编程语言里不同类型系统的数据之间的转换。从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,而关系数据库则是从数学理论发展而来的,两套理论存在显著的区别。为了解决这个不匹配的现象,对象关系映射技术应运而生”。这里简单的可以这样理解,java中的数据类和数据库之间的类型系统不同,因此在使用java处理数据库时,需要进行对应的类型转化,而mybatis可以做这个事,可以将java中的类型一一映射到数据库的字段类型上,因此可以将其看作是一个ORM框架。那为什么又是半自动ORM框架呢?使用mybatis,需要手动配置pojo、sql和映射关系,用户可以自定义sql,这些sql是针对于处理数据库的,但是这些sql需要接受一些查询java类型的参数,或者是返回结果集封装到java类中,这些是需要配置的,因此mybatis是一个半自动ORM框架。说到底还是因为需要写sql,才能将数据库中的数据映射到java类中,而不是直接根据java类获取到对应数据库中数据。这里多说一下,hibernate是一个全自动的ORM框架,因为只需要提供pojo和映射关系即可,后期可以直接根据pojo获取到数据。

最后就是高级映射是什么,这里可以类比数据表之间的映射关系,也就是一对一、一对多、多对多。
上面的释义转载自https://blog.csdn.net/chaizepeng/article/details/119384531

MySQL:

MySQL是一个关系型数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL是开源的

MySql支持大型的数据库,可以处理拥有成千上万条记录的大型数据库。

MySql支持标准的SQL数据语言形式。

MySql可以允许在多个系统上,并且支持多种语言

MySql对PHP有很好的支持

MySql支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB

MySql是可以定制的,采用了GPL协议
上面的释义转自https://blog.csdn.net/lengyuezuixue/article/details/78961645

SQL:

Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。
上面的释义转自https://blog.csdn.net/weixin_45851945/article/details/114287877

NoSQL:

NoSQL是海量数据增删改查的, 基本不支持SQL语法,NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,互联网的早期我们的数据大多以关系型数据库来存储的。其特点是规范的数据结构(预定义模式)、强一至性、表与表之间通过外键进行关联,这些特征使我们对数据的管理更加清晰和严谨,但随着互联网的发展数据成爆炸式的增长我们对数据库需要更好的灵活性和更快的速度。这就是NoSql可以做到的。它不需要预先定义模式,没有主外键关联、支持分片、支持复本。
NoSQL的横向扩展是很方便的,只需要加节点,加机器就可以了.比普通数据库方便很多。

NoSQL 可扩展是很强的。
上面的释义转自https://blog.csdn.net/qq_41489540/article/details/113624586

Hadoop:

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop是开源的高可靠、可扩展的分布式的软件框架。
上面的释义转自https://blog.csdn.net/weixin_42223850/article/details/97672235

HBase:

HBase —— Hadoop Database的简称,Google BigTable的另一种开源实现方式,从问世之初,就为了解决用大量廉价的机器高速存取海量数据、实现数据分布式存储提供可靠的方案。从功能上来讲,HBase不折不扣是一个数据库( 熟悉hadoop生态系统的应该明白,Hbase数据实际存于HDFS上,这里不详解),与我们熟悉的Oracle、MySQL、MSSQL等一样,对外提供数据的存储和读取服务。而从应用的角度来说,HBase与一般的数据库又有所区别,HBase本身的存取接口相当简单,不支持复杂的数据存取,更不支持SQL等结构化的查询语言;HBase也没有除了rowkey以外的索引,所有的数据分布和查询都依赖rowkey。所以,HBase在表的设计上会有很严格的要求。架构上,HBase是分布式数据库的典范,这点比较像MongoDB的sharding模式,能根据键值的大小,把数据分布到不同的存储节点上,MongoDB根据configserver来定位数据落在哪个分区上,HBase通过访问Zookeeper来获取 .ROOT. 表所在地址,通过 .ROOT. 表得到相应.META.表信息,从而获取数据存储的region位置。
上面的释义转自https://blog.csdn.net/fenglei0415/article/details/82941398

区别和联系:

他们不是一个东西,但有所联系。
SQL是结构化查询语言,数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。
NoSQL是海量数据增删改查的, 基本不支持SQL语法,NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL
MySQL体积小、速度快、成本低、结构稳定、便于查询,可以保证数据的一致性,但缺乏灵活性
NoSQL高性能、高扩展、高可用,不用局限于固定的结构,减少了时间和空间上的开销,却又很难保证数据一致性
如果规模和性能比24小时的数据一致性更重要,那NoSQL是一个理想的选择 (NoSQL依赖于BASE模型——基本可用、软状态、最终一致性)。
但如果要保证到“始终一致”,尤其是对于机密信息和财务信息,那么MySQL很可能是最优的选择(MySQL依赖于ACID模型——原子性、一致性、独立性和耐久性)。
mybatis是一款用于持久层的、轻量级的半自动化ORM框架,支持自定义sql,一般我们在公司里使用的时候就会在使用到Java、并且需要SQL语句的时候需要mybatis。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
HBase —— Hadoop Database的简称,从问世之初,就为了解决用大量廉价的机器高速存取海量数据、实现数据分布式存储提供可靠的方案。
Hbase是Hadoop的一部分。

结语

今天虽然是搬运工,但是也有自己的理解和感悟!
最后汇报一下进展
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模型就绪,代码整装待发。明天见!

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

回眸&啤酒鸭

今天加餐!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值