Splitgraph DDN是一个单一的SQL端点,允许您查询Splitgraph上托管或代理的40,000多个公共数据集。
您可以从大多数PostgreSQL客户端和BI工具连接到它,而无需安装任何其他东西。它支持所有只读SQL构造,包括筛选器和聚合。它甚至允许您跨不同的数据集运行联接。
在这篇文章中,我们将向您简要介绍DDN,并讨论它在幕后是如何工作的,以及我们对其未来的计划。
端点位于postgresql://data.plitraph.com:5432/ddn。您需要Splitgraph API密钥和密码才能访问它。
您不需要安装任何东西即可使用端点。如果您转到Splitgraph帐户设置,则可以生成一对凭据。然后,您可以将它们插入您的SQL客户端。
如果您已经在使用sgr客户端,并且之前已经注册了Splitgraph,那么您可以检查您的.sgconfig文件中的API密钥。您还可以通过SGR升级将客户端升级到0.2.0版本,并运行SGR云SQL以获取与libpq兼容的连接字符串。
我们的文档中提供了更多设置方法。这包括通过客户端连接到Splitgraph,如DBeaver,BI工具,如Metabase或Google Data Studio,甚至通过ODBC连接到其他数据库。
当您连接到Splitgraph时,您的SQL客户机将向您显示一些模式。这些是我们的Explore页面上的数据存储库,以及您上传到Splitgraph的数据集。
我们将此功能称为工作区。它通过实现ANSI信息模式标准来工作。我们将在未来更多地拓展工作空间。例如,我们将允许您:
您可以通过将拆分图图像引用为PostgreSQL Schemata:Namespace/Repository[:hash_or_tag]来对其运行查询。默认情况下,我们查询最新的标记。
例如,如果您想查询由Splitgraph代理到苏格拉塔的cityofchicago/covid19-daily-cases-deaths-and-hospitalizations-naz8-j4nc存储库,您可以运行:
我们允许您使用SQL SELECT和EXPLAIN语句。您可以使用任何SQL子句,包括GROUP-BY、Aggregation、Filter和Join。拆分图将过滤器下推到源数据源。
我们在元数据库演示中使用的此示例查询在两个数据集之间运行联接:
选择剑桥案例(_CASES)。日期截止日期,芝加哥案例.CASES_TOTAL AS芝加哥_DAILY_CASES,剑桥_CASES.new_Positive_CASES AS剑桥_DAILY_CASES来自";cityofchicago/covid19-daily-cases-deaths-and-hospitalizations-naz8-j4nc";.covid19_daily_cases_deaths_and_hospitalizations芝加哥_CASES FULL OUTER JOIN";cambridgema-gov/covid19-cumulative-cases-by-date-tdt9-vq5y";.covid19_Cumulative_Cases_By_Date剑桥_CASES on Date_trunc(';第&39;天,芝加哥案例.lab_Report_Date)=剑桥案例。按日期排序的日期ASC;
这将连接两个不同的苏格拉塔数据门户(伊利诺伊州芝加哥和马萨诸塞州剑桥)之间的数据。
我们还支持PostGIS,允许您查询和可视化地理空间数据。例如,您可以按如下方式查询伦敦区边界数据图像:
选择名称,gss_code,--转换为https://epsg.io/4326以在地图上绘制ST_Transform(ST_SetSRID(GEOM,27700),4326),--转换为https://epsg.io/3035用于公制单位(对于面积)ST_Area(ST_Transform(ST_SetSRID(GEOM,27700),3035))/1000000 As Area_sqkm from";Splitgraph/London_Wards";.City_Merge_2018 Order by Gss_code asc;
Splitgraph Data Delivery Network是我们在过去两年中为SGR客户端和Splitgraph核心代码所做的所有工作的结果。
我们使用PostgreSQL外来数据包装器。它们允许我们跨联合数据源执行查询执行和规划。我们以前写过关于外国数据包装器的文章:它们功能强大,而且没有得到充分利用!
我们使用pgBouner(PostgreSQL连接池)的分支来管理连接。我们的fork允许我们在PostgreSQL之外执行身份验证。我们可以发出和撤销API密钥,而不必操作数据库角色。多个入站拆分图用户可以作为单个PostgreSQL用户运行查询。
我们还使用pgBouler动态转换查询。我们重写客户端自检查询,并让它们将拆分图图像引用为PostgreSQL模式。
每个客户端实质上都在其自己的隔离虚拟数据库中操作。最明显的实现方式是为每个客户端启动一个数据库。但是我们的查询转换使我们能够以低得多的基础设施成本来实现这一点。我们还使用此功能动态检查和删除不需要的查询。
最后,我们使用我们自己的SGR客户端来编排这一过程。拆分图引擎为数据传输网络提供动力。它们通过分层查询管理外来数据包装实例化和Splitgraph图像查询。未来,我们将使用Splitgraph的存储格式来为远程数据集创建快照或缓存频繁查询。
您将能够使用Splitgraph替换一些数据湖或ETL管道,并在源位置查询数据。这类似于数据虚拟化的想法。但是,与这个领域的其他软件不同,Splitgraph使用开放的PostgreSQL协议。这使得它可以立即与您的大多数BI工具和仪表板兼容。它不会将您锁定在专有查询语言中。
我们很快就可以将外部存储库添加到公共或内部Splitgraph数据目录中。您将能够通过单个SQL端点或我们的REST API查询此目录中索引的任何数据集。您甚至可以在拆分文件中使用这些数据集。这将允许您在数据上定义可重现的转换,使用公共数据集丰富数据,并跟踪谱系。
您将能够将Splitgraph用作SQL防火墙和重写层。您将不需要使用视图来设置数据仓库的访问策略。数据消费者将不需要管理凭据来隔离数据孤岛。Splitgraph可以检查代理查询,并在各个列上实施粒度访问策略。它甚至可以进行PII屏蔽和访问审计。
单个SQL端点非常适合数据市场。数据供应商目前以CSV文件或其他临时格式提供数据。他们必须维护几页有关摄取这些数据的说明。有了Splitgraph,数据消费者将能够直接从他们的应用程序和客户端获取数据并与之交互。
今天,我们推出了Splitgraph数据传输网络。它是单个数据库的无缝体验,数千个数据集在您的指尖,与大多数现有客户端和BI工具兼容。
如果你想尝试一下,你可以在不到一分钟的时间内获得访问它的凭证:只需前往登录页面即可。
我们还在打造Splitgraph私有云产品,该产品将允许您设置自己的私有Splitgraph群集,由我们管理并部署到您选择的云区域。如果您有兴趣,请与我们联系!