You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tangos is built on sqlalchemy, which means that it is in principle possible to use any database system supported by sqlalchemy. However, different database systems have different features and limitations of which it is worth being aware.
5
+
6
+
The tangos tests are run with SQLite, mySQL and postgresql. Other databases, while supported by sqlalchemy, have not been directly tested. The following contain some notes on using these different systems.
7
+
8
+
SQLite
9
+
------
10
+
11
+
SQLite is the default database. It is simple in the sense that it keeps your entire database within a single file which can easily be transferred to different systems. Additionally, the SQLite driver is included with Python and so it's quick to get started.
12
+
13
+
There are two major, related drawbacks to SQLite. The first is that the
14
+
15
+
PostgreSQL and MySQL
16
+
--------------------
17
+
18
+
PostgreSQL and MySQL are both server-based systems, and as such take a little more effort to set up and maintain. If one exposes PostgreSQL to the outside world, there are potential security implications. One can of course run it on a firewalled computer and manage access appropriately, but this takes some expertise of its own (that will not be covered here). The major advantage is that you can host your data in a single location and allow multiple users to connect.
19
+
20
+
21
+
22
+
MySQL
23
+
-----
24
+
25
+
MySQL is a server-based system, and as such takes a little more effort to set up. The advantage is that you can host your data in a single location and allow multiple users to connect. Additionally, it is able to cope much better with complex parallel writes than SQLite.
26
+
27
+
For most users, MySQL and PostgreSQL are
28
+
29
+
To try this out, if you have [docker](https://docker.com), you can run a test
30
+
MySQL server very easily:
31
+
32
+
```bash
33
+
docker pull mysql
34
+
docker run -d --name=mysql-server -p3306:3306 -e MYSQL_ROOT_PASSWORD=my_secret_password mysql
35
+
echo"create database database_name;"| docker exec -i mysql-server mysql -pmy_secret_password
36
+
```
37
+
38
+
Or, just as easily, you can get going with PostgreSQL:
0 commit comments