Other

项目介绍

kamu-data/kamu-cli 是一个托管在 GitHub 上的开源项目,主要使用 Rust 编写,采用 Other 许可证,目前获得 351 个 Star、21 次 Fork。

仓库全名
kamu-data/kamu-cli
开源许可证
Other
Star 数
351
Fork 数
21
未关闭 Issue
183

README 摘要

[Website] | [Docs] | [Demo] | [Tutorials] | [Examples] | [FAQ] | [Chat] kamu (pronounced kæmˈuː) is a command-line tool for management and verifiable processing of dynamic structured data. It's a green-field project that aims to enable global collaboration on data on the same scale as seen today in software. Intro kamu is based on Open Data Fabric protocol. Introductory video You can think of it as: Local-first…

完整内容见 GitHub 原始 README 或本页 。

常见问题

kamu-cli 用什么语言开发?

主要使用 Rust 编写,采用 Other 许可证,目前有 351 个 Star。

kamu-cli 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 kamu-cli 的源码?

可以直接克隆仓库:git clone https://github.com/kamu-data/kamu-cli.git,默认分支为 master;安装与运行步骤见仓库 README。

kamu-cli 最近还在维护吗?

仓库最近一次更新为 5 天前,当前有 183 个未关闭 Issue;Star 数为 351,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Next-generation decentralized data lakehouse and a multi-party stream processing network

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
404
价值分
208
活跃状态
活跃

语言占比

Dockerfile
HTML
Jupyter Notebook
Makefile
Nix
PLpgSQL
Polar
Python
Rust
Shell

README

kamu (pronounced kæmˈuː) is a command-line tool for management and verifiable processing of dynamic structured data. It’s a green-field project that aims to enable global collaboration on data on the same scale as seen today in software.

Intro

kamu is based on Open Data Fabric protocol.

Open Data Fabric: Building Block of Collaborative Data

Introductory video

You can think of it as:

  • Local-first lakehouse - a free alternative to Databricks / Snowflake / Microsoft Fabric that can run on your laptop without any accounts, and scale to a large on-prem cluster
  • Kubernetes for data pipelines - an infrastructure-as-code framework for building ETL pipelines using wide range of open-source SQL engines
  • Git for data - a tamper-proof ledger that handles data ownership and preserves full history of changes to source data
  • Smart contracts for SQL - a verifiable computing system for transforming data and recording fine-grain provenance and lineage
  • Peer-to-peer data network - a set of open data formats and protocols for:
    • Non-custodial data sharing
    • Federated querying of global data as if one giant database
    • Processing pipelines that can span across multiple organizations.

Quick Start

Use the installer script (Linux / MacOSX / WSL2):

curl -s "https://get.kamu.dev" | sh

How it Works

Ingest from any source

kamu works well with popular data extractors like Debezium and provides many built-in sources ranging from polling data on the web to MQTT broker and blockchain logs.

Ingesting data

Track tamper-proof history

Data is stored in Open Data Fabric (ODF) format - an open Web3-native format inspired by Apache Iceberg and Delta.

In addition to “table” abstraction on top of Parquet files, ODF provides:

  • Cryptographic integrity and commitments
  • Stable references over real-time data
  • Decentralized identity, ownership, attribution, and permissions (based on W3C DIDs)
  • Rich extensible metadata (e.g. licenses, attachments, semantics)
  • Compatibility with decentralized storages like IPFS

Unlike Iceberg and Delta that encourage continuous loss of history through Change-Data-Capture, ODF format is history-preserving. It encourages working with data in the event form, and dealing with inaccuracies through explicit retractions and corrections.

Explore, query, document

kamu offers a wide range of integrations, including:

  • Embedded SQL shell for quick EDA
  • Integrated Jupyter notebooks for ML/AI
  • Embedded Web UI with SQL editor and metadata explorer
  • Apache Superset and many other BI solutions
SQL Shell Integrated Jupyter notebook

Build enterprise-grade ETL pipelines

Data in kamu can only be transformed through code. An SQL query that cleans one dataset or combines two via JOIN can be used to create a derivative dataset.

kamu doesn’t implement data processing itself - it integrates many popular data engines (Flink, Spark, DataFusion…) as plugins, so you can build an ETL flow that uses the strengths of different engines at different steps of the pipeline:

Complex ETL pipeline in Kamu Web UI

Get near real-time consistent results

All derivative datasets use stream processing that results in some revolutionary qualities:

  • Input data is only read once, minimizing the traffic
  • Configurable balance between low-latency and high-consistency
  • High autonomy - once pipeline is written it can run and deliver fresh data forever with little to no maintenance.

Share datasets with others

ODF datasets can be shared via any conventional (S3, GCS, Azure) and decentralized (IPFS) storage and easily replicated. Sharing a large dataset is simple as:

kamu push covid19.case-details "s3://datasets.example.com/covid19.case-details/"

Because dataset identity is an inseparable part of the metadata - dataset can be copied, but everyone on the network will know who the owner is.

Reuse verifiable data

kamu will store the transformation code in the dataset metadata and ensure that it’s deterministic and reproducible. This is a form of verifiable computing.

You can send a dataset to someone else and they can confirm that the data they see in fact corresponds to the inputs and code:

# Download the dataset
kamu pull "s3://datasets.example.com/covid19.case-details/"

# Attempt to verify the transformations
kamu verify --recursive covid19.case-details

Verifiability allows you to establish trust in data processed by someone you don’t even know and detect if they act maliciously.

Verifiable trust allows people to reuse and collaborate on data on a global scale, similarly to open-source software.

Query world’s data as one big database

Through federation, data in different locations can be queried as if it was in one big data lakehouse - kamu will take care of how to compute results most optimally, potentially delegating parts of the processing to other nodes.

Every query result is accompanied by a cryptographic commitment that you can use to reproduce the same query days or even months later.

Start small and scale progressively

kamu offers unparalleled flexibility of deployment options:

  • You can build, test, and debug your data projects and pipelines on a laptop
  • Incorporate online storage for larger volumes, but keep processing it locally
  • When you need real-time processing and 24/7 querying you can run the same pipelines with kamu-node as a small server
  • A node can be deployed in Kubernetes and scale to a large cluster.

Get data to and from blockchains

Using kamu you can easily read on-chain data to run analytics on smart contracts, and provide data to blockchains via novel Open Data Fabric oracle.

Community

If you like what we’re doing - support us by starring the repo, this helps us a lot!

Subscribe to our YouTube channel to get fresh tech talks and deep dives.

Stop by and say “hi” in our Discord Server - we’re always happy to chat about data.

If you’d like to contribute start here.


评论

暂无评论