GridGain最近在2014年的Spark峰会上发布了Hadoop内存片内加速技术,可以为Hadoop应用带来内存片内计算的相关收益。 该技术包括两个单元:和Hadoop HDFS兼容的内存片内文件系统,以及为内存片内处理而优化的MapReduce实现。这两个单元对基于磁盘的HDFS和传统
GridGain最近在2014年的Spark峰会上发布了Hadoop内存片内加速技术,可以为Hadoop应用带来内存片内计算的相关收益。
该技术包括两个单元:和Hadoop HDFS兼容的内存片内文件系统,以及为内存片内处理而优化的MapReduce实现。这两个单元对基于磁盘的HDFS和传统的MapReduce进行了扩展,为大数据处理情况提供了更好的性能。
内存片内加速技术消除了在传统Hadoop架构模型中与作业追踪者(job tracker)、任务追踪者(task tracker)相关的系统开销,它可以和现有的MapReduce应用一起工作而无需改动任何原有的MapReduce、HDFS和YARN环境的代码。
下面是InfoQ对GridGain的CTO Nikita Ivanov关于Hadoop内存片内加速技术和架构细节的访谈。
InfoQ: Hadoop内存片内加速技术的关键特性在于GridGain的内存片内文件系统和内存片内MapReduce,你能描述一下这两个组件是如何协同工作的吗?
Nikita:GridGain的Hadoop内存片内加速技术是一种免费、开源和即插即用的解决方案,它提升了传统MapReduce工作(MapReduce jobs)的速度,你只需用10分钟进行下载和安装,就可以得到十几倍的性能提升,并且不需要对代码做任何改动。该产品是业界第一个基于双模、高性能内存片内文件系统,以及为内存片内处理而优化的MapReduce实现方案,这个文件系统和Hadoop的HDFS百分百的兼容。内存片内HDFS和内存片内MapReduce以易用的方式对基于磁盘的HDFS和传统的MapReduce进行了扩展,以带来显著的性能提升。
简要地说,GridGain的内存片内文件系统GGFS提供了一个高性能、分布式并与HDFS兼容的内存片内计算平台,并在此进行数据的存储,这样我们基于YARN的MapReduce实现就可以在数据存储这块利用GGFS做针对性的优化。这两个组件都是必需的,这样才能达到十几倍的性能提升(在一些边界情况下可以更高)。
InfoQ: 如何对这两种组合做一下比较,一种是内存片内HDFS和内存片内MapReduce的组合,另一种是基于磁盘的HDFS和传统的MapReduce的组合?
Nikita:GridGain的内存片内方案和传统的HDFS/MapReduce方案最大的不同在于:
在GridGain的内存片内计算平台里,数据是以分布式的方式存储在内存中。GridGain的MapReduce实现是从底层向上优化,以充分利用数据存储在内存中这一优势,同时改善了Hadoop之前架构中的一些缺陷。在GridGain的MapReduce实现中,执行路径是从客户端应用的工作提交者(job submitter)直接到数据节点,然后完成进程内(in-process)的数据处理,数据处理是基于数据节点中的内存片内数据分区,这样就绕过了传统实现中的作业跟踪者(job tracker)、任务跟踪者(task tracker)和名字节点(name nodes)这些单元,也避免了相关的延迟。
相比而言,传统的MapReduce实现中,数据是存储在低速的磁盘上,而MapReduce实现也是基于此而做优化的。
InfoQ:你能描述一下这个在Hadoop内存片内加速技术背后的双模、高性能的内存片内文件系统是如何工作的?它与传统的文件系统又有何不同呢?
Nikita:GridGain的内存片内文件系统GGFS支持两种模式,一种模式是作为独立的Hadoop簇的主文件系统,另一种模式是和HDFS进行串联,此时GGFS作为主文件系统HDFS的智能缓存层。
作为缓存层,GGFS可以提供直接读和直接写的逻辑,这些逻辑是高度可调节的,并且用户也可以自由地选择哪些文件和目录要被缓存以及如何缓存。这两种情况下,GGFS可以作为对传统HDFS的嵌入式替代方案,或者是一种扩展,而这都会立刻带来性能的提升。
InfoQ:如何比较GridGain的内存片内MapReduce方案和其它的一些实时流解决方案,比如Storm或者Apache Spark?
Nikita:最本质的差别在于GridGain的内存片内加速技术支持即插即用这一特性。不同于Storm或者Spark(顺便说一下,两者都是伟大的项目),它们需要对你原有的Hadoop MapReduce代码进行完全的推倒重来,而GridGain不需要修改一行代码,就能得到相同甚至更高的性能优势。
InfoQ:什么情况下需要使用Hadoop内存片内加速技术呢?
Nikita:实际上当你听到“实时分析”这个词时,也就听到了Hadoop内存片内加速技术的新用例。如你所知,在传统的Hadoop中并没有实时的东西。我们在新兴的HTAP (hybrid transactional and analytical processing)中正看到一些这样的用例,比如欺诈保护,游戏中分析,算法交易,投资组合分析和优化等等。
InfoQ:你能谈谈GridGain的Visor和基于图形界面的文件系统分析工具吗,以及他们如何帮助监视和管理Hadoop工作(Hadoop jobs)的?
Nikita:GridGain的Hadoop内存片内加速是和GridGain的Visor合在一起的,Visor是一种对GridGain产品进行管理和监视的方案。Visor提供了对Hadoop内存片内加速技术的直接支持,它为HDFS兼容的文件系统提供了精细的文件管理器和HDFS分析工具,通过它你可以看到并分析和HDFS相关的各种实时性能信息。
InfoQ:后面的产品路标是怎么样的呢?
Nikita:我们会持续投资(同我们的开源社区一起)来为Hadoop相关产品技术,包括Hive、Pig和Hbase,提供性能提升方案。
Taneja Group也有相关报道(Memory is the Hidden Secret to Success with Big Data, 下载全部报告需要先注册),讨论了GridGain如何把Hadoop内存片内加速技术和已有的Hadoop簇、传统基于磁盘的有缺陷的数据库系统以及面向批处理的MapReduce技术进行集成。
关于被访问者
Nikita Ivanov是GridGain系统公司的发起人和CTO,GridGain成立于2007年,投资者包括RTP Ventures和Almaz Capital。Nikita领导GridGain开发了领先的分布式内存片内数据处理技术-领先的Java内存片内计算平台,今天在全世界每10秒它就会启动运行一次。Nikita有超过20年的软件应用开发经验,创建了HPC和中间件平台,并在一些创业公司和知名企业都做出过贡献,包括Adaptec, Visa和BEA Systems。Nikita也是使用Java技术作为服务器端开发应用的先驱者,1996年他在为欧洲大型系统做集成工作时他就进行了相关实践。
查看参考原文:Nikita Ivanov on GridGain’s In-Memory Accelerator for Hadoop

ACID属性包括原子性、一致性、隔离性和持久性,是数据库设计的基石。1.原子性确保事务要么完全成功,要么完全失败。2.一致性保证数据库在事务前后保持一致状态。3.隔离性确保事务之间互不干扰。4.持久性确保事务提交后数据永久保存。

MySQL既是数据库管理系统(DBMS),也与编程语言紧密相关。1)作为DBMS,MySQL用于存储、组织和检索数据,优化索引可提高查询性能。2)通过SQL与编程语言结合,嵌入在如Python中,使用ORM工具如SQLAlchemy可简化操作。3)性能优化包括索引、查询、缓存、分库分表和事务管理。

MySQL使用SQL命令管理数据。1.基本命令包括SELECT、INSERT、UPDATE和DELETE。2.高级用法涉及JOIN、子查询和聚合函数。3.常见错误有语法、逻辑和性能问题。4.优化技巧包括使用索引、避免SELECT*和使用LIMIT。

MySQL是一种高效的关系型数据库管理系统,适用于存储和管理数据。其优势包括高性能查询、灵活的事务处理和丰富的数据类型。实际应用中,MySQL常用于电商平台、社交网络和内容管理系统,但需注意性能优化、数据安全和扩展性。

SQL和MySQL的关系是标准语言与具体实现的关系。1.SQL是用于管理和操作关系数据库的标准语言,允许进行数据的增、删、改、查。2.MySQL是一个具体的数据库管理系统,使用SQL作为其操作语言,并提供高效的数据存储和管理。

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。