GithubHelp home page GithubHelp logo

darrenbaldwin07 / coredb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tembo-io/tembo

1.0 0.0 0.0 7.18 MB

Postgres on Steroids

License: Other

Shell 0.16% Python 2.38% Rust 94.21% Makefile 2.66% Dockerfile 0.59%

coredb's Introduction

CoreDB

Discord Chat

CoreDB aims to dramatically simplify the developer experience of deploying, managing, and scaling Postgres through a novel “database-as-code” approach.

CoreDB is an "On Steroids" distribution of Postgres under active development that you are free to use, except to compete with the managed service that we are building concurrently with this open project (see http://coredb.io/coredb-community-license).

The key idea behind CoreDB is to build a radically simplified Postgres platform designed for the application developer and built to be extensible—removing the friction from the database management workflow by putting the developer first. Developers will be able to deploy a workload-optimized Postgres cluster in minutes, with access to all the powerful functionality managed in code, with the ability to leverage the rich Postgres ecosystem of plugins, extensions, and support.

Why Postgres?

Postgres is the second most popular database in the world, behind MySQL. It is a battle-tested database with a large community that can handle SQL (relational) and JSON (non-relational) queries and a wide range of workloads (i.e, analytical, time-series, geospatial, etc), on account of its’ rich ecosystem of add-ons and extensions.

Deploying

Deploying and managing a Postgres database is complex. There are numerous configurations and optimization options. Backup and disaster recovery are non-trivial. Significant resources are required to deploy in distributed and highly available modes. These deployments are primarily managed by DBAs (database administrators) and data engineers, who spend most of their time optimizing queries, indexes, table structures, building new data models, and optimizing the underlying hardware. Application developers in larger teams rely on DBAs and data engineers to provision, configure, and manage their Postgres databases for their applications.

Schema Management

In addition to the operational complexity of running the database infrastructure, there is a lack of good development interfaces to manage the lifecycle of the data model itself. As a simple example, what should happen if you want to change the type of a field in the database? Application developers currently have to rely on custom libraries/tooling/process to solve this problem.

Features

  • None yet :)

Roadmap - MVP

  • CLI Ops — changes to the cluster, database, and schemas are documented in code, and stored in source control
  • Beautiful monitoring UI — get information about the cluster, without having to use the SQL console
  • Integrated extensions — developers don't have to enable functionality via SQL commands
  • Kubernetes Operator

Roadmap - Next

  • Awesome migrations — migrations are a database concern, not an application concern
  • Schema source-of-truth — the database should communicate it's schema clearly to authorized users

Roadmap - Maybe

  • Serverless - seperate the storage from the compute
  • HTAP - automatically store data in the best format (row-wise or columnar) for the queries that you run
  • Multi-master — we should be able to run multiple masters that sync in the background
  • App sidecars - standard directories like /dbt /python /rust that you could drop your data pipelines or apps into, and are then run "as close as possible" to the database

coredb's People

Contributors

chuckhend avatar evanhstanton avatar ianstanton avatar ryw avatar sjmiller609 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.