Introducing G2.ai, the future of software buying.Try now

Was ist eine relationale Datenbank? Wie organisiert ein RDBMS Daten?

3. Mai 2024
von Dibyani Das

Stellen Sie sich vor, Sie betreiben einen E-Commerce-Shop. Sie müssen täglich Kundeninformationen, Bestelldetails und Produktbestände im Auge behalten. Ohne ein ordentliches System ist das Chaos nur einen Verkauf entfernt.

Während Datenbanken strukturell organisiert sind, um Geschäftsdaten zu speichern und zu nutzen, ist eine relationale Datenbank mit verknüpften Tabellen der Schlüssel zu einer verbesserten Datenverwaltung.

Relationale Datenbanklösungen organisieren und verwalten große Mengen an miteinander verbundenen Daten effizient und erschließen letztendlich wertvolle Einblicke für bessere Entscheidungen. Sie ermöglichen es Ihnen, komplexe Informationen in kleinere, fokussierte Tabellen aufzuteilen, die spezifische Daten enthalten, die für ihren Zweck relevant sind.

Relationale Datenbanken verknüpfen verschiedene Tabellen durch Eins-zu-Eins-, Eins-zu-Viele-, Viele-zu-Eins- oder Viele-zu-Viele-Beziehungen. Diese Struktur ermöglicht es Benutzern, Abfragen auszuführen und Daten aus mehreren miteinander verbundenen Tabellen gleichzeitig abzurufen.

Elemente einer relationalen Datenbank

Es gibt mehrere Elemente, die zusammenarbeiten, um die Grundlage einer relationalen Datenbank zu bilden, die es Benutzern ermöglicht, Daten strukturiert und effizient zu speichern, zu organisieren und abzurufen. Diese Elemente umfassen:

  • Tabellen enthalten einen strukturierten Datensatz mit Zeilen und Spalten. Jede Tabelle speichert Daten zu einem bestimmten Thema, wie Kunden, Bestellungen oder Produkte in einem E-Commerce-Shop.
  • Spalten, auch als Attribute oder Felder bekannt, definieren die Struktur einer Tabelle, indem sie den Datentyp angeben, den jeder Eintrag enthalten wird.
  • Zeilen, oft als Datensätze oder Tupel bezeichnet, stellen einzelne Einträge in einer Tabelle dar. Jede Zeile enthält eine Sammlung von Werten, die den Spalten entsprechen.

Relationale Datenbank

  • Schlüssel sind Spalten oder eine Gruppe von Spalten, die Zeilen innerhalb einer Tabelle eindeutig identifizieren.
  • Primärschlüssel garantiert, dass keine zwei Zeilen denselben Wert für die Primärschlüsselspalte haben. Eine Tabelle kann nur einen Primärschlüssel haben. Zum Beispiel kann die Kunden-ID ein Primärschlüssel sein, da keine zwei Kunden dieselbe ID haben werden.
  • Kandidatenschlüssel hilft, alle Zeilen in einer Tabelle eindeutig zu identifizieren. Es kann mehrere Kandidatenschlüssel pro Tabelle geben. Bei der Gestaltung einer Datenbank wählt man in der Regel den effizientesten und geeignetsten Kandidatenschlüssel als Primärschlüssel aus.
  • Fremdschlüssel ist eine Spalte (oder eine Gruppe von Spalten) in einer Tabelle, die auf den Primärschlüssel einer anderen Tabelle verweist. Diese stellen Beziehungen zwischen Tabellen her, die es Benutzern ermöglichen, Daten über sie hinweg zu verbinden und Konsistenz zu gewährleisten.

Wussten Sie schon? Der Begriff "relationale Datenbank" wurde erstmals in einem Forschungspapier im Jahr 1970 von E. F. Codd von IBM geprägt.

Möchten Sie mehr über Relationale Datenbanken erfahren? Erkunden Sie Relationale Datenbanken Produkte.

Wie funktionieren relationale Datenbanken?

Relationale Datenbanken speichern Daten in organisierten Tabellen, ähnlich wie Tabellenkalkulationen. Jede Tabelle konzentriert sich auf ein bestimmtes Thema, wobei Zeilen einzelne Einträge darstellen und Spalten den Datentyp für jeden Eintrag definieren. Stellen Sie sich eine Tabelle für Kundendaten mit Spalten für Kunden-ID, Name und E-Mail vor, wobei jede Zeile die Details eines bestimmten Kunden enthält.

Der Zauber einer relationalen Datenbank liegt darin, wie diese Tabellen verbunden sind. Fremdschlüssel fungieren wie Brücken, die auf den Primärschlüssel einer anderen Tabelle verweisen. Dies ermöglicht es Ihnen, Daten über Tabellen hinweg zu verknüpfen. Beispielsweise könnte eine "Bestellungen"-Tabelle einen "customer_id"-Fremdschlüssel haben, der auf die "Kunden"-Tabelle verweist, sodass Sie sehen können, welcher Kunde eine bestimmte Bestellung aufgegeben hat.

Durch das Verknüpfen von Daten bieten relationale Datenbanken eine strukturierte und effiziente Möglichkeit, Informationen zu speichern und abzurufen.

ACID-Eigenschaften in relationalen Datenbanken

Atomarität, Konsistenz, Isolation und Dauerhaftigkeit (ACID) sind eine Reihe von vier Garantien, die relationale Datenbanken bieten, um die Zuverlässigkeit und Konsistenz von Daten während Transaktionen sicherzustellen. Transaktionen sind Gruppen von Operationen, die als eine Einheit behandelt werden.

  • Atomarität: Alle Operationen innerhalb einer Transaktion können nicht geteilt werden. Entweder gelingen alle Änderungen oder keine. Dies verhindert, dass die Datenbank aufgrund von Teilaktualisierungen in einen inkonsistenten Zustand gerät. Stellen Sie sich vor, Geld zwischen Konten zu überweisen – beide Konten müssen erfolgreich aktualisiert werden oder keines.
  • Konsistenz: Eine Transaktion transformiert die Datenbank von einem gültigen Zustand in einen anderen. Die Datenbankregeln und -beschränkungen werden durchgesetzt, um die Datenintegrität zu wahren und Inkonsistenzen zu verhindern.
  • Isolation: Die Datenbank hält Transaktionen getrennt, um sicherzustellen, dass die Ergebnisse einer Transaktion eine andere nicht beeinflussen, bis die erste abgeschlossen ist. Diese Praxis vermeidet Konflikte und unvorhersehbare Ergebnisse.
  • Dauerhaftigkeit: Sobald eine Transaktion abgeschlossen ist, werden die Änderungen dauerhaft gespeichert. Selbst wenn ein Systemausfall auftritt, garantiert die Datenbank, dass die Daten nicht verloren gehen.

Was ist ein relationales Datenbankmanagementsystem (RDBMS)?

Ein relationales Datenbankmanagementsystem (RDBMS) ermöglicht es einer Organisation, ihre relationalen Datenbanken zu verwalten und zu administrieren. Es ist eine Anwendung, die entwickelt wurde, um organisatorische Datenbanken effizient zu speichern und zu verwalten. RDBMS bieten einen umfassenden Überblick über die Daten und ermöglichen einfachere Abfragen, da es mehrere Namenskonventionen und Richtlinien für jedes Managementsystem gibt. Diese Datenbanken verwenden in der Regel SQL als Abfragesprache.

SQL oder Structured Query Language ist eine Abfragesprache, die speziell für relationale Datenbanken verwendet wird. Sie ist nützlich im Umgang mit strukturierten Daten, bei denen Dateneinheiten miteinander verknüpft sind. SQL hat eine feste Syntax zum Erstellen, Aktualisieren, Ändern, Anzeigen oder Löschen von Datensätzen in einer relationalen Datenbank.

Relationale vs. nicht-relationale Datenbanken

Relationale Datenbankmodelle verarbeiten Datentabellen, die eine vorherige Verknüpfung oder Beziehung haben. Nicht-relationale Datenbanken kamen ins Spiel, als die Datenanforderungen der Geschäftswelt nicht auf einige indizierte Datenbanken beschränkt waren.

Zum Beispiel, wenn eine bestimmte Datenbank mit einigen tausend Tabellen abgefragt werden muss, können relationale Datenbanken wie Microsoft SQL Server oder MySQL sehr hilfreich sein, um die damit verbundenen Transaktionen zu bearbeiten. Aber wenn eine Transaktion oder Datenabfrage Millionen von nicht zusammenhängenden Webseiten durchsuchen muss, werden nicht-relationale Datenbanken wie Hadoop-Dateisysteme oder NoSQL benötigt.

Schauen wir uns die einzelnen Datenbanktypen genauer an und verstehen, warum sie beide für Unternehmen relevant sind.

Arten von Datenbanken Vorteile Nachteile
Relationale Datenbank
  • Eingebaute Datenintegrität
  • Unterstützt 'Joins' zwischen Tabellen und hat bessere Transaktionskonsistenz
  • Starke Indizierung von Daten
  • Weniger Skalierbarkeit für Datenmengen
  • Mehrere Joins beeinflussen die Transaktionsgeschwindigkeit
  • Funktioniert nicht mit unstrukturierten oder halbstrukturierten Daten.
Nicht-relationale Datenbank
  • Schemataunabhängige Datenbanken
  • Hohe Verfügbarkeit und Reichweite
  • Skalierbar je nach Datenbedarf
  • Begrenzte Indizierungsoptionen
  • Häufige Massenaktualisierungen erforderlich
  • Geringere Datenintegrität
  • Häufige Codeänderungen

Wie wählt man die richtige relationale Datenbank aus

Die Wahl des perfekten relationalen Datenbankprodukts hängt von den Geschäftsanforderungen und Zielen einer Organisation ab. Hier sind die Hauptbereiche, die Unternehmen bei der Auswahl einer relationalen Datenbank berücksichtigen sollten.

Datengenauigkeit

Die Art Ihres Unternehmens bestimmt das Maß an Datengenauigkeit, mit dem Sie arbeiten möchten. Wenn Sie ein Finanzinstitut sind, möchten Sie sich für relationale Datenbanken mit einem effizienteren und eingebauten Datenintegritätssystem entscheiden.

Skalierbarkeit

Das erwartete Wachstum Ihrer organisatorischen Datenanforderungen hilft Ihnen bei der Entscheidung, welche relationale Datenbank Sie einführen möchten. Sie können auch die Anzahl der Backup-Dienste berücksichtigen, die eine relationale Datenbank je nach Ihren Daten-Backup-Anforderungen bietet.

Gleichzeitigkeit

Wenn Ihre Geschäftsdaten gleichzeitig von mehreren Benutzern abgerufen werden müssen, ist es am besten, eine relationale Datenbank zu wählen, die eine hohe Gleichzeitigkeit unterstützt und gleichzeitig Ihre Datenintegrität schützt.

Zuverlässigkeit

Die Leistungs- und Zuverlässigkeitsfaktoren einer relationalen Datenbank müssen sorgfältig für Ihre Organisation berücksichtigt werden, insbesondere wenn Sie an Geschäfts-SLAs mit Ihren Kunden oder Lieferanten gebunden sind.

Vorteile von relationalen Datenbanken

Relationale Datenbanken werden weltweit von Unternehmen aufgrund ihrer Datenverarbeitungs- und Verwaltungsmöglichkeiten weit verbreitet eingesetzt. Sie haben das Abfragen von Daten für Unternehmen erheblich erleichtert und ihnen auch geholfen, einen Überblick über verknüpfte Datenpunkte für zukünftige Perspektiven zu behalten.

Werfen wir einen Blick auf die wichtigsten Vorteile der Verwendung von relationalen Datenbanken.

Reduzierte Datenredundanz

Datenredundanz oder doppelte Dateneinträge für denselben Datensatz werden durch die Verwendung relationaler Datenbanken eliminiert. Die Daten in relationalen Datenbanken sind normalisiert. Normalisierung ist ein Prozess, der sicherstellt, dass keine doppelten Daten vorhanden sind. Da die Tabellen verknüpft sind, kann eine einzelne Instanz der Daten in mehreren SQL-Anweisungen oder Abfragen durch Joins verwendet werden.

Katastrophenwiederherstellung

Relationale Datenbanken erleichtern die bequeme Datensicherung und -wiederherstellung, indem sie einfache Import- und Exportfunktionen bieten. Der Datenverkehr ist auch dann erlaubt, wenn die Datenbank in Gebrauch ist, wodurch das Risiko von Datenverlusten und Systemausfällen verringert wird.

Datenkonsistenz

Da Tabellen in einer relationalen Datenbank verknüpft sind, werden Daten, die in einer einzelnen Tabelle aktualisiert werden, in jeder anderen Instanz in der Datenbank widergespiegelt. Zum Beispiel, wenn Sie ein Elektronikgeschäft besitzen und Tabellen wie kundendetails, transaktionsdetails und artikelbestand haben. Wenn ein bestimmter Kunde ein Produkt kauft, werden die Details in jeder dieser Tabellen aktualisiert, wodurch einheitliche Daten in allen von ihnen erhalten bleiben.

Flexibilität

SQL wird als Abfragesprache für relationale Datenbanken verwendet. Es bietet Optionen zum Erstellen, Ändern, Aktualisieren und Löschen von Tabellen in der Datenbank, auch wenn sie in Gebrauch ist. Dies ist besonders hilfreich beim Aktualisieren von Schemata entsprechend den Anforderungen an Transaktionsdaten.

Atomarität

Atomarität bezieht sich darauf, dass eine Datenbanktransaktion als eine einzige Einheit betrachtet wird und nicht von ihren einzelnen Komponenten abhängt. Wenn eine Transaktion in einer relationalen Datenbank stattfinden muss, sollten alle Komponenten, die erforderlich sind, um die Abfrage erfolgreich abzuschließen, vorhanden sein. Dies gilt auch für Commit- oder Speicherabfragen. Wenn ein Teil einer Transaktion nicht festgeschrieben werden kann, erlaubt SQL keine Teil-Commits in einer relationalen Datenbank.

Datenbanksperrung

Wenn mehrere Benutzer versuchen, eine bestimmte Komponente einer relationalen Datenbank zu ändern, verhindert die Datenbanksperrung, dass andere Benutzer auf Daten zugreifen, während sie aktualisiert werden. Es hilft, die Datenkonkurrenz zu erhalten und stellt die Datenintegrität sicher, wenn mehrere Benutzer die Datenbank gleichzeitig verwenden.

Herausforderungen bei der Verwendung relationaler Datenbanken

Relationale Datenbanken, obwohl sie eine optimale Lösung für die meisten Unternehmensdatenbank- und Datensatzprobleme darstellen, stellen einige Probleme mit ihrer Leistung und Skalierbarkeit dar, wenn die Datenmenge ein bestimmtes Limit überschreitet. Lassen Sie uns diese Probleme im Detail betrachten.

Leistungsprobleme

Da Tabellen in einer relationalen Datenbank Verknüpfungen und Beziehungen haben, kann ein plötzlicher Zustrom von Datenzugängen oder -änderungen viele Beziehungen beeinflussen und die Gesamtleistung der Datenbank verlangsamen.

Fähigkeit, Big Data zu verarbeiten

Relationale Datenbanken sind von einem einzelnen Server abhängig. Um mehr Daten zu verarbeiten, benötigen sie eine größere Infrastruktur und Speicherkapazität. Dies macht sie weniger skalierbar und kostspielig für Unternehmen, die große Datenmengen verarbeiten.

Beste relationale Datenbanksoftware im Jahr 2024

Relationale Datenbanksoftware hilft, Daten durch traditionelle Tabellenformate zu speichern und zu verwalten. Sie erstellt und pflegt Beziehungen zwischen transaktionalen Unternehmensdaten und hält die Daten für alle Aktionäre zugänglich.

Um als führender Anbieter von relationaler Datenbanksoftware in Betracht gezogen zu werden, muss eine Lösung:

  • Die Datenorganisation im Tabellenformat unterstützen
  • Benutzern die Änderung von Daten ermöglichen
  • Speicher für Unternehmensdaten bereitstellen

*Nachfolgend sind die fünf führenden Anbieter von relationaler Datenbanksoftware aus dem G2 Fall 2024 Grid® Report aufgeführt. Einige Bewertungen können zur Klarheit bearbeitet worden sein.

1. Amazon Relational Database Service (RDS)

Amazon Relational Database Service (RDS) ist ein verwalteter Dienst von Amazon Web Services (AWS), der die Verwaltung relationaler Datenbanken in der Cloud vereinfacht. Anstatt die Datenbank selbst einrichten und konfigurieren zu müssen, übernimmt RDS diese Aufgaben, sodass Sie sich auf Ihre Anwendung konzentrieren können.

Was Benutzer am meisten mögen:

"Das Beste an RDS ist die Auto-Scaling-Funktion. Früher habe ich einen On-Prem-Server verwendet, um meine MySQL-Datenbank zu hosten, und die Verwaltung von Speicher und Traffic war ein großes Anliegen für mich. Durch das Auslagern von Patches und Infrastrukturmanagement kann ich mich jetzt mehr auf andere Dinge konzentrieren. Ich persönlich mag die Read-Replikas, und ihr Speicher-Autoscaling ist die beste Funktion. Ich kann mein RDS problemlos mit Dutzenden von AWS-Diensten sicher integrieren, ohne zusätzliche Kosten. Ich muss nicht täglich seinen Status überprüfen und kann einfach meine E-Mails ansehen, wenn etwas mit dem RDS schiefgeht. Ich kann problemlos eine Kopie der Datenbank für die Staging-Umgebung aus einem Snapshot erstellen. Ich hatte Schwierigkeiten bei der Implementierung von Audit-Logs, aber der Kundensupport war wirklich gut darin, mir zu helfen. Es ist sehr einfach zu verwenden und zu implementieren. Ich benutze es täglich."

- Amazon Relational Database Service Review, Usman K.

Was Benutzer nicht mögen:

"Wir können es für die Leistung automatisieren, was für mich eine Art Ärgernis ist. Außerdem gibt es Ausfallzeiten, wenn wir es skalieren wollen, und wenn wir die erweiterten Optionen nutzen möchten, sind die Kosten erheblich hoch."

- Amazon Relational Database Service Review, Bishal J.

2. Google Cloud SQL

Google Cloud SQL ist ein vollständig verwalteter relationaler Datenbankdienst, der von der Google Cloud Platform angeboten wird. Er ermöglicht es Ihnen, Datenbanken in der Cloud einzurichten und zu verwalten, anstatt Ihre eigene Datenbankinfrastruktur zu pflegen. Google Cloud SQL verschlüsselt Ihre Daten im Ruhezustand und während der Übertragung und ermöglicht es Ihnen, den Netzwerkzugriff auf Ihre Datenbanken zu steuern.

Was Benutzer am meisten mögen:

"Google Cloud SQL bietet ein cloudbasiertes DBMS, erfordert keine komplizierte Einrichtung und ermöglicht es mir, Daten aus verschiedenen Datenbanken abzufragen, insbesondere Microsoft SQL Server. Außerdem ermöglicht Cloud SQL meinem Team, SQL Server Management Studio zu verwenden, um auf unsere analytischen Projekte zuzugreifen und sie zu verwalten, die On-Premise-Datenbanken mit Daten auf Google Cloud kombinieren. Der Dienst integriert sich mit Google Cloud Storage, und die Benutzeroberfläche ist gut gestaltet und einfach zu bedienen."

- Google Cloud SQL Review, Hosham K.

Was Benutzer nicht mögen:

"Die Verwaltung von Daten von On-Premises zu Google Cloud ist schwierig, da das Netzwerk in GCP schwer zu verwalten ist. Und eine andere Sache, die mir nicht gefällt, ist die Verwaltung der Abrechnung, es gibt keine kombinierte Abrechnung für einige Dienste wie Cloud Dialogflow. Es sollte auch Benachrichtigungen geben, wenn einige Ressourcen längere Zeit nicht genutzt wurden."

- Google Cloud SQL Review, Aayush M.

3. Amazon Aurora

Amazon Aurora kombiniert die Leistung und Geschwindigkeit von High-End-Kommerz-Datenbanken mit der Ressourcenvielfalt und Einfachheit von Open-Source-Datenbanksoftware. Es kann verwendet werden, um Daten zu speichern, verschiedene Programmiersprachen und Datenbanktabellen zu unterstützen.

Was Benutzer am meisten mögen:

„Amazon Aurora eignet sich am besten für die Erstellung komplexer, hochverfügbarer und kommerzieller Datenbanken auf sehr einfache Weise. Die Datenbankgröße sollte mittel bis groß sein, da Sie nur dann die zusätzlichen Kosten für die Nutzung von Amazon Aurora rechtfertigen können. Ein weiterer Aspekt ist, dass, wenn Sie bereits AWS verwenden und die meisten Ihrer Anwendungen und Dienste in der Cloud sind. Dann macht es Sinn, Amazon Aurora zu verwenden, da es gut in das Amazon-Ökosystem passt.“

- Amazon Aurora Review, Vikas R.

Was Benutzer nicht mögen:

„Das Produkt hat alle meine Erwartungen erfüllt und weit übertroffen. Das einzige Problem, an das ich mich erinnern kann, ist, dass es am Backup-Modul noch etwas arbeiten muss, da wir einen Kaltstart und ein Backup vom letzten Checkpoint versucht haben, aber auf viele Probleme gestoßen sind und das Amazon-Support-Team dafür einbeziehen mussten.“

- Amazon Aurora Review, Kevin T.

4. Microsoft SQL

Microsoft SQL ermöglicht es Windows, Linux und Docker-Containern, die Leistungsfähigkeit von SQL-Datenbanken zu nutzen und bietet innovative Sicherheitsfunktionen für eine bessere Datenverarbeitung.

Was Benutzer am meisten mögen:

„Mein Lieblingsteil an dieser Software ist, wie robust das Tool ist. Es war die bevorzugte Datenbank-Engine für viele der Geschäftssysteme, die ich in meiner Karriere verwendet habe, von PDM- und ERP-Systemen bis hin zu Designautomatisierungstools. Die Nutzung dieser Plattform durch die Entwickler dieser Systeme geht weit über das hinaus, was ich selbst erstellen kann. Dennoch habe ich die Architektur der verknüpften Tabellen, die in diesen Systemen verwendet werden, als intuitiv empfunden, was mir eine flache Lernkurve gibt, sollte ich jemals Daten aus diesen Systemen auditieren oder abrufen müssen.“

- Microsoft SQL Review, David M.

Was Benutzer nicht mögen:

„Es ist eine groß angelegte Datenbank, also wenn Sie nach etwas Leichtgewichtigem für kleinere Websites suchen. Es ist wahrscheinlich nicht für Sie. Es erfordert auch eine gewisse Lernkurve und es ist hilfreich, einen dedizierten Administrator in vollständigen IT-Umgebungen zu haben. Dies kann jedoch durch die Fülle an Informationen, die aufgrund seiner Langlebigkeit als Produkt verfügbar sind, überwunden werden.“

- Microsoft SQL Review, Jeremiah S.

5. Oracle Database

Oracle Database bietet Cloud-Unterstützung für höhere Kundenzufriedenheit und ermöglicht auch die Senkung der IT-Infrastrukturkosten.

Was Benutzer am meisten mögen:

„Oracle Database vereinfacht die Datenorganisation großer Datenbanken und erleichtert das Leben, indem es die Auswahl und Abfrage der Datenbank mit einer einfachen Sprache SQL ermöglicht. Es hält Daten in relationalen Tabellen, wodurch sinnvolle Beziehungen zwischen Daten und Extraktionswerkzeugen hergestellt werden. Darüber hinaus erleichtert es die Datenabfrage, Berichterstellung und alle guten Dinge.“

- Oracle Database Review, Gaurav O.

Was Benutzer nicht mögen:

„Viele zusätzliche und komplexe Installationen von Tools sind erforderlich, um die Datenbankbereitstellung ordnungsgemäß zu verwalten, um ein unternehmensweites Überwachungs- und Alarmsystem zu erreichen.“

- Oracle Database Review, Norkamal M.

Sagen Sie Tschüss zu Datensilos

Die vernetzte Natur relationaler Datenbanken ermöglicht intelligentere Entscheidungen. Sie bieten unzählige Vorteile und Möglichkeiten zur Speicherung, Verwaltung und Organisation von Daten.

Mit der Virtualisierung und dem Cloud-Computing, die in den Datenbankbereich eintreten, sind  Cloud-Datenbanken die absehbare Zukunft für die Datenspeicherung. Die Verlagerung Ihrer gesamten Datenbankinfrastruktur in die Cloud kann eine lohnende Investition sein, wenn Ihre Sicherheitslage erstklassig ist.

Erfahren Sie mehr über Cloud-Speichersicherheit und wie Sie Ihre Cloud-Datenbank sicher halten.

Dieser Artikel wurde ursprünglich 2021 veröffentlicht. Er wurde mit neuen Informationen aktualisiert.

Dibyani Das
DD

Dibyani Das

Dibyani is a former Content Marketing Specialist at G2. In her free time, you can find her scribbling fanfiction and brushing up her knowledge on various fandoms (Harry Potter, mostly).