Announcement

Collapse
No announcement yet.

Anschaffung von Datenbank und Servern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    300 x 500 kann jede DB bewältigen und würde wohl auch für ein Programm zum schreiben in eine DB keine Herausforderung sein
    Christian

    Comment


    • #17
      Originally posted by Smart View Post
      Das hängt stark von den Anzahl der Geräte ab. Momentan etwa 500 stück.
      Ist nicht viel


      Originally posted by Smart View Post
      Nicht größer als ca. 300KB.
      Das ist ja ziemlich klein

      Originally posted by Smart View Post
      Das kann ich so pauschal beantworten. Aber realtiv viele.
      Definiere Relativ. Bei 300 kByte und Binäre Speicherung ist die Menge auch übersichtlich.

      Originally posted by Smart View Post
      Bis zu 10 Jahren.
      D.h. dann im Initialen Lauf sind es 300 kByte * 500 * 10 * 365 = 547.000 MB = 547 GB.
      Ich nehme jetzt mal an das die Wandlung in die DB die 10fache Datenmenge verursacht (wenn das Binärformat kompakt war).
      D.h. wir haben inital 5 TB und Täglich 150 MB an Daten.
      Das ist ein Menge die einen 0815-DB-Server nicht überfordert. Als Datenbank dürften selbst die kleinen Versionen von MS SQL-Server reichen (von der Kostenlosen mit 10 GB-Grenze würde ich absehen).

      Für die Erstaufsetzen würde ich sogar sagen das es reicht diese DB einfach auf einen bestehenden DB-Server aufzusetzen und keine eigen HW/Installation vorsieht.
      Sollte später doch der Server ein Engstelle werden kann man doch noch eigene HW vorsehen.

      Comment


      • #18
        Momentan ist eine kostenlose Version von MSSQL Server 2008 R2 im Einsatz. Also, wie es aussieht, muss ein programm für dieses Unternehmen entwicklet werden, dass alles parst und in die Datenbank überträgt. Ich glaube, es wäre auch nicht verkehrt, wenn ein eigener Server für die Datenbank hingestellt wird, die halt nur die Datenbank und die Daten beinhaltet und um eine bestimmte Zeit angestoßen wird, um die Datetein zu parsen. Aber wie es aussieht, wenn ich mich nicht irre, kann Server 2008 R2 nur bis 10GB Daten aufnehmen, was relativ schnell erreicht werden kann. Welche SQL-Server ist nun dafür geeignet?

        Gruß

        Comment


        • #19
          Originally posted by Smart View Post
          Momentan ist eine kostenlose Version von MSSQL Server 2008 R2 im Einsatz. Also, wie es aussieht, muss ein programm für dieses Unternehmen entwicklet werden, dass alles parst und in die Datenbank überträgt.
          Davon kannst du ausgehen. So intelligent ist keine DB Binärdateien auslesen und wie gedacht auszuwerten.

          Originally posted by Smart View Post
          Ich glaube, es wäre auch nicht verkehrt, wenn ein eigener Server für die Datenbank hingestellt wird, die halt nur die Datenbank und die Daten beinhaltet und um eine bestimmte Zeit angestoßen wird, um die Datetein zu parsen.
          Wieso das? Blos damit sich der Server zu 99% der Zeit langweilt? Und vor allem mit neur Server und DB muss man auch solche "nebensächlichkeiten" wie Backup, Administration berücksichtigen.

          Originally posted by Smart View Post
          Aber wie es aussieht, wenn ich mich nicht irre, kann Server 2008 R2 nur bis 10GB Daten aufnehmen, was relativ schnell erreicht werden kann. Welche SQL-Server ist nun dafür geeignet?
          Nur die kostenlose Express Version. Jede Version > kostenlos kann so viel Daten halten das die DB selbst im Jahre 3000 noch nicht voll ist.

          Comment


          • #20
            Also, wie es aussieht, muss ein programm für dieses Unternehmen entwicklet werden, dass alles parst und in die Datenbank überträgt
            Du wirst es wissen du weißt ja wie die Daten strukturiert sind wir nicht Bei simplem Mapping hat man sich in ein paar Sekunden die Zuordnung und eventuelle Transformation von Feld in Datei auf Feld in Tabelle zusammengeklickt.Per Import Wizard im Management Studio. Den Job kann man dann schedulen so wie man ihn braucht. Ziemlich simpel. Wenn da dann doch mehr passiert ja dann kann es einfacher sein ein Programm zu schreiben. Aber ohne Fakten einfach nur basierend auf der Kurzbeschreibung "Datei in Datenbank" kann man das nicht entscheiden.

            Comment


            • #21
              Jede 32-Bits steht für eine Zahl. Man muss also die Daten stückweise auslesen (jeweils 32-Bits) und nach der Berechnung der entsprechenden Zahl, diese in eine Datenbank schreiben. Ich weiß es nicht genau, ob diese Aufgabe Per Import-Wizard im Management Studio zu erledigen ist. Mir kommt so vor, als man um eine Programmierung nicht so einfach herum kommen kann.

              Nur die kostenlose Express Version. Jede Version > kostenlos kann so viel Daten halten das die DB selbst im Jahre 3000 noch nicht voll ist.
              heißt das, dass eine Datenbank - wie z.B. SQL-Server 2008 - unbegrenz Daten aufnehemn kann, bis die Festplatte voll ist? Kann eine Datenbank wie z.B. MSSQL (2008 R2) überhaupt so viele Daten verwalten.

              Gruß
              Zuletzt editiert von Smart; 08.05.2014, 07:55.

              Comment


              • #22
                Originally posted by Smart View Post
                Jede 32-Bits steht für eine Zahl. Man muss also die Daten stückweise auslesen (jeweils 32-Bits) und nach der Berechnung der entsprechenden Zahl, diese in eine Datenbank schreiben. Ich weiß es nicht genau, ob diese Aufgabe Per Import-Wizard im Management Studio zu erledigen ist.
                Definitiv nicht.

                Originally posted by Smart View Post
                Mir kommt so vor, als man um eine Programmierung nicht so einfach herum kommen kann.
                Ja. Es ist ein eigenes Programm nötig.

                Originally posted by Smart View Post
                heißt das, dass eine Datenbank - wie z.B. SQL-Server 2008 - unbegrenz Daten aufnehemn kann, bis die Festplatte voll ist? Kann eine Datenbank wie z.B. MSSQL (2008 R2) überhaupt so viele Daten verwalten.
                Nee, nicht ganz. Ab 524.272 Terabyte ist schluss! Aber ich denke da hat man noch etwas Zeit bis diese Grenze erreicht ist (und bis man nicht ganze Gebäute mit Festplattten vollstellen muss um diese Kapazität zu erreichen)

                Comment


                • #23
                  Hallo Bernhard,

                  vielen Dank für deine Hilfe.

                  Gruß

                  Comment


                  • #24
                    Du solltest Dir vielleicht vorher überlegen was Du mit den Daten anfangen willst. Für Volltextsuche sind klassische RDBMS Datenbanken weniger geeignet. Solltest Du sowas wollen kannst Du Dich mal in Richtung Lucene/Elasticsearch umschauen. Solltest Du einfach nur einen zuverlässigen Store suchen, dann würde ich erstmal RAID empfehlen. Wenn Du dazu noch darauf suchen willst und das nicht in Echtzeit, dann könnte auch ein Hadoop Cluster in Frage kommen. Ich denke klassische RDBMS wären für mich nicht die erste Wahl um Dateien abzuspeichern. RDBMS sind eher für strukturierte Daten zu gebrauchen wie z.B. Artikel in einem Shop.

                    Comment


                    • #25
                      In Oracle kann man externe Tabellen definieren im fixed format ohne field oder row delimiter.
                      Damit kann man z.B. Deine 4 byte (32 bit) laden, entweder byte für byte oder direkt zusammenfassen.
                      In Deinem Fall wäre die Byte Codierung der 32bit Zahlen zu prüfen.
                      Bilden mehrere 32Bit Zahlen einen Record, so sind entsprechend viele Felder vorzusehen.

                      Mit dem Verfahren kann man auf eine oder mehrere der 300 KB Dateien zugreifen und sie per SQL auslesen, direkt aus der Datei. (GgF. müssen die ausgelesenen Zahlen wegen endianess oder was auch immer, wirklich noch transformiert werden)
                      Per sql kann man sie prüfen, filtern und in geeignete Zieltabellen verschieben.
                      Dazu brauchst Du nur eine Datenbank. Auch hier gilt, die freie Oracle DB ist auf ein bestimmtes Volumen beschränkt, glaub 10 GB.

                      Ich kenne mich mit MSSQL nicht so aus, aber gut möglich, dass es dort auch so (ähnlich) geht, wenn auch nicht per Wizard.

                      Ansonsten ist das was Du vor hast typisches ETL, die Vorstufe von Datawarehouse.
                      Dafür gibt es recht viele Tools, von denen ich aber keines wirklich kenne. Jeder DB Hersteller will per se Daten so gut wie möglich laden können (besonders die der Konkurrenz). FixedFormat Binär Import sollte das eine oder andere davon beherrschen.
                      Gruß, defo

                      Comment


                      • #26
                        LOL...

                        Ihr Diskutiert seit Tagen darüber aus 'irgendwelchen' Geräten Textdateien mit binärem Inhalt - ob der nun weitere Struktur hat oder nicht - aber 300kb groß ist - irgendwie in eine Datenbank zu schreiben um dann irgendwas zu berechnen....

                        Da ist doch erstmal sch.. egal welches DBMS oder Programmiersprache... Butter bei die Fische Wer wie was warum.

                        Ich hab schon ... ich mein ....

                        Ich hab so das Gefühl der "Smart" kommt so nie nich nie zur Lösung - also nach dem was man anhand der Angaben so raten kann, haben sich die Anforderungen von Beitrag 1 bis jetzt so 180° gedreht....


                        Aja, und der Bernhard Geyer sollte sich die Kontaktdaten gleich geben lassen um schonmal eine erste Rechnung zu stellen.... klärt dann schonmal einen Teil der Frage, was es Kostet LOL

                        Comment


                        • #27
                          tömmel übernehmen sie.
                          An der Seitenlinie stehen und sich darüber lustig machen ist ein bisschen dünn.

                          Comment


                          • #28
                            @Ralf Jensen

                            Na, was heißt da dünn...
                            Man kann da eine Menge hinein interpretieren. Das ist ja gerade das Problem...
                            eine Frage: Ist der Dateiaufbau immer gleich oder von beschriebener Struktur ? (Hat man oft bei 'Geräten')

                            Z.B. sind die Geräte irgendwelche Leistungszähler, die z.B. eine SMS oder e-mail schicken,. und ein Programm daraus zum Schluss eine Jahresabrechnung machen soll?

                            Sind das Log dateien , meinetwegen von irgendwelchen Anwendungen, die in erster Linie archiviert werden sollen oder oder oder

                            Nach dem Stil in dem er schreibt , vermute ich, dass er auch nicht für sich selbst sucht, sondern "für das Unternehmen" - das hat mindestens zwei Konsequenzen:

                            1.) er weiß ggf. selber nicht so genau was wie und warum und holt sich hier erstmal die Tipps was er überhaupt fragen soll
                            2.) ist es so wie ich vermute, dann ist die Seitenlinie doch garnicht so verkehrt...

                            Also wenn er in der Not ist da Informationen zu holen, dann kann er doch wenigstens sagen was ominöse Geräte da zu welchem Zweck was speichern. Sonst wird das doch nie was...

                            ... das MS ein DBMS hat, das schon in der 2008 R2 mehr als 10GB verwalten kann, bis die Festplatte voll ist ja schon eine Erkenntnisdie google auch so liefert...


                            Ich geh doch auch nicht zum Arzt und frage :

                            Hey, welche Reserve - Antibiotika empfehlen sie bei einer resistenten xy-Streptokokken-infektion ?

                            Da fragt der doch - hey, wo tut es weh...

                            Dann sag ich : Meine Mutti hat einen fiesen Virus..

                            Sagt der Arzt : #Q&%#...

                            Das ist ja nicht böse gemeint, aber die Gefahr da auch einen Tipp zu geben, der nach hinten los geht ist ja so auch gegeben
                            Zuletzt editiert von tömmel; 11.05.2014, 23:52.

                            Comment


                            • #29
                              Hallo Forum,

                              @tömmel
                              Danke für deine Antwort. Aber ein typischer Fall für "Lange Rede kurzer Sinn"!

                              @fanderlf
                              Vielen Dank. Im Laufe des Gesprächs habe ich es so verstanden, dass eine Volltextsuche bei binären Daten nicht möglich ist.

                              @defo

                              Mit dem Verfahren kann man auf eine oder mehrere der 300 KB Dateien zugreifen und sie per SQL auslesen, direkt aus der Datei.
                              Vielen Dank für deine detailierte Antwort. Wenn du von SQL sprichst, meinst du direkt aus einem RDMS heraus und über die vordefinierten procedures oder aus einem Programm heraus? Ich meine,

                              Damit kann man z.B. Deine 4 byte (32 bit) laden, entweder byte für byte oder direkt zusammenfassen.
                              was/wer übernimmt das Auslesen und Speichern der Daten in eine Datenbank. Wie werden die Definitionen für die jeweils 32Bits in Oracle aussehen?

                              Gruß

                              Comment


                              • #30
                                @smart

                                Step 1: Anlegen einer "external Table", im Prinzip eine Art Mapping der- in deinem Fall- Binärdatei auf eine klassische Tabellenstrutur.
                                Verwendung der external Table ist zumindest im Lesebetrieb vollkommen transparent zu einer echten Tabelle, Zugriff per "Select .. from <xtTablename> where.."
                                Step 2: Verarbeitung der Daten aus "external Table", das kann autark von der DB geschehen oder aber durch ein separates Programm. Prinzip ist immer gleich.
                                a)Select [plus Transformation] from xtTable
                                b)Insert into Desttable

                                [c) Je nach Art der Transformation muss ggF. eine zusätzliche Puffertabelle oder komplexe SP verwendet werden, falls ein "Insert into .. Select.." nicht reicht.

                                Wird es von der DB allein gemacht, so werden dafür Storec Procedures angelegt und ggf dann per Scheduler oder so zyklisch geladen.

                                Die Definition der Felder erfolgt innerhalb der "Access Parameters" clause, man gibt die Gesamtzahl der Bytes an und legt dann Felddefinitionen darüber, fürs LeseInterface auf die Binärdatei.
                                Für den SQL Zugriff gibt man noch ein Interface an, das anders aussehen kann. Innerhalb der Access Parameters kann z.B auch Endianess definiert werden.

                                Such mal nach "External Table", "Access Parameters", "Records fixed" (ggF. darauf achten, dass die Doku/Beispiele auch halbwegs aktuell sind, also >= Version 10)

                                Du kannst das Prinzip mit einer halbwegs aktuellen Oracle Express Version ausprobieren und eine IDE / SQL client.
                                Man braucht nur 1 create table statement (das es vielleicht in sich hat),
                                eine Beispieldatei
                                und kann dann mit SQL Selects rumspielen.


                                @tömmel
                                Ich kann Deine Kritik verstehen, wenig Informationen = wenig, unpassende, grobe Antworten
                                Aber so ist das halt im Netz, jeder macht es so, wie er es für richtig hält.
                                Will man verlässliche, präzise Antworten, muss man halt Supportverträge abschließen.
                                Gruß, defo

                                Comment

                                Working...
                                X