Fabian: Administr. /Rechnungswesen mit parallel DB oder Ursprungs-DB

Hallo alle zusammen,

ich habe ein kleines Gedankenkonstrukt generiert, bei dessen Lösung ich an meine fachlichen Grenzen komme.

Vielleicht kannst Du mir kurz eine Hilfestellung dazu geben?

Grundlage ist ein Anzeigenmarkt, in dessen die Nutzer selbständig Anzeigen generieren und veröffentlichen können.

Für die Anzeigen möchte ich parallel eine Rechnungserstellung, ein Berichtswesen und Dokumentenmanagement integrieren.

Wenn jemand also seine Anzeige schaltet, wird automatisch eine Rechung erstellt. Die Anzeige wird nach 4 Wochen wieder deaktiviert. Die Rechnung soll aber mehrere Jahre abrufbar sein, inkl. dem Originaltext der Anzeige.

Dieses ginge mit einer Datenbank, in dem ich in einer Spalte den Status aufführe. Je nach Status wird die Anzeige dann per Suche gefunden und angezeigt.
Wenn die Anzeige jedoch schon lange deaktiviert wäre, hätte ich noch immer einen Datensatz in dieser Tabelle, der bei Suchanfragen die Datenbank wohlmöglich auch ausbremsen würde, obwohl die Anzeige selbst nicht mehr angezeigt werden würde.

Die zweite Möglichkeit sehe ich, indem ich die Daten der Anzeige in einer Verwaltungsdatenbank dubliziere. Die Anzeige würde nach 4 Wochen in der Suchdatenbank gelöscht werden und damit die Datenbank nicht ausbremsen.

Die Rechnung ließe sich jedoch auch weiterhin auf Grundlage der Verwaltungsdatenbank einsehen können.

Wie ist bei sowas die gängige Praxis? Gibt es auch andere Lösungen?

Vielen Dank für jedliche Art von Vorschlägen.

Grüße Fabian

  1. Hallo,

    Dieses ginge mit einer Datenbank, in dem ich in einer Spalte den Status aufführe. Je nach Status wird die Anzeige dann per Suche gefunden und angezeigt.
    Wenn die Anzeige jedoch schon lange deaktiviert wäre, hätte ich noch immer einen Datensatz in dieser Tabelle, der bei Suchanfragen die Datenbank wohlmöglich auch ausbremsen würde, obwohl die Anzeige selbst nicht mehr angezeigt werden würde.

    Um wieviele Datensätze handelt es sich denn schätzungsweise?
    Im allgemeinen sollte das zu keinen größeren Geschwindigkeitsproblemen führen. Es ist schließlich einer der Hauptaufgabe einer Datenbank nach Datensätzen zu selektieren. Dafür sind die optimiert.
    BTW: Welche Datenbank wolltet ihr eigentlich einsetzen?

    Die zweite Möglichkeit sehe ich, indem ich die Daten der Anzeige in einer Verwaltungsdatenbank dubliziere. Die Anzeige würde nach 4 Wochen in der Suchdatenbank gelöscht werden und damit die Datenbank nicht ausbremsen.

    Dieser Weg steht ja immer offen, sobald es tatsächlich zu Geschwindigkeitsengpässen aufgrund der Datenmenge kommen sollte.

    Gruss
       MichaelB

    1. Danke für die schnelle Antwort...

      Um wieviele Datensätze handelt es sich denn schätzungsweise?
      Im allgemeinen sollte das zu keinen größeren Geschwindigkeitsproblemen führen. Es ist schließlich einer der Hauptaufgabe einer Datenbank nach Datensätzen zu selektieren. Dafür sind die optimiert.
      BTW: Welche Datenbank wolltet ihr eigentlich einsetzen?

      Es geht um Mysql und hoffentlich ca. 10.000 Datensätze, pro Jahr je nachdem wie lange die Rechnungen aufbewart werden, ein entsprechend Vielfaches davon.

      Die zweite Möglichkeit sehe ich, indem ich die Daten der Anzeige in einer Verwaltungsdatenbank dubliziere. Die Anzeige würde nach 4 Wochen in der Suchdatenbank gelöscht werden und damit die Datenbank nicht ausbremsen.
      Dieser Weg steht ja immer offen, sobald es tatsächlich zu Geschwindigkeitsengpässen aufgrund der Datenmenge kommen sollte.

      Ist richtig, aber dann müßte man alle Abfragen wieder ändern...

      Grüße Fabian

      1. Hallo,

        Um wieviele Datensätze handelt es sich denn schätzungsweise?
        Im allgemeinen sollte das zu keinen größeren Geschwindigkeitsproblemen führen. Es ist schließlich einer der Hauptaufgabe einer Datenbank nach Datensätzen zu selektieren. Dafür sind die optimiert.
        BTW: Welche Datenbank wolltet ihr eigentlich einsetzen?
        Es geht um Mysql und hoffentlich ca. 10.000 Datensätze, pro Jahr je nachdem wie lange die Rechnungen aufbewart werden, ein entsprechend Vielfaches davon.

        Mit MySQL kenne ich mich aus. Soll aber zumindest für reine Lesezugriffe eine recht flotte Datenbanken sein. --> Kein Problem
        Näheres klärt ein Test mit Dummydatensätzen.

        Die zweite Möglichkeit sehe ich, indem ich die Daten der Anzeige in einer Verwaltungsdatenbank dubliziere. Die Anzeige würde nach 4 Wochen in der Suchdatenbank gelöscht werden und damit die Datenbank nicht ausbremsen.
        Dieser Weg steht ja immer offen, sobald es tatsächlich zu Geschwindigkeitsengpässen aufgrund der Datenmenge kommen sollte.

        Ist richtig, aber dann müßte man alle Abfragen wieder ändern...

        Musst Du (im Optimalfall) nicht, weil Du das dann so machst, dass Du nicht direkt auf die Tabelle zugreifst, sondern immer auf eine Abfrage die im einfachsten Fall (nämlich dem, dass die sich 100% wie die Tabelle verhält) ein:
        SELECT * FROM tabelle
        was man dann ggf. abändern kann, wenn man bestimmte Daten in eine andere Tabelle verlagert oder auch bei getrennten Datenbanken ein DATABASE-Link macht (sofern MySQL das unterstützt).

        Aber wie gesagt. Erstmal würd ich einfach stumpf testen.

        Gruss
          MichaelB

        1. Danke für die Antwort,

          deinen Rat werde ich in die Tat umsetzen...

          Grüße Fabian

          Hallo,

          Um wieviele Datensätze handelt es sich denn schätzungsweise?
          Im allgemeinen sollte das zu keinen größeren Geschwindigkeitsproblemen führen. Es ist schließlich einer der Hauptaufgabe einer Datenbank nach Datensätzen zu selektieren. Dafür sind die optimiert.
          BTW: Welche Datenbank wolltet ihr eigentlich einsetzen?
          Es geht um Mysql und hoffentlich ca. 10.000 Datensätze, pro Jahr je nachdem wie lange die Rechnungen aufbewart werden, ein entsprechend Vielfaches davon.
          Mit MySQL kenne ich mich aus. Soll aber zumindest für reine Lesezugriffe eine recht flotte Datenbanken sein. --> Kein Problem
          Näheres klärt ein Test mit Dummydatensätzen.

          Die zweite Möglichkeit sehe ich, indem ich die Daten der Anzeige in einer Verwaltungsdatenbank dubliziere. Die Anzeige würde nach 4 Wochen in der Suchdatenbank gelöscht werden und damit die Datenbank nicht ausbremsen.
          Dieser Weg steht ja immer offen, sobald es tatsächlich zu Geschwindigkeitsengpässen aufgrund der Datenmenge kommen sollte.

          Ist richtig, aber dann müßte man alle Abfragen wieder ändern...

          Musst Du (im Optimalfall) nicht, weil Du das dann so machst, dass Du nicht direkt auf die Tabelle zugreifst, sondern immer auf eine Abfrage die im einfachsten Fall (nämlich dem, dass die sich 100% wie die Tabelle verhält) ein:
          SELECT * FROM tabelle
          was man dann ggf. abändern kann, wenn man bestimmte Daten in eine andere Tabelle verlagert oder auch bei getrennten Datenbanken ein DATABASE-Link macht (sofern MySQL das unterstützt).

          Aber wie gesagt. Erstmal würd ich einfach stumpf testen.

          Gruss
            MichaelB