EdgeDB

EdgeDB
软件描述
EdgeDB 是一种数据库,旨在解决使数据库(无论是关系型还是 NoSQL 型)操作变得不必要繁琐的一些根本性设计缺陷。
官方网站
访问软件的官方网站了解更多信息
www.edgedb.com
什么是 EdgeDB?
EdgeDB 是一种数据库,旨在解决关系型和 NoSQL 数据库在使用过程中存在的一些根本性设计缺陷,这些缺陷使得数据库操作变得不必要地繁琐。
它像你一样看待模式:将对象及其属性通过链接连接起来。你可以称其为具有面向对象数据模型的关系型数据库,或具有严格模式约束的图数据库。我们称之为首个图-关系型数据库。
具有图式结构但以关系为核心
EdgeDB 模式中的核心单元是对象类型,相当于 SQL 中的表。对象类型包含属性,并可与其他对象类型建立连接,形成模式图。
满足不断增长的应用所需的所有功能
EdgeDB 的模式不仅包含属性和链接,还具备现代关系型数据库的完整功能:约束、默认值、索引、计算属性、类型继承、删除级联策略等。
让迁移变得更出色
所有迁移均由数据库自动生成并跟踪。你可以通过基于 CLI 的迁移工作流,逐个交互式地验证每一步迁移。
一种适合文明时代的优雅查询语言
以对象思维而非行思维
EdgeQL 通过返回结构化结果对象来解决对象-关系阻抗不匹配问题,而不是返回行列表——从而无需依赖第三方 ORM 来反规范化结果。
专为开发者设计的查询语言,而非西装革履者
SQL 设计时考虑的是 1970 年代的商人,这一点显而易见。EdgeQL 使用开发者熟悉的语法来表达选择集、作用域、结构和属性赋值。
深度获取,无需 JOIN
使用 EdgeDB 模式语言定义你的模式。只需写出对象类型、其属性以及它们之间的链接即可。无需外键。
终于有了真正可组合的查询语言
EdgeQL 查询完全可组合,使子查询和嵌套插入等操作变得轻而易举。
🔄 替代方案
68 个选择
SQLGate
SQLGate 是一款集成的数据库管理和开发解决方案,可简化数据库的构建与操作。该方案适用于多种类型的数据库,针对占数据库管理系统(DBMS)市场83.2%的七种不同数据库进行了定制。

HSQLDB
HSQLDB(Hyper Structured Query Language Database)是一个用Java编写的关联数据库管理系统。它具有JDBC驱动程序,支持SQL-92和SQL:2008标准的大部分功能。它提供快速、轻量级(版本2中约1300千字节)的数据库解决方案。

dbHarbor: SQLite
dbHarbor不仅仅是一个数据库管理工具,它为开发者和数据库管理员提供了一个集数据库设计、实施和测试于一体的统一平台。

CUBRID Database
CUBRID 是一个功能全面的、采用 GPL/BSD 许可证的开源关系型数据库管理系统,专为 Web 应用程序高度优化。CUBRID 使用 C/C++ 开发,具备原生高可用性、在线热备份等特性。提供 JDBC、PHP、ODBC/.NET、Ruby 及 Python 等 API。

H2 Database Engine
H2 是用 Java 编写的关系型数据库管理系统。它可以嵌入 Java 应用程序中,也可运行在客户端/服务器模式下。磁盘占用空间(JAR 文件大小)约为 1 MB。

OrbitDB
OrbitDB 是一个无服务器、分布式、点对点的数据库。OrbitDB 使用 IPFS 作为数据存储,并利用 IPFS 广播订阅功能自动与同伴同步数据库。它是一个最终一致性数据库,使用 CRDT 实现无冲突的数据库合并,使 OrbitDB 成为一个出色的……

Vertica
Vertica 是一种基于网格的列式数据库,专为管理大量且快速增长的数据而设计,并在数据仓库及其他查询密集型应用中提供极快的查询性能。

Apache HBase
HBase 是一个开源的非关系型分布式数据库,其设计灵感来自 Google 的 BigTable,使用 Java 编写。它是 Apache 软件基金会 Hadoop 项目的一部分,运行在 HDFS(Hadoop 分布式文件系统)之上,提供……

