Run queries on new backends
theosotr opened this issue · comments
investigate if it is possible to run queries on new backends e.g.,
- Oracle DB https://www.oracle.com/database/technologies/appdev/xe.html,
- MS server https://www.microsoft.com/en-us/sql-server/sql-server-downloads
- CockroachDB https://www.cockroachlabs.com/
- MariaDB https://mariadb.org/ (Most ORMs use MySQL adapter for MariaDB)
We should fill the following table
Backend | Django | Peewee | SqlAlchemy | ActiveRecord | Sequilize |
---|---|---|---|---|---|
Oracle DB | X | - | X | X (not officially) | - |
MS Server | X (not officially) | - | X | X (not officially) | X |
Maria DB | X | X | X | X | X |
CockroachDB | X (not officialy) | X | X (not officially) | X | X (not officially) |
X: Supported
So it's worth to investigating all backends.
Oracle DB: supported by two well-established ORMS
MS Server: supported by sqlalchemy and sequelize
Maria DB: supported by the majority of ORMs.
We can also consider Cockroach https://www.cockroachlabs.com/.
This DB is not officially supported by the corresponding ORMs, but by the CockroachDB developers.
For example see
https://github.com/cockroachdb/sqlalchemy-cockroachdb
Why CockroachDB? Because the researchers of ETH found hundeds of bugs in this DBMS, so I believe that we may also find bugs in their ORM extensions.
All orms (Django,Peewee,SQLAlchemy,ActiveRecord) use the same connectors for mysql and mariadb.
#29 Cockroachdb
#32 MS SQL
It's complex to support oracledb. I implemented the first steps in this branch.