CQL:范畴数据库

Hacker News Top 工具

摘要

CQL是一个开源工具,利用范畴论执行数据库操作,如查询、迁移和集成数据,并通过定理证明提供内置的正确性保证。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/06/02 15:33

# CQL 来源:https://categoricaldata.net/ ## 分类数据库logo 主页(https://categoricaldata.net/)| 下载(https://categoricaldata.net/download.html)| 入门指南(https://categoricaldata.net/examples.html)| 手册(https://categoricaldata.net/help/index.html)| 维基(https://github.com/CategoricalData/CQL/wiki)| 论文(https://categoricaldata.net/papers.html)| 截图(https://categoricaldata.net/screens.html)| GitHub(https://github.com/categoricalData)| Google Group(https://groups.google.com/forum/#!forum/categoricaldata)| Conexus AI(https://conexus.com/)| [联系](mailto:[email protected]) --- ## 一种有原则的数据转换方式 开源 CQL 及其集成开发环境(IDE)利用**范畴论**(https://en.wikipedia.org/wiki/Applied_category_theory)——数学的一个分支,它已经彻底改变了计算机科学的多个领域——来执行与数据相关的任务,例如查询、合并、迁移和演化数据库。开源 CQL 已可用于生产环境,适用于单节点内存数据处理工作负载,例如为数据科学集成数据(http://arxiv.org/abs/1903.10579)。它正由 **Conexus AI**(https://conexus.com/)进行商业化;如需咨询,请联系 **Ryan Wisnesky**(https://wisnesky.net/)。 ## 价值主张 - **通过人工智能降低失败风险**。CQL 包含一个内嵌的自动定理证明器,可保证 CQL 程序的正确性。例如,CQL 程序无法实例化违反数据完整性约束(https://categoricaldata.net/fk.html)的数据实例。此类错误在编译时就被检测出来,此时修复它们最为容易。 - **保持数据质量**。高质量数据获取成本高昂,因此在整个数据生命周期中保持这种质量至关重要。CQL 程序以数学上通用的方式演化与迁移数据,且质量零损耗。因此,由 CQL 集成的数据具有诸多优势,包括完美的溯源:CQL 程序输出的每一行都包含一个谱系,精确描述该行是如何从输入数据中获得的(https://categoricaldata.net/joinless.html)。 - **通过更高级的抽象提高开发者生产力**。CQL 使用范畴论的强大原理对 SQL 中的概念进行了泛化。例如,CQL 将 SQL 的 select-from-where 查询从返回单个表泛化为返回由外键关联的多个表(https://categoricaldata.net/fk.html)。这种更高级的抽象使开发者能够更高效地工作。 --- ## 主要特性 - **灵活的 I/O**:数据可通过 JDBC-SQL(https://categoricaldata.net/jdbc.html)、CSV 等方式导入和导出 CQL。 - **可视化**:CQL 模式(https://categoricaldata.net/images/shot2.png)、数据库(https://categoricaldata.net/images/shot3.png)等可以图形方式显示。 - **丰富的数据完整性约束**:CQL 模式包含实体、属性和外键——以及它们之间的等式(https://categoricaldata.net/eqs.html)。等式的一个用途是实现反范式化,而无需手动维护冗余数据的一致性(https://categoricaldata.net/denorm.html)。 - **计算模式**:用户自定义函数是 CQL 模式的一部分(https://categoricaldata.net/unitconv.html),可以通过 Java、JavaScript 或纯粹用等式来指定。CQL 的定理证明器能够推理用户自定义函数及其与数据完整性约束的关系。 - **比 SQL 更有原则**:诸如外键之类的关系概念在 CQL 中以更原则的形式重新出现(https://categoricaldata.net/joinless.html)。而且 CQL 提供了 SQL 所缺乏的原始操作(https://categoricaldata.net/quotient.html)。 - **100% Java**:用户自定义函数可以用 Java 或 JavaScript 编写,并且与 **Statebox**(https://statebox.org/)合作,正在开发 CQL 到 Haskell 的深度嵌入。 - **无状态**:CQL 不是数据库管理系统:它既不存储也不更新数据。它是一个规范的函数式编程语言(https://categoricaldata.net/cql/fql_def.pdf)和 IDE,其可伸缩性与 SQL 和 chase 引擎(https://www.cs.ox.ac.uk/boris.motik/pubs/bkmmpst17becnhmarking-chase.pdf)相当。 由 **Kan extensions / Silmarils / 应用范畴论**(https://silmarils.tech/)驱动。CQL 提供了 David Spivak 的 olog(本体日志)(https://arxiv.org/abs/1102.1889)的参考实现。 Gremlin Morgoth(https://categoricaldata.net/Morgoth.png) Sigma Delta Pi 商品商店(https://www.bystadium.com/us/en/stores/cql-merch2-93792/S038133016)

相似文章

apache/cassandra

GitHub Trending (daily)

Apache Cassandra 是一个高度可扩展的分区行存储数据库,通过其 Cassandra 查询语言(CQL)自动在机器间分布数据。