将面临哪些挑战?
首先从整体使用来看,对外提供统一的MySQL Database Service。用户仍然是通过传统的方式去使用它,无论是OLTP还是OLAP场景。在这个服务的内部,是包括了传统的OLTP引擎和新的Analytics引擎。在数据上,也是存在两份。前者仍然保存在例如InnoDB这样的存储引擎之中,后者则保存在一组节点构成集群的内存之中。正常事务操作带来的数据变化,会透明地传播到后面的分析集群中,以加速分析处理。这样就使得客户可以在单个数据库平台上同时运行OLTP和OLAP工作负载。简言之,就是两个计算引擎、两份数据存储。 但作为一款如此流行的数据库产品,其存在一个明显的短板就是数据分析。相信MySQL使用者都有这种感觉,在大规模数据情况下MySQL有些力不从心。尽管其内核也在不断加强这方面的能力(如最新8.0支持hash join、直方图等),但相较于其他数据库仍然存在一定劣势。其核心在于MySQL原生是为OLTP场景设计的,并没有考虑OLAP场景。 虽然也有一些厂商通过扩展其存储引擎,增强其数据分析能力,但总体来讲还是不尽如人意。于是,通常的一种选择就是在数据分析时,不得不将数据迁移到另一种数据库/大数据架构中。通过后者,去完成数据分析工作。在这一过程中,需要开发者自己定义ETL逻辑(可能基于日志解析或逻辑数据抽取),完成数据迁移。同时,在运行中需时刻关注数据同步,保证数据有效性。在使用上,还需编写单独的语句(异构数据源的语句),来完成数据分析动作。 整个这一过程,无疑对用户来说具有一定的使用门槛,且需要花费额外的精力去解决这一问题。相信Oracle原厂也是看到这一问题,因而推出了MySQL Analytics Engine。 二、MAE到底是个啥?
MySQL Analytics Engine(简称MAE),笼统来说是一款内置的分析引擎。通过它与MySQL Database的组合,可以使得数据库管理员和应用程序开发人员能够直接将MySQL数据库作为OLTP和OLAP工作负载的统一服务。其提供的“MySQL Database Service with Analytics Engine”,是由一个MySQL DB实例和多个分析节点组成。当分析功能被启用时,分析服务将被安装在DB实例上,其负责集群管理、数据加载、查询执行等。从用户角度来看,可以通过标准的MySQL JDBC/ODBC Connector来连接使用。下面我们详细展开看看。 2月2日,Oracle在其官网正式推出“MySQL Database Service with Analytics Engine”。作为MySQL产品的一个重大增强,这一特性颇引人注目。抽空做了个简单了解,各位从中可窥其一二。(本文部分资料、插图来自Oracle官方网站) 一、MySQL的天然短板“数据分析”
MySQL,作为最为流行的一款开源数据库,已经得到非常广泛地使用。从最新的db-engines指数可以看出,其在数据库领域中占据了重要的位置。 也就是说,原生模块也是可以使用的。所以,我们在这儿将不会使用 Webpack:你可以稍后再配置它。 十五、总结 下面总结一下模块的核心概念:
当我们使用模块时,每个模块都会实现特定功能并将其导出。然后我们使用 import 将其直接导入到需要的地方即可。浏览器会自动加载并解析脚本。
在生产环境中,出于性能和其他原因,开发者经常使用诸如 Webpack 之类的打包工具将模块打包到一起。 (编辑:鞍山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |