All Projects → edgedb → Edgedb

edgedb / Edgedb

Licence: apache-2.0
The next generation relational database.

Programming Languages

python
139335 projects - #7 most used programming language
cython
566 projects
rust
11053 projects

Projects that are alternatives of or similar to Edgedb

Dgraph
Native GraphQL Database with graph backend
Stars: ✭ 17,127 (+219.06%)
Mutual labels:  graphql, database
Objectbox Java
ObjectBox is a superfast lightweight database for objects
Stars: ✭ 3,950 (-26.42%)
Mutual labels:  database, edgedb
Altair
✨⚡️ A beautiful feature-rich GraphQL Client for all platforms.
Stars: ✭ 3,827 (-28.71%)
Mutual labels:  graphql, database
Mongoke
Instant Graphql for MongoDb (active branch is golang, rewrite in process)
Stars: ✭ 203 (-96.22%)
Mutual labels:  graphql, database
Graphql Compiler
Turn complex GraphQL queries into optimized database queries.
Stars: ✭ 447 (-91.67%)
Mutual labels:  graphql, database
Rxdb
🔄 A client side, offline-first, reactive database for JavaScript Applications
Stars: ✭ 16,670 (+210.54%)
Mutual labels:  graphql, database
Opencrud
OpenCRUD is a GraphQL CRUD API specification for databases
Stars: ✭ 350 (-93.48%)
Mutual labels:  graphql, database
Graphql Genie
Simply pass in your GraphQL type defintions and get a fully featured GraphQL API with referential integrity, inverse updates, subscriptions and role based access control that can be used client side or server side.
Stars: ✭ 147 (-97.26%)
Mutual labels:  graphql, database
Ruby Pg
A PostgreSQL client library for Ruby
Stars: ✭ 446 (-91.69%)
Mutual labels:  database, rdbms
Tensorbase
TensorBase BE is building a high performance, cloud neutral bigdata warehouse for SMEs fully in Rust.
Stars: ✭ 440 (-91.8%)
Mutual labels:  database, high-performance
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (-96.5%)
Mutual labels:  graphql, database
Sled
the champagne of beta embedded databases
Stars: ✭ 5,423 (+1.02%)
Mutual labels:  database, high-performance
Space Cloud
Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes
Stars: ✭ 3,323 (-38.1%)
Mutual labels:  graphql, database
Graphik
Graphik is a Backend as a Service implemented as an identity-aware document & graph database with support for gRPC and graphQL
Stars: ✭ 277 (-94.84%)
Mutual labels:  graphql, database
Webtau
Webtau (short for web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, Graph QL, Browser, Database, CLI and Business Logic with consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.
Stars: ✭ 156 (-97.09%)
Mutual labels:  graphql, database
Prisma1
💾 Database Tools incl. ORM, Migrations and Admin UI (Postgres, MySQL & MongoDB)
Stars: ✭ 16,851 (+213.92%)
Mutual labels:  graphql, database
Next
Directus is a real-time API and App dashboard for managing SQL database content. 🐰
Stars: ✭ 111 (-97.93%)
Mutual labels:  graphql, database
Directus
Open-Source Data Platform 🐰 — Directus wraps any SQL database with a real-time GraphQL+REST API and an intuitive app for non-technical users.
Stars: ✭ 13,190 (+145.72%)
Mutual labels:  graphql, database
Tempesta
The Linux Application Delivery Controller
Stars: ✭ 429 (-92.01%)
Mutual labels:  database, high-performance
V8 Archive
Directus Database API — Wraps Custom SQL Databases with a REST/GraphQL API
Stars: ✭ 486 (-90.95%)
Mutual labels:  graphql, database

Build Status Join GitHub discussions

What is EdgeDB?

EdgeDB is an open-source object-relational database built on top of PostgreSQL. The goal of EdgeDB is to empower its users to build safe and efficient software with less effort.

EdgeDB features:

  • strict, strongly typed schema;
  • powerful and expressive query language;
  • rich standard library;
  • built-in support for schema migrations;
  • native GraphQL support.

Check out the blog posts for more examples and the philosophy behind EdgeDB.

Modern Type-safe Schema

The data schema in EdgeDB is a clean high-level representation of a conceptual data model:

type User {
    required property name -> str;
}

type Person {
    required property first_name -> str;
    required property last_name -> str;
}

type Review {
    required property body -> str;
    required property rating -> int64 {
        constraint min_value(0);
        constraint max_value(5);
    }

    required link author -> User;
    required link movie -> Movie;

    required property creation_time -> cal::local_datetime;
}

type Movie {
    required property title -> str;
    required property year -> int64;
    required property description -> str;

    multi link directors -> Person;
    multi link cast -> Person;

    property avg_rating := math::mean(.<movie[IS Review].rating);
}

EdgeDB has a rich library of datatypes and functions.

EdgeQL

EdgeQL is the query language of EdgeDB. It is efficient, intuitive, and easy to learn.

EdgeQL supports fetching object hierarchies with arbitrary level of nesting, filtering, sorting and aggregation:

SELECT User {
    id,
    name,
    image,
    latest_reviews := (
        WITH UserReviews := User.<author[IS Review]
        SELECT UserReviews {
            id,
            body,
            rating,
            movie: {
                id,
                title,
                avg_rating,
            }
        }
        ORDER BY .creation_time DESC
        LIMIT 10
    )
}
FILTER .id = <uuid>$id

Status

EdgeDB is currently in beta. See our Issues for a list of features planned or in development.

Getting Started

Please refer to the Tutorial section of the documentation on how to install and run EdgeDB.

Documentation

The EdgeDB documentation can be found at edgedb.com/docs.

Building From Source

Please follow the instructions outlined in the documentation.

License

The code in this repository is developed and distributed under the Apache 2.0 license. See LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].