window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = Fenster if (w.LeadBooster) { console.warn('LeadBooster existiert bereits') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Welche DB ist für Ihren spezifischen Datentyp in Ihrem Softwareprojekt zu wählen - The Codest
Der Codest
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Branchen
    • Fintech & Bankwesen
    • E-commerce
    • Adtech
    • Gesundheitstechnik
    • Herstellung
    • Logistik
    • Automobilindustrie
    • IOT
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
Pfeil zurück ZURÜCK
2020-12-15
Software-Entwicklung

Welche DB für Ihren spezifischen Datentyp in Ihrem Softwareprojekt zu wählen ist

Agata Werszler

Zur Erstellung eines neuen Projekts gehört auch die Wahl der richtigen Datenbank zur Speicherung Ihrer Daten. Viele Entwickler, die ich kenne, entscheiden sich von Anfang an standardmäßig für eine relationale Datenbank. Aber ist das die beste Entscheidung? Das hängt natürlich von vielen Faktoren ab. In diesem Artikel möchte ich Ihnen andere Datenbanktypen vorstellen, um Ihnen die Auswahl zu erleichtern und Sie bei Ihren zukünftigen Vorhaben zu unterstützen.

Der Typ Ihrer Datenbank ist nicht das einzige Thema, das zu berücksichtigen ist. Es gibt noch viele andere Aspekte zu bedenken, z. B. wie viele aktive Benutzer die Anwendung haben könnte? Brauchen Sie überall starke Konsistenz? Reicht die eventuelle Konsistenz in einigen Fällen aus? Es gibt so viele Fragen, auf die es keine einfachen Antworten gibt, denn "je mehr man sich damit befasst, desto komplizierter wird es". Beachten Sie also bitte, dass sich dieser Artikel nur auf Datenbanktypen konzentriert.

Nehmen Sie eine Tasse Kaffee und genießen Sie diese Lektüre.

Allgemeine Datenbankklassifizierung

Zu Beginn ist es gut zu wissen, dass es zwei Haupttypen von Datenbanken gibt: relationale (SQL) und nicht-relationale (NoSQL).

  • SQL-Datenbanken sind relational strukturiert, d. h. Sie speichern Daten in Tabellen und stellen Beziehungen zwischen ihnen her.
  • Die NoSQL-Datenbanken (Not only SQL) sind im Gegensatz zu den relationalen Datenbanken nicht gut strukturiert und ermöglichen daher mehr Anpassungsfähigkeit und Flexibilität.

Neben den beiden oben genannten gibt es noch einen weiteren Typ, nämlich eine In-Memory-Datenbank. Sie kann weder als relationale noch als nicht-relationale Datenbank klassifiziert werden, da es darauf ankommt, wo die Daten physisch gespeichert sind. Jede Datenbank kann auf einer Festplatte oder im Speicher gespeichert sein.

Arten von Datenbanken

1. Relationale

Meiner Meinung nach ist dies die beliebteste Art von Datenbank. Sie eignet sich gut für Strukturdaten, bei denen man Beziehungen zwischen den Datensätzen aufrechterhalten möchte. Die Struktur der Datenbank wird in einem Schema beschrieben.

Die wichtigsten Vorteile sind Transaktionen (sie helfen, die Datenintegrität zu gewährleisten und die ACID-Regeln einzuhalten) und die Fähigkeit, viele komplexe Abfragen zu bearbeiten.

Wann sollte man sie wählen?

Sie ist nützlich für die Aufbewahrung von Daten, die sich strukturell nicht sehr oft ändern und die Sie z. B. dauerhaft speichern müssen:

  • CRM (Kundenbeziehungsmanagement),
  • Verwaltung der Aufträge,
  • ERP (Unternehmen Ressourcenplanung),
  • Data Warehousing oder Bestandsverwaltung,
  • Buchhaltung oder Finanzen.

Beispiele:

Amazon Aurora, Microsoft Azure SQL-Datenbank, PostgreSQL, MySQL.

Relationale Datenbanken sind für viele neue Anwendungen unzureichend, und man braucht mehr als eine Datenbank. Im nächsten Teil des Artikels werde ich mich auf die nicht-relationalen Datenbanken konzentrieren.

2. Schlüssel-Wert

Sie speichert jeden Datenwert mit einem eindeutigen Schlüssel. Das bedeutet, dass der Zugriff auf die Daten über einen einzigen Schlüssel erfolgt, genau wie bei einer Hash-Map. Im Gegensatz zu relationalen Datenbanken werden hier weder das Schema noch die Beziehungen zwischen den Datensätzen erzwungen. Die meisten dieser Datenbanken unterstützen in der Regel keine Aktualisierungsoperationen. Um Daten zu ändern, müssen Sie den gesamten vorhandenen Satz überschreiben.

Wann sollte man sie wählen?

Es ist nützlich für Daten, die Sie schnell lesen/schreiben wollen (aber nicht sehr oft aktualisieren):

  • Echtzeitgebote, Adserving,
  • Daten-Caching,
  • Sitzungsmanagement,
  • Einkaufswagen,
  • Kundenpräferenzen oder Profilverwaltung.

Beispiele:

Memcached, Amazon DynamoDB, Azure Cosmos DB, Redis.

3. Dokument

Es speichert Sammlungen von Dokumenten. Jedes Dokument enthält Felder mit Daten, bei denen es sich um einfache Werte oder komplexe Elemente, wie Listen oder untergeordnete Sammlungen, handeln kann. Es ist wichtig zu wissen, dass jedes Dokument eine andere Struktur haben kann, auch wenn sie dasselbe darstellen (jedes Dokument ist einzigartig und entwickelt sich mit der Zeit). Das erste Kundendokument enthält zum Beispiel weniger Informationen als das zweite:

{
 "Vorname": "John",
 "Nachname": "Fake",
 "Motorcycles:" [
  {
    "Model": "BMW",
    "Jahr": 2020
  }
 ]
}
{
 "Vorname": "Alex",
 "Nachname": "Nolastname",
 "Alter": 15,
 "Adresse": {
    "Land": "Polen",
    "Stadt": "Irgendwo"
  },
 "Motorcycles:" [
  {
    "Modell": "BMW",
    "Jahr": 2020
  }
 ]
}

Wann sollte man sie wählen?

Es ist nützlich für Daten, die ein flexibles Schema für eine schnelle Verarbeitung erfordern:

  • Produkt Kataloge,
  • CMS (Content Management System),
  • Benutzerprofile und Personalisierung.

Beispiele:

Amazon DocumentDB, Azure Cosmos DB, MongoDB, Redis.

4. Grafik

Es verwendet eine Graphenstruktur und besteht aus zwei Elementen: Knoten und Kanten. Knoten sind analog zu Tabellenzeilen oder JSON-Dokumenten. Kanten sind Beziehungen zwischen den Knoten - sie sind genauso wichtig wie die Knoten. Beide können Eigenschaften haben. Außerdem können Kanten eine bestimmte Richtung einer Beziehung haben.

Wann sollte man sie wählen?

Sie ist nützlich, wenn Ihre Daten einem Diagramm ähneln, d. h. wenn die Beziehungen zwischen den Datenelementen dynamisch sind und sich im Laufe der Zeit ändern. Außerdem ist es eine gute Wahl, wenn ein geschäftlicher oder technischer Team die Beziehungen innerhalb ihrer Daten verstehen müssen. Einige bekannte Beispiele sind:

  • Organigramme,
  • Aufdeckung von Betrug,
  • soziale Graphen/Netzwerke,
  • Empfehlungen Motoren,
  • Wissensgraphen.

Beispiele:

Amazon Neptune, Neo4j, ArangoDB, Titan.

5. Zeitreihen

Er speichert Daten nach Zeit geordnet. In der Regel werden enorme Mengen an Daten in Echtzeit gespeichert. Sie wird meist zum Speichern von Daten verwendet, wobei Aktualisierungen sehr selten sind. Im Allgemeinen wird ein Zeitstempel als Primärschlüssel und/oder zur Sortierung der Daten verwendet. Einige Datenbanken ermöglichen die Aufnahme von Tags als zusätzliche Informationen, wie z. B. Datenherkunft oder -typ.

Wann sollte man sie wählen?

Es ist nützlich, kleine Datenmengen in chronologischer Reihenfolge zu speichern, zum Beispiel in:

  • DevOps,
  • Überwachung der Anwendung,
  • Überwachung und Ereignis-Telemetrie,
  • IoT Anwendungen (wie Datensammlungen von Gerätesensoren).

Beispiele:

Azure Time Series Insights, Amazon Timestream, InfluxDB.

6. Hauptbuch

Sie bietet ein unveränderliches, transparentes und kryptografisch verifizierbares Transaktionsprotokoll, das sich im Besitz einer zentralen Behörde befindet. - Amazons QLDB Überblick

Lassen Sie uns kurz jedes Schlüsselwort in dem obigen Zitat erklären:

  • unveränderlich - bedeutet, dass ein in dieser Datenbank erstellter Datensatz nicht gelöscht, geändert oder gar überschrieben werden kann,
  • transparent - es verfolgt und protokolliert jede Änderung Ihrer Daten in einer Reihenfolge,
  • kryptografisch überprüfbar - die in dieser Datenbank erstellten Daten werden durch kryptografische Hash-Verfahren überprüft, ähnlich wie bei Blockchains (unter Verwendung der SHA-256-Hash-Funktion).

Wann sollte man sie wählen?

Es ist nützlich, eine genaue Historie zu speichern, z. B. durch die Protokollierung der sequentiellen Eingabe jeder Datenänderung, wie in:

  • Finanzen (Historie der Debit- oder Kreditgeschäfte),
  • Herstellung (Rückverfolgung, woher die Teile bezogen wurden),
  • Versicherung,
  • HR und Lohnbuchhaltung,
  • Einzelhandel,
  • Lieferketten.

Beispiele:

Amazon QLDB

Schlussfolgerungen

Es gibt keine einfache Antwort auf die Frage, die im Titel dieses Artikels gestellt wird. Die einzige Möglichkeit, die richtige Datenbank zu wählen, besteht darin, mehr über Ihre Daten zu erfahren. Beantworten Sie die Frage: "Welche Art von Daten erzeugt Ihre Anwendung?", und Sie werden in der Lage sein, die richtige Wahl zu treffen.

Außerdem sollten Sie die geschäftlichen Anforderungen und den Anwendungsbereich sehr gut kennen. Sie müssen wissen, wie Sie die Daten verwenden werden, welche Abfragen Sie an die Datenbank senden werden, wie oft Sie Ihre Daten speichern, lesen, aktualisieren oder löschen werden. All diese Dinge sind wichtig, aber nicht alle Entwickler schenken diesen Bereichen genügend Aufmerksamkeit.

Bitte denken Sie an Ihre Daten in der Anwendung, die Sie entwickeln, um eine bessere Software zu erstellen bzw. zu verbessern. Insgesamt hoffe ich, dass Sie Ihre Daten gut genug kennen lernen, um sie an einem Ort zu speichern, an dem sie glücklich sind.

Lesen Sie mehr:

Ein paar Tricks zur Beschleunigung Ihrer JavaScript-Anwendung

Wege zur Steigerung Ihrer Rails-Leistung

Fakten und Mythen über die Zusammenarbeit mit einem externen Softwareentwicklungspartner

Ähnliche Artikel

Software-Entwicklung

Zukunftssichere Web-Apps bauen: Einblicke vom The Codest-Expertenteam

Entdecken Sie, wie sich The Codest bei der Erstellung skalierbarer, interaktiver Webanwendungen mit Spitzentechnologien auszeichnet, die nahtlose Benutzererfahrungen auf allen Plattformen bieten. Erfahren Sie, wie unsere Expertise die digitale Transformation und...

DAS SCHÖNSTE
Software-Entwicklung

Top 10 Softwareentwicklungsunternehmen in Lettland

Erfahren Sie in unserem neuesten Artikel mehr über die besten Softwareentwicklungsunternehmen Lettlands und ihre innovativen Lösungen. Entdecken Sie, wie diese Technologieführer Ihr Unternehmen voranbringen können.

thecodest
Enterprise & Scaleups Lösungen

Grundlagen der Java-Softwareentwicklung: Ein Leitfaden für erfolgreiches Outsourcing

Entdecken Sie diesen wichtigen Leitfaden zum erfolgreichen Outsourcing der Java-Softwareentwicklung, um die Effizienz zu steigern, auf Fachwissen zuzugreifen und den Projekterfolg mit The Codest voranzutreiben.

thecodest
Software-Entwicklung

Der ultimative Leitfaden für Outsourcing in Polen

Der Anstieg des Outsourcings in Polen wird durch wirtschaftliche, bildungspolitische und technologische Fortschritte angetrieben, die das IT-Wachstum und ein unternehmensfreundliches Klima fördern.

TheCodest
Enterprise & Scaleups Lösungen

Der vollständige Leitfaden für IT-Audit-Tools und -Techniken

IT-Audits gewährleisten sichere, effiziente und gesetzeskonforme Systeme. Erfahren Sie mehr über ihre Bedeutung, indem Sie den vollständigen Artikel lesen.

Der Codest
Jakub Jakubowicz CTO & Mitbegründer

Abonnieren Sie unsere Wissensdatenbank und bleiben Sie auf dem Laufenden über das Fachwissen aus dem IT-Sektor.

    Über uns

    The Codest - Internationales Software-Unternehmen mit technischen Zentren in Polen.

    Vereinigtes Königreich - Hauptsitz

    • Büro 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale Tech-Hubs

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Der Codest

    • Startseite
    • Über uns
    • Dienstleistungen
    • Fallstudien
    • Gewusst wie
    • Karriere
    • Wörterbuch

      Dienstleistungen

    • IT-Beratung
    • Software-Entwicklung
    • Backend-Softwareentwicklung
    • Frontend-Softwareentwicklung
    • Staff Augmentation
    • Backend-Entwickler
    • Cloud-Ingenieure
    • Daten-Ingenieure
    • Andere
    • QS-Ingenieure

      Ressourcen

    • Fakten und Mythen über die Zusammenarbeit mit einem externen Softwareentwicklungspartner
    • Aus den USA nach Europa: Warum entscheiden sich amerikanische Start-ups für eine Verlagerung nach Europa?
    • Tech Offshore Development Hubs im Vergleich: Tech Offshore Europa (Polen), ASEAN (Philippinen), Eurasien (Türkei)
    • Was sind die größten Herausforderungen für CTOs und CIOs?
    • Der Codest
    • Der Codest
    • Der Codest
    • Privacy policy
    • Website terms of use

    Urheberrecht © 2025 von The Codest. Alle Rechte vorbehalten.

    de_DEGerman
    en_USEnglish sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek de_DEGerman