本文主要是介绍评论:Kinetica实时分析数十亿行,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2009年, Kinetica的未来创始人试图找到一个现有的数据库,使位于贝尔福堡(弗吉尼亚州)的美国陆军情报与安全司令部(INSCOM)能够实时跟踪数百万种不同信号,从而空洞了评估国家安全威胁。 因此,他们以大规模并行化为中心,从头开始构建了一个新数据库,结合了GPU和CPU的强大功能,以时空方式探索和可视化数据。 到2014年,他们吸引了其他客户,并在2016年成立了Kinetica。
该数据库的当前版本是Kinetica 7的核心,现在范围已扩展为Kinetica Active Analytics Platform。 该平台将历史和流数据分析,位置智能和机器学习结合在一个高性能,可用于云的程序包中。
作为参考客户,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
函数)。
此图概述了Kinetica Active Analytics Platform的高级功能组件。
该图显示了GPU加速的内存中OLAP数据库如何与Kinetica平台的其他功能关联。
Kinetica安装和配置选项
有三种安装Kinetica的方法。 现在首选的方法是KAgent,它可以自动执行Kinetica,Active Analytics Workbench(AAW)和Kubernetes,Ring(高可用性)等安装和配置。 两种替代方法是使用Docker(用于Kinetica的便携式安装),以及使用常见的基于Linux的软件包管理器(例如yum
和apt
)通过命令行手动安装。
资源管理。 Kinetica支持五个存储层:VRAM,RAM,磁盘缓存,持久性和冷存储。 任何使用GPU的操作都需要将其操作的数据放在VRAM层中。 在这五个层中管理数据不是一个简单的问题。
驱逐是将数据从较高的层强制移至较低的层,以便为将其他数据移入较高的层留出空间。 系统中的每个对象都有一个级别的可退出性,这取决于它是对象的类型以及可以将其驱逐到其下的可用层。 可以响应请求而执行驱逐,这可能会导致大量数据移动,也可以基于高水位和低水印级别以及驱逐优先级在后台主动执行驱逐,而通常这会减少数据移动。
高可用性。 Kinetica HA消除了标准Kinetica群集中的单点故障,并提供了从故障中恢复的功能。 它在Kinetica外部实现,以利用数据的多个副本并提供最终一致的数据存储。 Kinetica HA解决方案由四个组件组成:前端负载平衡器,高可用性过程管理器,一个或多个Kinetica集群以及分布式消息传递队列。
行政。 您可以使用图形GAdmin工具,Linux命令行service
命令或KAgent管理Kinetica。 以下屏幕截图显示了6节点群集的GAdmin仪表板。
您可以使用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机器学习风险模型会根据实时数据不断更新。 相比之下,传统的风险管理涉及将交易数据复制到每晚运行风险模型的单独群集中。
我的Android手机的屏幕截图显示了基于期权组合的“希腊”的连续实时移动风险预测仪表板。 前端是自定义的React Web应用程序,此应用程序的后端在Kinetica中运行。
上面的屏幕截图显示了Kinetica Reveal Web仪表板,用于连续实时风险预测。 该仪表板显示了三个“希腊语”以及投资组合中各个符号的贡献,持有的表格以及用于应用过滤器进行勘探的工作空间。
上面的屏幕截图显示了另一个Kinetica Reveal仪表板,用于相同的实时投资组合风险管理方案。 此图显示了一个实时条形图,该条形图汇总了每个符号的希腊文;折线图显示了每个符号在一段时间内的希腊文;以及用于时间序列和汇总显示的过滤器。
德克萨斯州特大洪水的保险风险
该应用程序的目的是从保单持有人和哈维飓风灾区表中评估保险公司在德克萨斯州发生灾难性洪灾的风险。 该应用程序使用SQL进行大量的地理空间计算以及统计计算。
此仪表板显示了出于洪水保险目的,德克萨斯州按县划分的灾难性洪灾的总体风险。
该仪表板显示了对休斯顿地区灾难性飓风的保险影响的分析。 我放大了显示,并将显示范围限制为受洪水影响的策略。
网络安全评估
此应用程序旨在帮助网络安全员保护网络免受入侵。 基本的Kinetica表结合了约18亿个历史网络请求和实时供稿。
上面的仪表板显示了放大的上海区域中的网络元数据,这导致大量被拒绝的数据包,这意味着防火墙认为它们是恶意的。 在全球范围内,被拒绝的数据包仅占18亿记录总数的很小一部分。
纽约出租车
我也在OmniSci中查看了纽约市出租车行车数据库 。 Kinetica将其作为您可以加载的数据集提供; 花了大约一分钟。 最初,在Kinetica中进行每次地图缩放操作后,更新所有图表所花费的时间比我从OmniSci所记得的要长。 然后我更改了一个设置,以使Kinetica不会在其他图表上绘制缩放地图之外的数据,并且响应时间降至亚秒级范围内。
上面的仪表板显示了从2009年到2014年的数据集,在500,000例纽约出租车中约有4,500例,放大到东区长老会医院周围的区域。 您可以清楚地看到医院弯弯驱动器处的高密度下车点。
Kinetica切片和仪表板
Kinetica Reveal中的各个图形称为切片。 这些切片被组织成仪表板。
Slice设计器与OmniSci和许多BI产品(例如Tableau)中的设计器非常相似。
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实时分析数十亿行的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!