【大数据】InfoWorld的2018年最佳开源数据平台奖公布

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第1张图片

目录

Apache Spark

Apache Pulsar

Apache Beam

Apache Solr

JupyterLab

KNIME分析平台

CockroachDB

Vitess

TiDB

YugaByte DB

Neo4j

InfluxDB


【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第2张图片

 

Apache Spark

尽管新的产品层出不穷,Apache Spark在数据分析领域仍然占据着举足轻重的地位。如果你需要从事分布式计算、数据科学或者机器学习相关的工作,就使用Apache Spark吧。Apache Spark 2.3在二月份发布,它依然着重于开发、集成并加强它的Structured Streaming API。另外,新版本中添加了Kubernetes调度程序,因此在容器平台上直接运行Spark变得非常简单。总体来说,现在的Spark版本经过调整和改进,似乎焕然一新。

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第3张图片

 

Apache Pulsar

Apache Pulsar最初由雅虎开发,后来进入Apache孵化器,最近正式毕业,成为Apache顶级项目。Pulsar旨在取代Apache Kafka多年的主宰地位。Pulsar在很多情况下提供了比Kafka更快的吞吐量和更低的延迟,并为开发人员提供了一组兼容的API,让他们可以很轻松地从Kafka切换到Pulsar。

Pulsar的最大优点在于它提供了比Apache Kafka更简单明了、更健壮的一系列操作功能,特别在解决可观察性、地域复制和多租户方面的问题。在运行大型Kafka集群方面感觉有困难的企业可以考虑转向使用Pulsar。

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第4张图片

 

Apache Beam

多年来,批处理和流式处理之间的差异正在慢慢缩小。批次数据变得越来越小,变成了微批次数据,随着批次的大小接近于一,也就变成了流式数据。有很多不同的处理架构也正在尝试将这种转变映射成为一种编程范式。

Apache Beam就是谷歌提出的解决方案。Beam结合了一个编程模型和多个语言特定的SDK,可用于定义数据处理管道。在定义好管道之后,这些管道就可以在不同的处理框架上运行,比如Hadoop、Spark和Flink。当为开发数据密集型应用程序而选择数据处理管道时(现如今还有什么应用程序不是数据密集的呢?),Beam应该在你的考虑范围之内。

 

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第5张图片

Apache Solr

尽管大家都认为Apache Solr是基于Lucene索引技术而构建的搜索引擎,但它实际上是面向文本的文档数据库,而且是一个非常优秀的文档数据库。不管你是要“大海捞针”,还是要运行空间信息查询,Solr都可以帮上忙。

Solr 7系列目前已经发布了,新版本在运行更多分析查询的情况下仍然能保证闪电般的速度。你可以加入很多文档,不到一秒钟就能返回结果。它还改进了对日志和事件数据的支持。灾备(CDCR)现在也是双向的。Solr全新的自动扩展功能简化了集群负载增长时的扩展操作。

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第6张图片

 

JupyterLab

JupyterLab是新一代的Jupyter,一个基于Web的notebook服务器,颇受全世界数据科学家的喜爱。经过三年开发,JupyterLab完全改变了人们对notebook的理解,支持对单元格进行拖放重新排布、标签式的notebook、实时预览Markdown编辑,以及改良的扩展系统,与GitHub等服务的集成变得非常简单。预计在2018年底,JupyterLab将发布1.0稳定版。

 

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第7张图片

KNIME分析平台

KNIME分析平台是用来创建数据科学应用程序和服务的开源软件。它提供了可拖放的图形界面,用来创建可视化工作流,还支持R和Python脚本、机器学习,支持和Apache Spark连接器。KNIME目前有大概2000个模块可用作工作流的节点。

KNIME还提供了商业版,商业版旨在提升生产效率和支持协作。不过,开源版KNIME分析平台并不存在人为限制,可以处理包含数亿行数据的项目。

 

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第8张图片

CockroachDB

CockroachDB是基于事务性和一致性键值存储而构建的分布式SQL数据库。它的设计目标是能够在磁盘、机器、机架甚至是数据中心的故障中存活下来,最小化延迟中断,不需要人工干预。CockroachDB v1.13曾经获得过五星的高分,虽然仍然缺少很多功能,不过现在情况有所改变。

四月份发布的CockroachDB v2.0版本有了明显的性能改进,通过添加对JSON(和其他类型)的支持扩展了与PostgreSQL的兼容性,还提供了生产环境的跨区域集群管理功能。CockroachDB v2.1的路线图中包含了基于成本的查询优化器(用于查询性能的改进)、相关子查询(ORM)、更好地支持模式变更以及企业版产品的加密。

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第9张图片

 

Vitess

Vitess是通过分片实现MySQL水平扩展的数据库集群系统,主要使用Go语言开发。Vitess将MySQL的很多重要功能与NoSQL数据库的扩展性结合在一起。它的内置分片功能可以让用户在不需要给应用程序添加分片逻辑的情况下对数据库进行扩展。Vitess从2011年开始就是YouTube数据库基础设施的核心组件,它已经发展到成千上万个MySQL节点。

Vitess并没有使用标准的MySQL连接,因为这会消耗很多RAM,也会限制每个节点的连接数量。它使用了更有效的基于gRPC的协议。另外,Vitess会自动重写会损害数据库性能的查询,通过缓存机制来调解查询,防止相同的查询同时进入数据库。

 

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第10张图片

TiDB

TiDB是一款兼容MySQL、支持混合事务和分析处理(HTAP)的分布式数据库。它基于事务性键值存储而构建,提供全面的水平扩展性(通过增加节点)以及持续可用性。大多数早期的TiDB用户都在中国,因为TiDB的开发者在北京。TiDB的源代码主要用Go语言编写。

TiDB的底层是RocksDB,RocksDB是Facebook的日志结构键值数据库引擎,用C++编写,因此能获得最好的性能。RocksDB上面是Raft共识层、事务层,然后是支持MySQL协议的SQL层。

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第11张图片

 

YugaByte DB

YugaByte DB结合了分布式ACID事务、多区域部署、对Cassandra和Redis API的支持,对PostgreSQL的支持即将推出。相对Cassandra而言,YugaByte是强一致性,而Cassandra时最终一致性。YugaByte的基准测试也比开源的Cassandra要好,但比商用的Cassandra要差一些,而DataStax Enterprise 6具备可调一致性。YugaByte相当于快速、具有更强一致性的分布式Redis和Cassandra。它可以对单个数据库进行标准化处理,比如将Cassandra数据库和Redis缓存结合在一起。

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第12张图片

 

Neo4j

Neo4j图形数据库在处理相关性网络的任务时,执行速度比SQL和NoSQL数据库更快,但图模型和Cypher查询语言需要进行专门的学习。最近,俄罗斯Twitter流氓分析、ICIJ的Panama Papers分析以及Paradise Papers的分析指出,Neo4j是非常有价值的。

经过18年的开发,Neo4j已经成为了一个成熟的图数据库平台,可以在Windows、MacOS、Linux、Docker容器、VM和集群中运行。即使是Neo4j的开源版本也可以处理很大的图,而在企业版中对图的大小没有限制。(开源版本的Neo4j只能在一台服务器上运行。)

【大数据】InfoWorld的2018年最佳开源数据平台奖公布_第13张图片

 

InfluxDB

InfluxDB是没有外部依赖的开源时间序列数据库,旨在处理高负载的写入和查询,在记录指标、事件以及进行分析时非常有用。它可以运行在MacOS、Docker、Ubuntu/Debian、Red Hat/CentOS和Windows平台上。它提供了一个内置的HTTP API和SQL风格的查询语言,并旨在提供实时的查询响应(100毫秒之内)。

 

原文:The best open source software for data storage and analytics

你可能感兴趣的:(Big,Data,Analysis,数据科学)