我们欢迎 Trillabit 作为嘉宾来到我们的博客。继续阅读 Keith Riddolls(CEO/创始人)的文章,了解他们为什么选择 ClickHouse 而不是 Apache Solr 和 Snowflake 来为其报表和商业智能平台提供支持。
TrillaBit Quick Intelligence 是一个用于报表和商业智能的动态 SaaS 平台,它利用 ClickHouse 的强大功能来实现快速可扩展的结果。
Quick Intelligence 不仅仅是一个可视化工具,而是一个完整的端到端企业级平台。它处理多租户和安全性,同时允许对大数据进行动态数据探索。Quick Intelligence 可以嵌入或独立使用,并可以与部署在任何位置的 ClickHouse 集成。
使用 ClickHouse
最初,TrillaBit 使用的是 Apache Solr。为什么不呢?TrillaBit 是一个搜索驱动的分析平台,所以为什么不使用一个搜索驱动的后端数据存储呢?Solr 能够进行一定程度的数据聚合,模型是动态的,索引非常适合搜索目的。
然而,我们很快遇到了一些挑战。Solr 作为键值存储,更适合搜索,而不是高容量的非线性聚合或用于提高性能的数据压缩。它的查询语言不如 SQL 成熟,并且它实际上不处理连接。
在实现来自多个来源的真实公司数据时,我们发现不同的场景需要更多的灵活性。有一种是“尽可能轻松且低成本地运行”,例如使用数据所在的位置和格式。另一种是“让我们正确地完成这件事”,例如使用星型模式和维度事实表构建数据仓库,并将数据移动到这些结构中。这些场景需要更多的数据仓库解决方案,而不是搜索引擎。
目标
目标是从能够以低成本管理并在我们的环境中实施以获得实践经验和理解的东西开始。我们希望在将其移交给托管服务之前详细了解该技术。
Snowflake 作为热门竞争者,价格实在太高,并且不允许进行完全的本地部署。请参阅:为什么 Snowflake 这么贵?
ClickHouse 是一种极佳的替代方案,使用 开源社区版本 可以获得快速的 性能 和低成本。在本地/自管理(AWS)上设置 ClickHouse,使我们能够获得快速、实践的经验,以最佳方式了解它如何融入我们的环境。
以下列出了一些我们在深入研究过程中发现的首选功能
集成引擎
在数据摄取方面,ClickHouse 提供了简化工作流程的方法。表引擎功能非常适合连接存储在不同存储和形式中的数据。
用于集成的 表引擎 是一项很棒的功能,允许直接连接到其他关系型存储,如 MySQL 或 Postgres。只需连接并运行即可!TrillaBit 产品运行在关系型存储中管理的元数据上。无需移动数据即可连接到元数据,这使得可以在 ClickHouse 本身内进行查找、连接和视图,并且对集成速度具有巨大的好处。
TrillaBit 具有用于客户端发布快速网络和物联网流数据的流式端点。其背后是 Kafka。用于连接和高效使用 ClickHouse 中数据的 Kafka 表引擎 效果很好。
虽然目前 TrillaBit 使用较少,但 ClickHouse 确实允许通过 S3 表引擎 进行直接的 S3 集成,以进行加载和卸载。
数据管理引擎
在 ClickHouse 中存储和管理数据时,MergeTree 系列 具有许多有用的功能。TrillaBit 主要使用 ReplacingMergeTree 根据排序键删除重复项。我们经常收到现有记录的增量更改,并且可以通过根据主键替换它们来轻松保留当前准确的状态,而不会出现重复,并且代码最少。AggregatingMergeTree 减少了对不断流动的数据的增量聚合的编码和管理,从而再次减少了自定义编码和处理。
AirByte 和 JSON
对于某些需要移动数据的客户端集成,TrillaBit 将使用 Airbyte。对于快速的 POC,数据以原始 JSON 格式摄取。然后,通过视图,JSON 结构将通过如下简单的查询读取并转换为表结构
SELECT toInt64(JSON_VALUE(_airbyte_data,'$.id')) AS location_id,
JSON_VALUE(_airbyte_data,'$.name') AS location_name,
JSON_VALUE(_airbyte_data,'$.address') AS address,
JSON_VALUE(_airbyte_data,'$.city') AS city,
JSON_VALUE(_airbyte_data,'$.state') AS state,
JSON_VALUE(_airbyte_data,'$.zip') AS zip,
JSON_VALUE(_airbyte_data,'$.country') AS country,
toDecimal64(nullIf(lower(JSON_VALUE(_airbyte_data,'$.longitude')),'null'),12) AS longitude,
toDecimal64(nullIf(lower(JSON_VALUE(_airbyte_data,'$.latitude')),'null'),12) AS latitude,
FROM mydb._airbyte_raw_stg_Location;
此功能与其他功能一样,使我们的实施和实验时间缩短了几天甚至几周!
关于使用 ClickHouse 的最后一点需要注意的是 优秀的社区贡献知识。从其社区、云支持者和 ClickHouse Inc 那里找到的有关 ClickHouse 的信息本身就是一项宝贵的资源。
借助 ClickHouse 和此 知识库,TrillaBit 能够快速启动并运行所有内容,从 开源 开始。
ClickHouse Cloud
随着 TrillaBit 的发展,我们现在正在迁移到 ClickHouse Cloud。将集群管理卸载到云端使我们能够专注于自己的产品。ClickHouse Cloud 还具有出色的安全特性,符合 PCI 和 SOC II 合规性,使客户更加安心。请参阅 ClickHouse 信任中心。
使用 TrillaBit 的 Quick Intelligence 探索 ClickHouse 数据
TrillaBit 正在以经济高效的方式解决 BI 装配线问题。Quick Intelligence 不仅仅是一个工具,而是一个端到端平台,允许用户在搜索栏中提出问题并立即获得可视化答案。
由于 ClickHouse 具有出色的规模性能,因此它可以找到数据并立即将其制成图表。可视化数据后,您可以轻松深入到感兴趣的区域,以发现更多见解并在任何时候公开记录级别的详细信息。
元数据驱动的系统允许业务用户以自己的方式探索数据,提出新问题并在几秒钟内获得即时答案。
保存和共享
当用户在其数据中发现一些有趣且有价值的东西时,他们通常希望将其保存并与他人共享,无论是在工具内部还是外部。有很多方法可以做到这一点。创建动态仪表板并与个人或组共享是一种方法。使用 Quick Intelligence,这就像将可视化内容固定到仪表板或在几秒钟内创建一个新的仪表板一样简单。
用户还可以将其 KPI 导出为图像,用于 PowerPoint 演示文稿、Word 或电子邮件。您还可以直接深入到基础原始数据并将其导出到 Excel 以与同事共享。
嵌入还是不嵌入 希望将此功能用作自身产品的公司可以选择将 Quick Intelligence 嵌入到其自己的产品中。他们可以将其外观设计成自己的品牌或在帐户级别设计成其任何客户的品牌。其他希望在内部使用此功能的公司能够在独立的 UI 中获得所有这些功能。
此外,独立版和嵌入版都可以在单个实现中获得。兼得两者之长。
安全性和可扩展性 TrillaBit Quick Intelligence 利用 ABAC 策略控制。它允许多租户功能,并可以保护多个部门的数据。
后端可扩展性的很大一部分来自 ClickHouse 的高效性能。无论是您的 ClickHouse 环境、ClickHouse Cloud 还是由 TrillaBit 管理所有内容,该产品都非常灵活,能够处理多种配置。
TrillaBit 可扩展到物联网和网络级流量数据量,轻松处理数万亿行数据,同时提供实时分析。
在 ClickHouse 上开始使用 TrillaBit
TrillaBit 是一个企业级平台。如果您已经拥有 ClickHouse,TrillaBit 可以连接到它,您将立即开始运行!
TrillaBit 是元数据驱动的,因此唯一需要的是数据。
如果您希望在 ClickHouse 中运行自己的数据仓库,并让 TrillaBit 在其上运行,请告知我们。我们将与您的 ClickHouse 部署集成,并指导您完成整个流程。
如果您希望完全免动手,TrillaBit 可以为您处理端到端流程。您的业务用户或客户将能够自行开始探索并收集见解。
请随时联系我们:[email protected]