Datenbank suggetstion

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Kileraptor1
User
Beiträge: 2
Registriert: Montag 20. Juli 2020, 07:02

Hallo Leute,

ich möchte eine (Arbeits-) Zeiterfassung realisieren.

Habe ein Rasperry 3b und dort die rfid installiert.
Nun möchte ich die Daten in die Datenbank schreiben.

kommen / Gehen...

Welche Datenbankmodul / Software könnt Ihr empfehlen?

Ich kenne " nur" mysql viele Grüße
einfachTobi
User
Beiträge: 491
Registriert: Mittwoch 13. November 2019, 08:38

Je nach Umfang und Anspruch sind da verschiedenste Datenbanken denkbar. Klassische SQL-Datenbanken wie SQLite, MySQL, MariaDB, PostgreSQL, MSSQL, ... oder auch NoSQL-Datenbanken wie MongoDB, ArangoDB, CouchDB, ... Ich mag SQLite für kleine Projekte oder MongoDB (auch für größere Projekte), weil ich mit Python einen guten Zugang dazu habe und leicht damit hantieren kann. In jedem Fall ist es entscheidend vorher gut über die Struktur der Daten nachzudenken und erst dann mit der Umsetzung zu beginnen.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@Kileraptor1: mysql reicht doch. Wenn Du das schon kennst, dann mach das damit.
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Wenn du eine Datenbank nutzt, ist diese sicherlich mit ganz gewaltigem Abstand der komplexeste Komponente deiner Anwendung. Es braucht einiges an wissen um eine Datenbank effizient nutzen zu können und noch einiges mehr um sie auch ausreichend sicher zu administrieren. Das man dieses Wissen gleichermaßen für mehrere (OLTP) Datenbanken hat ist nahezu ausgeschlossen, selbst wenn man Experte auf dem Gebiet ist.

Das bestätigt sich mir dass jedesmal wenn ich ein Vorstellungsgespräch führe mit jemandem der eine lange Liste von Datenbanken im CV hat (Tipp: eine relationelle OLTP Datenbank, Redis, eine NoSQL Datenbank, vielleicht noch eine OLAP Datenbank im CV sind ok, mehr als dass ist eine Red Flag).

Insofern macht es immer Sinn erstmal die Datenbank zu nutzen mit der du am meisten Erfahrung hast, es sei den du hast einen wirklich guten Grund dies nicht zu tun. Marketing zu Datenbank X sagt die wäre besser ist da kein guter Grund.

tl;dr: Nimm MySQL.
nezzcarth
User
Beiträge: 1635
Registriert: Samstag 16. April 2011, 12:47

Wenn man eine relationale Datenbank hat, die nur aus einer Tabelle besteht, keine SQL-Abfragen braucht und das also nur eine Arbeitzeiterfassung für dich ohne Schnickschnack sein soll, kann auch eine einfache Textdatei ("Flat File Database") oder ein Key-Value Store reichen. Im Unterschied zu relationalen Datenbanken gibt es da jedoch etwas weniger "Hilfestellung" zum Design; das kann teilweise zu mehr konzeptuellem Aufwand und schlechteren Ergebnissen führen. Bei einer simplen Zeitverwaltung sehen ich das Problem aber nicht so sehr.
garreth
User
Beiträge: 41
Registriert: Donnerstag 23. Oktober 2014, 12:04

Ich würde mir auf jeden Fall SQLAlchemy ansehen. Ist nicht nur sehr handlich, sondern bietet auch die Möglichkeit mit einer SQLite Datenbank zu beginnen und später dann auf z.B. MySQL zu migrieren.
Antworten