评论:Kinetica实时分析数十亿行

2023-10-09 17:50

本文主要是介绍评论:Kinetica实时分析数十亿行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2009年, Kinetica的未来创始人试图找到一个现有的数据库,使位于贝尔福堡(弗吉尼亚州)的美国陆军情报与安全司令部(INSCOM)能够实时跟踪数百万种不同信号,从而空洞了评估国家安全威胁。 因此,他们以大规模并行化为中心,从头开始构建了一个新数据库,结合了GPU和CPU的强大功能,以时空方式探索和可视化数据。 到2014年,他们吸引了其他客户,并在2016年成立了Kinetica。

编辑选择奖徽标梅花 信息世界

该数据库的当前版本是Kinetica 7的核心,现在范围已扩展为Kinetica Active Analytics Platform。 该平台将历史和流数据分析,位置智能和机器学习结合在一个高性能,可用于云的程序包中。

[ TensorFlow机器学习入门 。 • TensorFlow评论:最好的深度学习库变得更好 。 •查看最新版本的TensorFlow中的新增功能 。 | 通过InfoWorld的App Dev Report新闻通讯了解编程方面的热门话题。 ]

作为参考客户,Kinetica包括Ovo,GSK,SoftBank,Telkomsel,Scotiabank和Caesars等。 Ovo使用Kinetica进行零售个性化。 印度尼西亚无线运营商Telkomsel使用Kinetica来获取网络和订户信息。 雪佛龙最近收购的Anadarko使用Kinetica加快了油盆分析的速度,以至该公司不需要对900亿行的调查数据集进行下采样以进行3D可视化和分析。

Kinetica通常与其他GPU数据库进行比较,例如OmniSci ,Brytlyt,SQream DB和BlazingDB。 但是,据该公司称,它们通常会与更广泛的解决方案竞争,从定制的SMACK(Spark,Mesos,Akka,Cassandra和Kafka)堆栈解决方案到更传统的分布式数据处理和数据仓库平台。

Kinetica的主要功能和架构

Kinetica将其分布式,内存中,GPU加速的数据库与流分析,位置智能和机器学习相结合。 该数据库是矢量化的,列式的,内存优先的,并且设计用于分析(OLAP)工作负载,可自动在CPU和GPU之间分配任何工作负载。 Kinetica使用SQL-92作为查询语言,非常类似于PostgreSQL和MySQL,并支持多种功能,包括文本搜索,时间序列分析,位置智能和图形分析。

Kinetica可以通过跨GPU内存,系统内存,磁盘或SSD,HDFS和云存储(如Amazon S3)智能管理数据来对整个数据集进行操作。 据该公司称,这种管理所有存储层的能力是Kinetica在GPU数据库中独有的。

凭借其分布式并行摄取功能,Kinetica可以对流数据集(使用Kafka )进行高速摄取,并同时对流数据和历史数据进行复杂的分析。 您可以直接在Kinetica中针对数据训练TensorFlow模型,或导入经过预先训练的TensorFlow或“黑匣子”模型,以通过批处理,流处理或公共Web服务执行推理。

Kinetica具有强大的GPU加速的地理空间库,可以执行按需过滤,聚合,时间序列,空间连接和地理围栏分析。 它也可以使用服务器端渲染技术来显示无限的几何图形,热图和轮廓(因为大型数据集的客户端渲染非常耗时)。

您可以在本机图形上下文中使用关系数据(通过从关系数据中显式创建节点,边线和其他图形对象)来了解地理空间和非地理空间关系,并且可以执行实时路线优化,甚至进行社交网络分析使用Kinetica的GPU加速图形算法(使用kinetica.solve_graph函数)。

动力学平台图01 动力学

此图概述了Kinetica Active Analytics Platform的高级功能组件。

kinetia gpu加速数据库02 动力学

该图显示了GPU加速的内存中OLAP数据库如何与Kinetica平台的其他功能关联。

Kinetica安装和配置选项

有三种安装Kinetica的方法。 现在首选的方法是KAgent,它可以自动执行Kinetica,Active Analytics Workbench(AAW)和Kubernetes,Ring(高可用性)等安装和配置。 两种替代方法是使用Docker(用于Kinetica的便携式安装),以及使用常见的基于Linux的软件包管理器(例如yumapt )通过命令行手动安装。

资源管理。 Kinetica支持五个存储层:VRAM,RAM,磁盘缓存,持久性和冷存储。 任何使用GPU的操作都需要将其操作的数据放在VRAM层中。 在这五个层中管理数据不是一个简单的问题。

驱逐是将数据从较高的层强制移至较低的层,以便为将其他数据移入较高的层留出空间。 系统中的每个对象都有一个级别的可退出性,这取决于它是对象的类型以及可以将其驱逐到其下的可用层。 可以响应请求而执行驱逐,这可能会导致大量数据移动,也可以基于高水位和低水印级别以及驱逐优先级在后台主动执行驱逐,而通常这会减少数据移动。

高可用性。 Kinetica HA消除了标准Kinetica群集中的单点故障,并提供了从故障中恢复的功能。 它在Kinetica外部实现,以利用数据的多个副本并提供最终一致的数据存储。 Kinetica HA解决方案由四个组件组成:前端负载平衡器,高可用性过程管理器,一个或多个Kinetica集群以及分布式消息传递队列。

行政。 您可以使用图形GAdmin工具,Linux命令行service命令或KAgent管理Kinetica。 以下屏幕截图显示了6节点群集的GAdmin仪表板。

动力学管理控制台03 IDG

您可以使用GUI管理Kinetica。 在这里,我们可以看到集群中所有节点的状态。 ec2域名是集群在AWS上运行的暗示。 注意Tesla M60 GPU。

Kinetica演示

除了GAdmin和KAgent,Kinetica还提供基于Web的可视化工具Reveal和Active Analytics Workbench(AAW),用于集成机器学习模型和算法。

上面的屏幕快照中显示的六节点群集是我用来浏览几个Kinetica演示的群集。 该集群由g3.8xlarge实例组成,每个实例包含两个Nvidia Tesla M60 GPU和32个Intel Xeon E5 2686 v4 CPU。 每个实例每个GPU具有244 GiB的RAM和16 GiB的VRAM。 可以按比例缩小,放大和缩小此设置,以适应任何用例。 完成测试后,数据库包含413个表和22亿条记录。

我探索的演示是使用选项进行财务风险预测,德克萨斯州发生洪水的保险风险,基于流量检查的网络安全评估以及纽约市的出租车车程。 在此过程中,我注意到,不同于OmniSci的演示( 请参阅我的评论 ),它们都使用单个扁平表(为了提高速度),Kinetica演示经常使用多个表,视图和分析仪表板。

带有选项的财务风险预测

该应用程序实质上是Kinetica实时财务风险管理概念的证明。 借助React移动应用程序和两个Web仪表板,风险管理者可以查看其投资组合的所有“问候”(衡量风险的因素)并添加对冲。 在幕后,交易流进入数据库,Black Scholes机器学习风险模型会根据实时数据不断更新。 相比之下,传统的风险管理涉及将交易数据复制到每晚运行风险模型的单独群集中。

动力学移动应用程序04 IDG

我的Android手机的屏幕截图显示了基于期权组合的“希腊”的连续实时移动风险预测仪表板。 前端是自定义的React Web应用程序,此应用程序的后端在Kinetica中运行。

动力学揭示样品仪表板05 IDG

上面的屏幕截图显示了Kinetica Reveal Web仪表板,用于连续实时风险预测。 该仪表板显示了三个“希腊语”以及投资组合中各个符号的贡献,持有的表格以及用于应用过滤器进行勘探的工作空间。

动态实时投资组合分析06 IDG

上面的屏幕截图显示了另一个Kinetica Reveal仪表板,用于相同的实时投资组合风险管理方案。 此图显示了一个实时条形图,该条形图汇总了每个符号的希腊文;折线图显示了每个符号在一段时间内的希腊文;以及用于时间序列和汇总显示的过滤器。

德克萨斯州特大洪水的保险风险

该应用程序的目的是从保单持有人和哈维飓风灾区表中评估保险公司在德克萨斯州发生灾难性洪灾的风险。 该应用程序使用SQL进行大量的地理空间计算以及统计计算。

动力学灾难事件汇总摘要07 IDG

此仪表板显示了出于洪水保险目的,德克萨斯州按县划分的灾难性洪灾的总体风险。

动力学灾难事件放大影响08 IDG

该仪表板显示了对休斯顿地区灾难性飓风的保险影响的分析。 我放大了显示,并将显示范围限制为受洪水影响的策略。

网络安全评估

此应用程序旨在帮助网络安全员保护网络免受入侵。 基本的Kinetica表结合了约18亿个历史网络请求和实时供稿。

动力学网络上海09 IDG

上面的仪表板显示了放大的上海区域中的网络元数据,这导致大量被拒绝的数据包,这意味着防火墙认为它们是恶意的。 在全球范围内,被拒绝的数据包仅占18亿记录总数的很小一部分。

纽约出租车

我也在OmniSci中查看了纽约市出租车行车数据库 。 Kinetica将其作为您可以加载的数据集提供; 花了大约一分钟。 最初,在Kinetica中进行每次地图缩放操作后,更新所有图表所花费的时间比我从OmniSci所记得的要长。 然后我更改了一个设置,以使Kinetica不会在其他图表上绘制缩放地图之外的数据,并且响应时间降至亚秒级范围内。

动力学纽约出租车放大10 IDG

上面的仪表板显示了从2009年到2014年的数据集,在500,000例纽约出租车中约有4,500例,放大到东区长老会医院周围的区域。 您可以清楚地看到医院弯弯驱动器处的高密度下车点。

Kinetica切片和仪表板

Kinetica Reveal中的各个图形称为切片。 这些切片被组织成仪表板。

Slice设计器与OmniSci和许多BI产品(例如Tableau)中的设计器非常相似。

动力学切片设计师11 IDG

Kinetica的切片设计器可用于创建各种图表,地图和表格。

我没有测试Kinetica的图形分析部分,但我喜欢它的设计方式。 如果图形数据库只是处理数据的一小部分,那么将关系表中存储的行作为边和节点重用是很有意义的。 使用GPU加速图形算法也很有意义。

了解Kinetica如何将机器学习与其GPU数据库,实时分析和地理信息相集成,使我了解了OmniSci的发展方向,但Kinetica已经存在了。 另外,了解Kinetica如何管理其存储层使我理解了Kinetica为什么通常会与大数据和数据仓库系统竞争。

总体而言,Kinetica非常令人印象深刻。 它可以实现它所声称的功能,使单个数据库跃升到更高的数据库……我的意思是,实时分析具有数十亿历史行和实时提要的数据库。 我希望能对订阅费用有所了解,但这是专有的,这与这种规模的系统通常是一样的。

-

成本: Kinetica会根据内存中的TB数量收取年度订阅费用; 它不为其他层的数据存储收费。 订阅许可证使您可以在本地或云中的任何地方运行Kinetica。 订阅费用是完全可以预测的。 提供30天免费试用。

平台:具有至少八个CPU内核和8 GB RAM的RHEL,CentOS,Ubuntu,Suse或Debian Linux服务器; Nvidia K40或更高版本的GPU; 本地,云中或Jetson TX2嵌入式设备的边缘。 Kinetica还可在带有或不带有GPU的Docker上运行。

翻译自: https://www.infoworld.com/article/3391576/review-kinetica-analyzes-billions-of-rows-in-real-time.html

这篇关于评论:Kinetica实时分析数十亿行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/cxq8989/article/details/107257817
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/174541

相关文章

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

python中Hash使用场景分析

《python中Hash使用场景分析》Python的hash()函数用于获取对象哈希值,常用于字典和集合,不可变类型可哈希,可变类型不可,常见算法包括除法、乘法、平方取中和随机数哈希,各有优缺点,需根... 目录python中的 Hash除法哈希算法乘法哈希算法平方取中法随机数哈希算法小结在Python中,

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重

关于MyISAM和InnoDB对比分析

《关于MyISAM和InnoDB对比分析》:本文主要介绍关于MyISAM和InnoDB对比分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录开篇:从交通规则看存储引擎选择理解存储引擎的基本概念技术原理对比1. 事务支持:ACID的守护者2. 锁机制:并发控制的艺

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛