欢迎来真孝善网,为您提供真孝善正能量书籍故事!

全面解析:数据库技术对比——MySQL、Hive、PostgreSQL与Oracle

时间:11-17 现代故事 提交错误

大家好,关于全面解析:数据库技术对比——MySQL、Hive、PostgreSQL与Oracle很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

Hive

简介

Hive 是基于Hadoop 构建的数据仓库基础设施,起源于Facebook(美国社交服务网络)。它提供了一组可用于执行提取转换加载(ETL)的工具,ETL是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。 Hive 定义了一种简单的类似SQL 的查询语言,称为HQL,它允许熟悉SQL 的用户查询数据。同时,这种语言还允许熟悉MapReduce的开发人员开发自定义的mappers和reducers,以处理内置mappers和reducers无法完成的复杂分析任务。

数据存储

Hive 没有特殊的数据存储格式,也不为数据创建索引。用户可以非常自由地组织Hive中的表。他们只需要在创建表时告诉Hive数据中的列分隔符和行分隔符。 Hive 可以解析数据。

其次,Hive中的所有数据都存储在HDFS中。 Hive 包含以下数据模型:表、外部表、分区和桶。

内部表:

什么是内表?删除表的时候需要和外部表对比才能看到。数据将与表一起删除。

外部表:数据已经存在于HDFS中。外部表只经历一个过程。加载数据和建表同时完成。它不会被移动到数据仓库目录。它仅建立与数据的连接。删除表不会删除数据。

内部表外部表区分:

向外部表导入数据时,数据并没有移动到自己的数据仓库目录下,也就是说外部表中的数据不是自己管理的!内表不同;删除内表时,Hive会删除属于该表的所有元数据和数据;删除外部表时,Hive仅删除外部表的元数据,而不会删除数据。已删除!

分区表:

在Hive Select查询中,一般会扫描整个表内容,这会消耗大量时间做不必要的工作。分区表是指创建表时指定的分区的分区空间。扫描时只能扫描某个分区的数据。

存储分区表时,将分支设置的分区单独存储数据(分区字段是文件夹的标识)

桶表:

对于每个表(table)或分区,Hive可以进一步组织成桶,这意味着它是更细粒度的数据范围划分。

优缺点

优点:

可扩展性:针对超大型数据集设计有计算/扩展能力(MR作为计算引擎,HDFS作为存储系统) 可扩展性:Hive支持用户自定义功能,用户可以根据自己的需求实现自己的功能容错性:容错性好如果节点出现问题,SQL仍然可以完成执行。缺点:

Hive的效率比较低,Hive调优困难,粒度粗。

Postgresql

简介

PostgreSQL 是由加州大学伯克利分校计算机科学系开发的基于POSTGRES 的对象关系数据库管理系统。现在它已更名为PostgreSQL,版本4.2。 (ORDBMS)。 PostgreSQL 支持大多数SQL 标准,并提供许多其他现代功能: 复杂查询、外键、触发器、视图、事务完整性、MVCC。

PostgreSQL 是一个功能强大的开源对象关系数据库管理系统(ORDBMS)。用于安全存储数据;支持最佳实践并允许在处理请求时检索它们。

PostgreSQL(也称为Post-gress-Q-L)由PostgreSQL全球开发集团(全球志愿者团队)开发。 它不受任何公司或其他私人实体控制。 它是开源的,其源代码是免费提供的

PostgreSQL是跨平台的,可以运行在Linux、OS X、Microsoft Windows等多种操作系统上。

连接管理系统接受外部操作向系统发出的请求,对操作请求进行预处理和分发,起到系统逻辑控制的作用;

编译执行系统由查询编译器和查询执行器组成,完成对数据库中操作请求的分析、处理和转换,最终实现对物理存储介质中数据的操作;

存储管理系统由索引管理器、内存管理器和外部内存管理器组成。负责存储和管理物理数据,为编译查询系统提供支持;

事务系统由事务管理器、日志管理器、并发控制和锁管理器组成。日志管理器和事务管理器完成对操作请求的事务一致性支持。锁管理器和并发控制为数据的并发访问提供一致性。性支持;

系统表是PostgreSQL数据库的元信息管理中心,包括数据库对象信息和数据库管理控制信息。系统表管理元数据信息,将PostgreSQL数据库的各个模块有机地连接起来,形成高效的数据管理系统。

主要特点

从技术角度来看,PostgreSQL采用了比较经典的C/S(客户端/服务器)结构,即一个客户端对应一个服务器端守护进程。该守护进程分析来自客户端的查询请求。生成规划树,进行数据检索,最后格式化结果返回给客户端。还需要指出的是,PostgreSQL对接口的支持也非常丰富,支持几乎所有类型的数据库客户端接口。这也可以说是PostgreSQL的一大优势。

典型应用场景

企业数据库

比如ERP、交易系统、财务系统,涉及到资金、客户等信息。数据不能丢失,业务逻辑复杂。选择PostgreSQL作为底层数据存储可以帮助您在数据一致性的前提下提供高可用性。其次,它可以用简单的编程来实现复杂的业务逻辑。

LBS 的应用

大型游戏、O2O等应用需要支持世界地图、附近商户、两点之间的距离等。PostGIS增加了对地理对象的支持,让您无需复杂的编码即可在SQL中运行位置查询,帮助您更多精准轻松理顺逻辑,更便捷地实现LBS,提高用户粘性。

数据仓库和大数据

PostgreSQL拥有更多的数据类型和强大的计算能力,可以帮助您更轻松地构建数据库仓库或大数据分析平台,为业务运营加分。

建立网站或应用程序

PostgreSQL良好的性能和强大的功能可以有效提高网站性能,降低开发难度。

优缺点

优点:

稳定性极强,Innodb等引擎在抵御崩溃、断电等灾难场景的能力上有了长足的进步。 PG性能高、速度快。任何系统都有其性能极限。在高并发读写、负载逼近极限的情况下,PG的性能指标仍能保持双曲甚至对数曲线,达到峰值后就不再下降。缺点:

pg 的分布式集群。 bug较多,使用pg时需要小心的数据库扩展问题:扩展需要很长时间

常用函数

MySql

简介

MySQL是瑞典MySQL AB公司开发的关系型数据库管理系统,目前属于一家甲骨文公司。 MySQL 是最流行的关系数据库管理系统。在WEB应用方面,MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一。

MySQL到底能支持多大的数据量?

MySQL 3.22 限制的表大小为4GB。由于MySQL 3.23中使用了MyISAM存储引擎,最大表大小增加到65536TB(2567 1字节)。由于允许的表大小较大,MySQL 数据库的最大有效表大小通常由操作系统对文件大小的限制决定,而不是由MySQL 内部限制决定。事实上,MySQL能够承受的数据量主要与数据表的结构有关,并不是一个固定值。如果表的结构比较简单,那么它能够承受的数据量相对来说比结构复杂的要大一些。

优缺点

优点:访问速度快

缺点:存储的数据量有限

常用函数

Oracle

简介

Oracle 数据库,也称为Oracle RDBMS,简称Oracle。它是Oracle公司的一个关系数据库管理系统。是数据库领域一直处于领先地位的产品。可以说,Oracle数据库系统是目前国际上流行的关系数据库管理系统。该系统便携性好、使用方便、功能强大。适用于各种大、中、小型、微机环境。是一种效率高、可靠性好、适应高吞吐量的数据库解决方案。

全球几乎所有行业都在应用Oracle技术,《财富》排名前100的公司中有98家使用Oracle技术。 Oracle 是第一家在其整个产品线(数据库、业务应用程序以及应用程序开发和决策支持工具)中开发和部署100% 基于互联网的企业软件的公司。甲骨文是全球领先的信息管理软件提供商,也是全球第二大独立软件公司。

PostgreSQL PK MySQL

1、PostgreSQL相对于MySQL的优势

SQL的标准实现比MySQL更好,功能实现更严谨;

b.对表连接的支持比较完善,优化器功能比较完善,支持多种索引类型,复杂查询能力强;

c.PG的主表存储在堆表中,而MySQL使用索引组织表,可以支持比MySQL更大的数据量。

d.PG的主从复制都是物理复制。与MySQL基于binlog的逻辑复制相比,数据一致性更可靠,复制性能更高,对主机性能影响更小。

2、MySQL相对于PG的优势:

MySQL 使用索引来组织表。这种存储方式非常适合基于主键匹配的查询和删除操作,但对表结构设计有限制;

b. MySQL的优化器比较简单,系统表、运算符、数据类型的实现都非常精简,非常适合简单的查询操作;

c. MySQL分区表的实现优于PG基于继承表的分区实现,主要体现在分区数量达到数千或数万时处理性能差异较大。

总体来说,开源数据库还不是很完善,商业数据库Oracle无论是架构还是功能上还是完善得多。从应用场景来看,PG更适合严格的企业应用场景(如金融、电信、ERP、CRM),而MySQL更适合业务逻辑相对简单、数据可靠性要求不高的互联网场景(如Google、脸书、阿里巴巴)。

MySql、Hive、Postgresql对比

Sql调优

1.不要在任何地方使用select * from t,用特定字段列表替换“*”,并且不返回任何未使用的字段

2.考虑使用“临时表”来临时存储中间结果。将临时结果暂时存储在临时表中,后续查询将在tempdb中。这样可以避免程序中多次扫描主表。

3. 小表连接大表

4、谨慎使用Count(Distinct)去除重复统计。一般情况下,COUNT DISTINCT 应先替换为GROUP BY,然后再替换为COUNT。

本文使用文章同步助手进行同步

OK,关于全面解析:数据库技术对比——MySQL、Hive、PostgreSQL与Oracle和的内容到此结束了,希望对大家有所帮助。

用户评论

泪湿青衫

选哪个数据库真的看实际需求啊,像我做网站用的MYSQL足够了。

    有19位网友表示赞同!

搞搞嗎妹妹

Hive主要是数据仓库吧,大规模的分析型工作比较好使。

    有17位网友表示赞同!

没过试用期的爱~

PG数据安全跟可扩展性比较强,企业级项目不错用。

    有7位网友表示赞同!

刺心爱人i

Oracle那是老大哥级别了,性能稳定可靠,不过贵啊。。。

    有8位网友表示赞同!

算了吧

不同数据库各有优缺点,需要认真比对一下自己的场景再决定。

    有20位网友表示赞同!

单身i

学习每个数据库都有不同的难度,这个成本也是需要注意的。

    有17位网友表示赞同!

高冷低能儿

听说MySQL的性能在高并发下还是比较有瓶颈,PG怎么样?

    有14位网友表示赞同!

伤离别

数据仓库这种东西确实很复杂,Hive是不是需要专门学习一些技巧?

    有10位网友表示赞同!

心悸╰つ

Oracle感觉有点儿古老了现在,年轻人会不会用它呢?

    有7位网友表示赞同!

哥帅但不是蟋蟀

数据库选择真是个头疼的问题啊,不知道怎么下手比较好。

    有14位网友表示赞同!

眼角有泪°

看大家的讨论,好像PG比较适合数据安全性强的地方。

    有14位网友表示赞同!

遗憾最汹涌

如果要做实时更新的数据应用,哪种数据库比较好呢?

    有19位网友表示赞同!

颓废i

Hive这种数据仓库型数据库是不是需要很强大的硬件支持?

    有10位网友表示赞同!

走过海棠暮

Oracle那价格吓人,中小企业可能用上不了吧。

    有13位网友表示赞同!

慑人的傲气

MySQL是比较通用的,学习起来相对容易一些吧。

    有13位网友表示赞同!

大王派我来巡山!

我更偏向使用开源的数据库种类,像MySQL和PG。

    有15位网友表示赞同!

?娘子汉

这篇文章很有帮助,让我对几种常见数据库有了初步了解。

    有15位网友表示赞同!

浮光浅夏ζ

数据库存储能力、查询速度这些指标都应该考虑进去啊。

    有11位网友表示赞同!

聽風

希望以后有更多关于不同数据库对比的文章分享出来。

    有17位网友表示赞同!

【全面解析:数据库技术对比——MySQL、Hive、PostgreSQL与Oracle】相关文章:

1.蛤蟆讨媳妇【哈尼族民间故事】

2.米颠拜石

3.王羲之临池学书

4.清代敢于创新的“浓墨宰相”——刘墉

5.“巧取豪夺”的由来--米芾逸事

6.荒唐洁癖 惜砚如身(米芾逸事)

7.拜石为兄--米芾逸事

8.郑板桥轶事十则

9.王献之被公主抢亲后的悲惨人生

10.史上真实张三丰:在棺材中竟神奇复活