介绍
我最近加入OmniSci作为社区开发人员倡导者。我的职责是帮助建立全球 OmniSci 社区,并通过演示和技术写作提高知名度。我的背景是数据库技术,但我以前没有 OmniSci 或图形处理单元 (GPU) 技术的经验。在这个系列文章中,我将分享我作为初学者所学到的OmniSci知识,我希望这对其他初学者也很有用。我将主要专注于开源软件(OSS)和行业标准。
什么是Omnisci?
OmniSci 的核心是一个分析平台,可以大规模处理大量数据。如图 1 所示,OmniSci 由三个主要分组中的多个组件组成:数据集成、OmniSci平台以及开发和加速。
图 1.OmniSci 建筑(来源:OmniSci)。
数据集成
公司可能正在使用”在休息数据”或”流式处理数据”,而且通常两者都是一种。各种方法可用于OmniSci平台来收录数据,例如通过JDBC,或者直接从ApacheKafka。OmniSci 还可用于流数据,例如 IoT 和传感器生成的数据。在这两种情况下,数据都可能会遇到数十亿行。OmniSci 平台可以轻松处理此类数据卷。
开发和加速
开发和加速还使用行业标准 ODBC 和 JDBC 将数据导出到各种外部工具,例如。我们还可能希望使用机器学习进行进一步的数据处理。OmniSci 支持 Python,这是当今数据科学家最常用的编程语言之一。也可以与第三方工具(如 TensorFlow)集成。
在本文中,我们将重点介绍 OmniSci 平台。
什么是 OmniSci 平台?
从图 1 中我们可以看到,OmniSci 平台由三个主要组件组成:
现在,让我们更详细地看这三个组件。
与 OmniSciDB 入门
OmniSciDB 是一个开源 SQL 数据库引擎,设计用于在 GPU 和 CPU 上运行。因此,它可以受益于 GPU 提供的优势,例如并行性或并行处理能力,这可以提高性能。OmniSciDB 还使用多层内存缓存、实时 (JIT) 查询编译框架和原位图形渲染。
使用 GPU 可提供缩放和性能。例如,使用 GPU 时,SQL 查询性能通常要高出许多数量级,即使不使用其他加速器(如索引)。
今天,SQL 仍然非常流行,使用非常广泛。数据科学家和开发人员可以使用其现有的 SQL 编程知识和技能来查询数据库系统。OmniSci 提供了几种用户运行 SQL 查询的方法:
- OmniSciDB 附带命令行工具。
- OmniSci 沉浸式提供基于浏览器的 SQL 编辑器。
SQL 查询结果可以在 OmniSci 沉浸式中呈现或输出到流行的 BI 工具这些类型的应用程序需要支持更丰富的数据类型,例如:
- 点
- 线弦
- 多边形
- 多利波利贡
OmniSci 通过为开放地理空间联盟(OGC) 数据类型提供支持,支持地理空间数据的存储和查询。还支持多种地理空间文件格式,例如:
- 吉奥杰森
- ESRI 形状文件
- Kml
- 带 WKT 的 CSV/TSV
此外,还支持地理空间功能,例如:
- 几何构造函数
- 几何编辑器
- 几何访问器
- 空间关系和测量
在使用地理空间数据时,GPU 技术可以再次提供相当大的优势,我们将在本系列后续文章中看到示例。
如前所述,OmniSciDB 是开源的,支持一系列编程接口,这些接口将吸引许多不同的用户,如数据科学家和开发人员。在以后的文章中,我们将介绍如何使用其中一些接口的示例,例如 Python 和 JavaScript。同时,您可以在GitHub上找到 OmniSciDB 的进一步详细信息、下载链接和生成说明。
接下来,让我们讨论全尼西渲染。
使用 Vega 渲染引擎在 OmniSci 渲染中开始分析
对于分析,我们需要可视化数据的能力。OmniSci 渲染使用 Vega 渲染引擎执行此任务。它的工作原理是服务器端,并生成一系列不同的可视化效果,例如:
- 点贴图
- 热图
- 乔罗普莱特斯
- 散点图
在服务器上进行渲染提供了许多好处。例如,使用服务器端 GPU 处理功能可以非常快速地生成可视化效果。此外,创建可视化效果后,只需将小型图形文件发送到 OmniSci 沉浸式。发送小文件还会减少网络流量,这对大型复杂图表来说可能是个问题。
之前,我们讨论了 OmniSci 的地理空间数据支持。在执行地理空间查询时,我们可能会处理数百万个不同的地理空间数据点。快速渲染这些形状并将分辨率更改为以交互方式放大的能力提供了真正的业务优势。OmniSci 能够使用服务器端处理和智能网络数据传输,这再次成为可能。
OmniSci 开箱即用,支持 Vega 渲染引擎的实现,该引擎可生成 OmniSci 沉浸式显示的可视化效果。但是,可以自定义 API,使用基于低资源浏览器的前端提供服务器端处理的相同优势。
最后,让我们讨论一下全功能沉浸。
参加 OmniSci 沉浸式试驾
我们可以使用 OmniSci 沉浸式查看 OmniSci 渲染生成的可视化效果并与之交互。我们可以创建多个仪表板和许多不同的图表类型。让我们来看看一些例子。
在图 2 中,我们使用 OmniSci 沉浸式 OmniSci 云环境,并且我们有许多保存的仪表板,如图所示。
图 2.已保存的仪表板。
让我们浏览一下”航班演示”仪表板。在图 3 中,我们可以看到已用于构造此特定仪表板的多种图表类型。
“宽度=”780″/*
图 3.航班演示。
如果我们选择”添加图表”选项(显示在右上角,我们可以看到许多可以使用的内置图表类型,如图 4 所示)。
图 4.不同的图表类型。
这些内置的交互式图表也可以自定义。我们还可以执行交互式筛选,并将更新所有适当的图表。例如,如果我们按月份和周日进行筛选(如图 5 所示),我们可以看到其他图表已适当更新。
图 5.按月和星期数进行筛选。
现在,让我们看一下另一个仪表板,即 2015 年纽约市树普查,如图 6 所示。
图 6.纽约市树普查2015年。
我们可以看到,这里有很多信息。让我们按第 6 大道和劣质树健康进行筛选,如图 7 所示。
图 7.第六大道和树健康差。
我们可以看到,按树种和树径的记录已经更新。
在使用流数据时,图表可以自动刷新,提供对数据的快速洞察,并帮助识别特定趋势,例如。
我们几乎没有用这些例子来触及表面,我们将在以后的文章中更详细地介绍更多示例。
后续步骤
使用 OmniSci 有多种入门方法:
在线文档和教程是使用 OmniSci 开始您旅程的绝佳场所。社区支持也可在线获得。
在下一篇文章中,我们将了解如何安装 OmniSciDB 的开源版本。
总结
在当今的许多行业,存在相当大的竞争压力、机遇和威胁。我们还可能正在处理大量数据,无论是静止数据还是流数据。因此,组织需要能够大规模地处理数据,并实现高性能,以便及时提供业务洞察。
OmniSci 是一种基于标准的解决方案,为用户提供了执行分析和创建可视化的工具,以满足当今的挑战,例如业务决策者、数据科学家和开发人员。
在本文中,我们看到了 OmniSci 平台主要组件的快速概述在本初学者系列的未来文章中,我们将更详细地探讨其中一些功能和开源第三方集成。直到下次!
确认
我衷心感谢 OmniSci 的同事审阅了本文的前几篇草稿,并帮助我理解 OmniSci 平台。