WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   db, aber welche? (http://www.wcm.at/forum/showthread.php?t=109001)

jopp 16.09.2003 11:27

db, aber welche?
 
hi leute

habe wieder mal ein problem, bei dem ihr mir hoffentlich weiter helfen könnt.

ich bin gerade dabei ein programm zu entwickeln und bin noch in der planungsphase. programmiersprache wird mit ziemlicher sicherheit java sein.

jetzt soll dieses programm auf eine ganze menge daten zugreifen können (messdaten). pro messung fallen etwa 8mb an und das mehrmals am tag. nun bin ich auf der suche nach einem verwaltungssystem für diese daten. ich habe aus java schon auf mysql db als auch auf postgre sql zugegriffen. und wenn ich mich nicht irre so ist die postgre db komplett linzenzfrei.

oder ist es vernünftiger die daten in einem dateisystem anzulegen.

java eigene db habe ich mir auch schon überlegt, aber diese sind dann von anderen programmen nicht ansprechbar (hat man mir erzählt).

falls ihr schon erfahrung mit meiner problematik hattet, bitte ich euch mir ein wenig zu helfen und diese zu posten.

danke

jopp

SNo0py 16.09.2003 17:26

Ich würde auf jeden Fall eine DB dem Filesystem vorziehen. Mit einem gescheiten Schema sind die Abfragen um einiges schneller als im Filesystem.

Zur Datenbank an sich - mysql hat den Vorteil, dass es wenig Overhead hat, was leider zu Lasten der Funktionen geht. Aber wenn du keine Trigger etc. brauchst, dann sollte mysql ganz gut funken und performant sein!.

tarrian 17.09.2003 13:47

Re: db, aber welche?
 
Nimm eine ordentliche DB. Wennst aufs Geld schaun musst, dann halt eine mySQL. Ansonst solltest eine Oracle oder einen SQL-Server nehmen.

Wenn Du die DB entwirfst, achte darauf ein Star- oder ein Snowflakeschema zu verwenden. D.h. Deine Messdaten in einen riesige Table mit nur wenigen Lookups.

jopp 17.09.2003 13:49

und postgre sql? diese db ist vollkommen gratis wofür auch immer. habt ihr erfahrungen damit?

tarrian 17.09.2003 14:04

Nö. Mit postgre habe noch nicht gearbeitet.

SNo0py 17.09.2003 14:22

Postgre ist IMHO ähnlich mySQL mit ein wenig mehr Features, ich kann mich aber auch irren.

Und es kommt wie schon gesagt auf deine Daten an - wie viele Datensätze, wie groß wird die DB, wie viele Abfragen laufen. Für einfache Datenstrukturen ist auch die "kleine" mySQL DB genial schnell, teilweise sogar schneller!

jopp 17.09.2003 14:39

das problem ist, dass postgre sql eine unix oder linux db ist und sie nur mittels emulator auf einem windows rechner funktioniert. ich möchte im zuge meines programms ein installationsprogramm schaffen, welches auch die db software installiert und automatisch die datenbankstrukur erstellt, damit beim ersten start des programms sofort auf die db zugegriffen werden kann.

kennt ihr vielleicht auch andere datenbanksysteme, welche ich unter windows einfachst installieren und verwenden kann.

oder ist es vielleicht doch nicht so schlecht auf die idee mit dem dateisystem zurückzugreifen?
einfach zu erstellen, einfach zu verwalten, einfach zu löschen, nicht besonders sicher, tja, was fällt euch noch so ein

dub 17.09.2003 15:30

Ist es nicht durch die Verwendung von JDBC vollkommen egal, welche DB man verwendet? So könnte sich der Kunde selbst aussuchen, was für DB er einsetzt?

#Hannes#

jopp 17.09.2003 15:40

der kunde sollte jedoch gar nicht wissen, dass das programm mit einer datenbank arbeitet

dub 17.09.2003 15:53

Warum darf er das nicht wissen? Außerdem: Wenn dein Installer die DB auch installiert, dass sieht der Kunde das so oder so.

Bei MySQL tät ich im Übrigen aufapssen: MySQL kann NICHT(!) in jedem Fall gratis und lizensfrei verwendet werden!

Wann du zahlen musst, hab ich selbst noch nicht durchblickt. Aber es ist nicht so einfach, wie man denkt.

#Hannes#

SNo0py 17.09.2003 15:55

Wenn du eh Windows verwendest, dann nimm eine Access-Datenbank mit dem Jet-Treiber, da hast du nur das Datenbankfile und den entsprechenden ODBC-Treiber zu installieren. Funktioniert wunderbar und bevor du was im Filesystem speicherst....

Biri 18.09.2003 10:32

hi !

Ich arbeite dzt. an einem projekt, das eine DB verwendet, in welche messdaten aufgeziechnet werden. geplant ist, dass pro tag ca. 50.000 datensätze anfallen.

hab mich nach längerem überlegen/vergleichen für sql-server 2000 entschieden.
gegen mysql sprach die mangelhafte sql92 konformität. (zu diesem zeitunkt - mysql 4 soll ja in dieser hinsich besser sein)

postgre sql schaut von den daten/der beschreibung her ganz gut aus - hab damit aber keine erfahrung.

oracle ist sicher auch geeigent - für sql server sprach, dass dieser bereits beim kunden im einsatz ist.

ich würde auf KEINEN FALL access verwenden !
dieses DBS ist, wenn es auf große datenmengen, multiuser und stabilität ankommt absolut ungeeignet.
Die DB wird abundzu mal kaputt - und ist dann auch nicht immer mit dem access-repair befehl zu reparieren.
wenn man daten hinzufügt und löscht, wird die db immer größer - bis zu 1 GB und dann geht gar nix mehr.

fg
-hannes

SNo0py 18.09.2003 12:19

Dass du 50.000 Datensätze pro Tag hast hast du ja noch nicht erwähnt... bei der Anzahl ist klar, dass du nicht Access verwenden wirst. Und wenn der Kunde SQL Server schon im Einsatz hat - wie war noch mal deine Frage?

jopp 18.09.2003 13:32

also meine db soll in etwa zwischen 400.000 und 10.000.000 werte am tag aufnehmen können. im prinzip sind es abgetastete werte eines signals. darum sind es soviele. und je nachdem wieviele signale analysiert werden sollen fallen die daten an.

und ich denke das mit dem filesystem, ist dann vielleicht doch nicht so eine gute idee. ich sollte mal ausprobieren, wie schnell werte aus einer datei eingelesen werden können. pro messung fallen bis zu 450.000 werte an. und das in einer halben stunden in etwa. 250 pro Sekunde.

die werte müssen jedoch nicht in echtzeit in db eingetragen werden. naja. werden wohl einiges ausprobieren müssen um eine schnelle, billige und einfache lösung zu finden.

@dub

zahlen muss man immer dann, wenn man die mysql db mit eigener sw verkauft oder anbietet. und hier zahlt man eine ganze menge pro dbs.

danke für die antworten

Biri 19.09.2003 22:43

@SNo0py:
Zitat:

wie war noch mal deine Frage?
hmm ?
ich hab ja garnix gefragt, sondern über meine erfahrungen mit db berichtet. :)

@jopp: so interessehalber - was mießt du denn da bitte ?!?
pro sekunde 250 werte ist ja schon enorm.
das müsste man wohl wirklich mal ausprobieren, welche db so schnell ist. In diesem Fall würd ich dazu tendieren, die werte in ein flat file zu schreiben und dieses bei gelegenheit in die db zu importieren - ev. kann man dann ja eine vorauswahl treffen und muss nicht alles importieren...

fg
-hannes

jopp 19.09.2003 22:56

tja, hat sich erübrigt. werden doch nicht so viele werte.

ich danke allen für die antworten. ich werde aber auf jeden fall versuchen es herauszufinden und dies dann posten. mittels textfiles ist es problemlos möglich.

schönen abend noch

jopp


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:51 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag