Giter VIP home page Giter VIP logo

dezsys_gk_warehouse_dom's Introduction

DEZSYS_GK_WAREHOUSE_DOM

Aufgabenstellung

Die detaillierte Aufgabenstellung beschreibt die notwendigen Schritte zur Realisierung.

Implementierung

  1. Erstellen eines neuen Models (WarehouseData)
  2. Anpassung des Java Codes (Application)
  3. Zum Testen erstellung & speichern von WarehouseData Objekten
  4. Finden von WarehouseData Objekten
  5. Erstellung von Kronjobs für die automatische Speicherung von WarehouseData Objekten
  6. Hinzufügen von Timestamps zu WarehouseData und ProductData mit LocalDateTime
  7. Queries bearbeiten, damit sie auch den Timestamp und die mehreren Warehouses mit derselben ID berücksichtigen

Fragen

GKü

  • Nennen Sie 4 Vorteile eines NoSQL Repository im Gegensatz zu einem relationalen DBMS
  • Skalierbarkeit: Horizontal skalierbar, ideal für Big Data.
  • Flexibles Schema: Ermöglicht unstrukturierte Daten, schnelle Iterationen.
  • Leistung: Optimiert für schnelle Lese- und Schreibvorgänge.
  • Verfügbarkeit: Entworfen für hohe Verfügbarkeit über verteilte Systeme.
  • Nennen Sie 4 Nachteile eines NoSQL Repository im Gegensatz zu einem relationalen DBMS
  • Standardisierung: Fehlt, was Lernkurve erhöht.
  • Transaktionen: Eingeschränkte ACID-Transaktionsunterstützung.
  • Konsistenz: Eventual Consistency kann zu Inkonsistenzen führen.
  • Analysefähigkeit: Weniger robuste Abfrage- und Berichtsfunktionen.
  • Welche Schwierigkeiten ergeben sich bei der Zusammenführung der Daten?

Unterschiede in Datenmodellen, Konsistenz und Skalierungsstrategien erschweren die Integration.

  • Welche Arten von NoSQL Datenbanken gibt es?
  • Nennen Sie einen Vertreter für jede Art?
  • Dokument: MongoDB
  • Schlüssel-Wert: Redis
  • Spaltenorientiert: Cassandra
  • Graph: Neo4j
  • Beschreiben Sie die Abkürzungen CA, CP und AP in Bezug auf das CAP Theorem
  • CA: Konsistenz und Verfügbarkeit, schwierig bei Netzwerkpartition.
  • CP: Konsistenz und Partitionstoleranz, kann Verfügbarkeit beeinträchtigen.
  • AP: Verfügbarkeit und Partitionstoleranz, kann Konsistenz beeinträchtigen.
  • Mit welchem Befehl koennen Sie den Lagerstand eines Produktes aller Lagerstandorte anzeigen.

Aller Lagerstandorte:

db.warehouses.aggregate([
  {$unwind: "$products"}, 
  {$match: {"products.productId": "X"}}, 
  {$group: {_id: null, totalQuantity: {$sum: "$products.quantity"}}} 
])
  • Mit welchem Befehl koennen Sie den Lagerstand eines Produktes eines bestimmten Lagerstandortes anzeigen.

Eines bestimmten Lagerstandortes:

db.warehouses.find(
  {"warehouseId": "Y", "products.productId": "X"},
  {"products.$": 1} 
)

GKv

  • Formulierung 3 sinnvollen Fragestellung für einen Anwendungsfall in der Zentrale und deren Abfragen in einer Mongo Shell
  1. Produkte mit geringem Bestand

Anwendungsfall: Identifizierung fast ausverkaufter Produkte.

MongoDB-Abfrage:

db.warehouseData.find({"productData.productQuantity": {$lt: 100}})
  1. Lagerbestand eines spezifischen Produkts

Anwendungsfall: Finden aller Lager mit Vorräten von "Ariel Waschmittel Color".

MongoDB-Abfrage:

db.warehouseData.find({"productData.productName": "Ariel Waschmittel Color"})
  1. Gesamtbestand eines Produkts

Anwendungsfall: Ermittlung der Gesamtzahl eines Produkts über alle Lager.

MongoDB-Abfrage:

db.warehouseData.aggregate([
  {$unwind: "$productData"},
  {$match: {"productData.productName": "Bio Orangensaft Sonne"}},
  {$group: {_id: null, total: {$sum: "$productData.productQuantity"}}}
])

EKü

Erstellen eines Cronjobs auf Windwos

  1. Erstellen einer Batch-Datei

warehouse.bat:

cd Path\To\Application
gradle bootRun
  1. Task erstellen

Aufgabe im Task Scheduler erstellen

oder

Tool schtasks in Powerschell

schtasks /create /tn "Task" /tr "C:\Path\To\Application" /sc daily /st 14:00
  • /tn: Der Name des Tasks
  • /tr: Der Task zum Ausführen
  • /sc: Abstände für die Ausführung
  • /st: Uhrzeit für die Ausführung

Quellen

dezsys_gk_warehouse_dom's People

Contributors

thomasmicheler avatar lstranskytgm avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.