Skip to content
This repository has been archived by the owner on Sep 2, 2022. It is now read-only.

Database Connectors #1751

Closed
sorenbs opened this issue Jan 27, 2018 · 12 comments
Closed

Database Connectors #1751

sorenbs opened this issue Jan 27, 2018 · 12 comments
Labels
area/connector status/stale Marked as state by the GitHub stalebot

Comments

@sorenbs
Copy link
Member

sorenbs commented Jan 27, 2018

Connector Types

Prisma supports two kinds of database connectors:

  • Active connectors - manage and migrate the database schema
  • Passive connectors - read and write data only

A connector supports at least one of the following GraphQL flavours:

  • Relational
  • Document
  • Graph
  • Key/Value
  • Search
  • Time series
  • Analytical
  • In Memory

Contributing

The best way to ensure that a particular connector gets build is to contribute the following two things:

  1. Very concrete use case description.
  2. Initial suggestion for syntax for SDL and the generated GrpahQL API.

When we prioritise the connectors to build, community validation plays a big role, so the more you can contribute in the relevant Github issue the better.

Scalar Types

https://github.com/graphcool/prisma/issues/1753 maps out scalar types supported by each database and attempts to map to a common set of GraphQL Scalar Types.

We need to decide if Prisma should support db specific types in addition to the generic types. The MySQL types SMALLINT and INT both map to the GraphQL type Int, but we could also allow mapping them to the GraphQL types MySQL_SMALLINT and MySQL_INT respectively for added control.

Connectors

Relational

MySQL

Active: ✅
Passive: ☑️

PostgreSQL

Active: ✅
Passive: ☑️

Ms SQL

Active: ☑️
Passive: ☑️

Oracle

Active: ☑️
Passive: ☑️

CockroachDB

Active: ☑️
Passive: ☑️

Document

MongoDB

Active: ☑️
Passive: ☑️

ArangoDB

Active: ☑️
Passive: ☑️

Graph

Neo4j

Active: ☑️
Passive: ☑️

Dgraph

Active: ☑️
Passive: ☑️

Neptune

Active: ☑️
Passive: ☑️

Analytical

Druid

Active: ☑️
Passive: ☑️

Time series

Influx

Active: ☑️
Passive: ☑️

Timescale

Active: ☑️
Passive: ☑️

Key/Value

DynamoDB

Active: ☑️
Passive: ☑️

Cassandra

Active: ☑️
Passive: ☑️

Search

Elastic Search

Active: ☑️
Passive: ☑️

In Memory

Redis

Active: ☑️
Passive: ☑️

File Based

SQLite

Active: ☑️
Passive: ☑️

@pranasblk
Copy link

Would you consider "Apache Ignite" ?

@nharlow89
Copy link

Any chance of a file-based db such as an sqlite connector?

@sorenbs
Copy link
Member Author

sorenbs commented May 19, 2018

@nharlow89 - that's a great idea. Could you open a separate issue and describe your use case in as much detail as possible? Thanks!

@cmcinroy
Copy link

cmcinroy commented May 31, 2018

@sorenbs could we update the original post to have the link for the passive MySQL connector point here:
#2506
(EDIT)
... and this link for the passive Postgres connector:
https://github.com/graphcool/prisma/issues/1749

... just to reflect how the related issues have since evolved?

@mnlbox
Copy link

mnlbox commented Jun 18, 2018

+1 for SQLite

@paul-go
Copy link

paul-go commented Jun 26, 2018

Another +1 for SQLite

@kevineger
Copy link

Any thoughts on Cosmos DB? I saw it referenced in this older issue.

@stale
Copy link

stale bot commented Jan 8, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status/stale Marked as state by the GitHub stalebot label Jan 8, 2019
@stale stale bot removed the status/stale Marked as state by the GitHub stalebot label Jan 9, 2019
@stale
Copy link

stale bot commented Feb 23, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status/stale Marked as state by the GitHub stalebot label Feb 23, 2019
@pantharshit00 pantharshit00 removed the status/stale Marked as state by the GitHub stalebot label Feb 23, 2019
@stale
Copy link

stale bot commented Apr 9, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 10 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the status/stale Marked as state by the GitHub stalebot label Apr 9, 2019
@stale stale bot closed this as completed Apr 19, 2019
@cmdavinder
Copy link

Any news on Elastic search connector?

@adonig
Copy link

adonig commented Mar 14, 2020

SQLite optionally stored in S3 like this.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/connector status/stale Marked as state by the GitHub stalebot
Projects
None yet
Development

No branches or pull requests