热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

MySQL的大数据改进_MySQL-mysql教程

MySQL的大数据改进

【IT168 专稿】说到大数据,不得不提的就是阿里巴巴。这家全球领先的电子商务企业,每天处理的数据量是其他任何公司都无法比拟的,它也正在转型成为一家真正意义上的数据公司——MySQL就是阿里巴巴转型的重要武器。曾经采访过阿里的一位数据库架构师,他认为阿里将开源MySQL的性能达到最佳状态,超越任何关系型数据库和NoSQL。

  2009年,甲骨文通过收购Sun获得了MySQL的版权,业界就开始质疑甲骨文的用意,担心MySQL的未来发展。而甲骨文在收购时就曾表态,会比Sun投入更多的精力来开发MySQL。目前看来,至少MySQL社区版和第三方版本的发展并没有受到收购的影响,MySQL的商业版本也在持续的改进和更新中。下面笔者将盘点一下甲骨文推出的MySQL 5.6正式版的一些新功能,及其针对大数据时代的改进。

  一、MySQL 5.6正式版功能盘点

  2013年初,甲骨文发布MySQL 5.6正式版,通过提升MySQL优化诊断来提供更好的查询执行时间和诊断功能,通过增强InnoDB存储引擎来提高性能处理量和应用可用性,通过MySQL复制的新功能以提高扩展性和高可用性,并且拥有许多新增强功能,包括地理信息系统、精确的空间操作、增强的IPv6合规性和优化服务器的默认设置。

  凭借增强的性能、可扩展性、可靠性和可管理性优势,MySQL 5.6可帮助用户满足最苛刻的网络、云和嵌入式的应用需求。通过子查询优化、在线数据定义语言(DDL)操作、NoSQL访问InnoDB、新的性能架构检测以及更好的条件处理,MySQL 5.6可极大提高开发人员的灵活性。

  四大亮点:

  1.通过提升MySQL优化诊断来提供更好的查询执行时间和诊断功能

  ·子查询优化:通过在执行之前优化子查询来简化查询开发。新效率体现在查询执行时间内,显著提升结果集的选择、分类并返回交付。

  ·新增的指数条件下推(Index Condition Pushdown)和批量密钥访问(Batch Key Access)功能可提高选择查询量高达280倍。

  ·增强的优化诊断功能:通过EXPLAIN进行INSERT,UPDATE和DELETE操作。EXPLAIN计划以JSON格式输出,提供更精确的优化指标和更好的可读性,优化跟踪(Optimizer Traces)可跟踪优化决策过程。

  2.通过增强InnoDB存储引擎来提高性能处理量和应用可用性

  ·提升处理和只读量高达230%:通过InnoDB重构,以尽量减少传统线程,冲洗和清理互斥冲突和瓶颈,从而在高负重OLTP系统上,实现更好的并发性,进而针对只读工作负载(2)和处理,显著提高处理量。

  ·提高可用性:在线DDL操作可使数据库管理员添加索引和执行表变更,且应用程序仍可用于更新。

  ·InnoDB全文搜索:允许开发人员在InnoDB表上,建立全文索引,以表示基于文本的内容,并加快单词和短语的应用搜索。

  ·简单、关键值查找:通过熟悉的Memcached API,对InnoDB的灵活NoSQL访问,提供了InnoDB数据的简单、关键值查找。用户可实现在同一个数据库,关键值操作和复杂的SQL查询的“双赢”效应。

  3.通过MySQL复制的新功能以提高扩展性和高可用性

  ·自我修复功能的复制集群:新增的全球处理识别和使用程序(Global Transaction Identifiers and Utilities)能更方便的实现自动检测并从故障中恢复。碰撞安全复制功能(Crash-Safe Replication)使二进制日志和从动装载,在崩溃和恢复复制的情况下,能自动恢复到在复制流的正确位置上,而无需管理员干预。通过自动检测和警告错误,Checksums可跨集群维护数据的完整性。

  ·高性能复制集群:通过多线程的从动装置(3),Binlog组提交和基于行复制的优化(Binlog Group Commit and Optimized Row-Based Replication)使复制能力提高了5倍,让用户在向外扩展其跨商品系统的工作负载时,能够最大限度地提高复制性能和效率。.

  ·时间延迟复制:能防止发生在主机的操作失误,如意外删除表格等。

  4.增强的性能架构(PERFORMANCE_SCHEMA):新检测让用户能够更好地监控资源最密集的查询、对象、用户和应用程序。也可通过查询、线程、用户、主机和对象来实现新汇总统计信息概要。增强功能允许更简便的默认配置,且只耗费不到5%的成本。


  二、MySQL针对大数据的改进

  1、NoSQL功能

  在甲骨文最新发布的MySQL 5.6正式版中,增加了一些NoSQL特性,即通过Memcached API对InnoDB的灵活NoSQL访问,提供了InnoDB数据的简单、关键值查找。从此可以看出NoSQL对关系数据库的确产生了巨大的影响,MySQL的这一举动可以让开发人员更加方便的使用NoSQL和关系数据库。

  但有很多技术人员认为MySQL的这一功能略显鸡肋,并不能真正发挥NoSQL的作用。以扩展性为例,NoSQL的一个主要优势就是横向扩展(Scale Out)。例如Cassandra能够简单透明地在多个机器上进行扩展,它们可以是廉价的硬件组成的集群,而无需购买昂贵的服务器或者SAN存储。这一点MySQL 5.6是做不到的。

  2、支持Hadoop

  MySQL团队最新推出了MySQL Applier for Hadoop(以下简称Hadoop Applier),希望解决从非MySQL服务器复制数据的问题。

  例如,复制事件中的从服务器可能是一个数据仓库系统,如Apache Hive,它使用Hadoop分布式文件系统(HDFS)作为数据存储区。如果你有一个与HDFS相关的Hive元存储,Hadoop Applier就可以实时填充Hive数据表。数据是从MySQL中以文本文件形式导出到HDFS,然后再填充到Hive。

  操作很简单,只需在Hive运行HiveQL语句'CREATE TABLE',定义表的结构与MySQL相似,然后运行Hadoop Applier即可开始实时复制数据。

  在Hadoop Applier之前,还没有任何工具可以执行实时传输。之前的解决方案是通过Apache Sqoop导出数据到HDFS,尽管可以批量传输,但是需要经常将结果重复导入以保持数据更新。在进行大量数据传输时,其他查询会变得很慢。且在数据库较大的情况下,如果只进行了一点更改,Sqoop可能也需要较长时间来加载。

  而Hadoop Applier则会读取二进制日志,只应用MySQL服务器上发生的事件,并插入数据,不需要批量传输,操作更快,因此并不影响其他查询的执行速度。

  小结

  MySQL是业界最优秀的一款开源关系型数据库软件,拥有大批追随者,他们不仅使用MySQL,也为MySQL社区做贡献,形成一个良好的生态系统。对于MySQL而言,对NoSQL和Hadoop的支持只能是对大数据时代的一种迎合,对于技术人员的作用不置可否。

推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 11月26日,由中国计算机协会(CCF)主办,CCF大数据专家委员会协办,CSDN承办的Hadoop与大数据技术大会(Hadoop&BigDataTechnology ... [详细]
  • 《Spark核心技术与高级应用》——1.2节Spark的重要扩展
    本节书摘来自华章社区《Spark核心技术与高级应用》一书中的第1章,第1.2节Spark的重要扩展,作者于俊向海代其锋马海平,更多章节内容可以访问云栖社区“华章社区”公众号查看1. ... [详细]
  • MySQL笔记_MySQL笔记1|数据库17问17答
    本文由编程笔记#小编为大家整理,主要介绍了MySQL笔记1|数据库17问17答相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  • 如何在mysqlshell命令中执行sql命令行本文介绍MySQL8.0shell子模块Util的两个导入特性importTableimport_table(JS和python版本 ... [详细]
  • 【转】腾讯分析系统架构解析
    TA(TencentAnalytics,腾讯分析)是一款面向第三方站长的免费网站分析系统,在数据稳定性、及时性方面广受站长好评,其秒级的实时数据更新频率也获得业界的认可。本文将从实 ... [详细]
  • 数据库基本介绍
    1、数据库基本知识概念:数据库:database(DB),是一种存储数据的仓库数据库是根据数据结构组织、存储和 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 本文介绍了关系型数据库和NoSQL数据库的概念和特点,列举了主流的关系型数据库和NoSQL数据库,同时描述了它们在新闻、电商抢购信息和微博热点信息等场景中的应用。此外,还提供了MySQL配置文件的相关内容。 ... [详细]
  • 【回顾】聚焦DTCC | 巨杉数据库与您相约DTCC 数据库技术大会
    2018年5月10-12日,第九届中国数据库技术大会(DTCC2018)将以“数领先机•智赢未来”为主题,设定2大主会场及20个技术专场,邀请来自国内外互联网、金融、教育等行业百余 ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • Java工程师书单(初级,中级,高级)
    简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
  • hackingTeam是如何被黑的
    hackingTeam是如何被黑的 ... [详细]
  • 什么是堡垒机?堡垒机是一个主机系统,其自身通常经过了一定的加固,具有较高的安全性,可抵御一定的攻击,其作用主 ... [详细]
author-avatar
飞教书的粉红色
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有