Prisma1: Database Connectors

Created on 27 Jan 2018  ·  12Comments  ·  Source: prisma/prisma1

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: ☑️

areconnector statustale

Most helpful comment

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

All 12 comments

Would you consider "Apache Ignite" ?

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

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

@sorenbs could we update the original post to have the link for the passive MySQL connector point here:
https://github.com/prismagraphql/prisma/issues/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?

+1 for SQLite

Another +1 for SQLite

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

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.

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.

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.

Any news on Elastic search connector?

SQLite optionally stored in S3 like this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Fi1osof picture Fi1osof  ·  3Comments

marktani picture marktani  ·  3Comments

schickling picture schickling  ·  3Comments

sedubois picture sedubois  ·  3Comments

AlessandroAnnini picture AlessandroAnnini  ·  3Comments