# Euer bevorzugter Datenbank Typ für eure Entwicklungen



## André Uhres (31. Mrz 2008)

Euer bevorzugter Datenbank Typ für eure Entwicklungen


----------



## masta // thomas (31. Mrz 2008)

Eine Mehrfachauswahl hätte ich schöner gefunden 
Es kommt bei mir immer auf auf's Projekt an - MySQL, wenn andere Anwendungen (nicht Java) auf die Daten Zugriff haben sollen, H2, wenn Daten nur für die Anwendung gedacht sind.


----------



## L-ectron-X (31. Mrz 2008)

masta // thomas hat gesagt.:
			
		

> Eine Mehrfachauswahl hätte ich schöner gefunden


Ist leider nicht möglich. Schreib daher, die für dich wichtigste Datenbank auf.

Gemacht hab ich mal was mit Access, PostgeSQL und H2. PostgreSQL find ich ziemlich gut.
Ich hab mal noch 6 Kandidaten hinzugefügt.


----------



## byte (31. Mrz 2008)

dann kannste auch noch DB2 hinzufügen

und was soll xml in der liste? ???:L


----------



## L-ectron-X (31. Mrz 2008)

Bitte, ist drin.


----------



## The_S (1. Apr 2008)

DB2, MSSQL Server und HSQLDB - je nach Einsatzgebiet. Gestimmt habe ich für die DB2, da ich diese hauptsächlich im Betrieb einsetze.


----------



## y0dA (1. Apr 2008)

Oracle XE - findet sich hier auch nicht und würde ich auch nicht unter Oracle sehen.


----------



## ms (1. Apr 2008)

y0dA hat gesagt.:
			
		

> Oracle XE - findet sich hier auch nicht und würde ich auch nicht unter Oracle sehen.


Warum nicht?
Nur weils nix kostet?

ms


----------



## Noar (1. Apr 2008)

MySQL.

Allerdings nicht aus freier Entscheidung, sondern weil es bei den bisherigen Projekten so vorgegeben war...


----------



## y0dA (1. Apr 2008)

ms hat gesagt.:
			
		

> y0dA hat gesagt.:
> 
> 
> 
> ...



Wohl das Hauptargument. Weiters beschränkt benutzbar..habe grad den physischen Speicher ausgeschöpft..


----------



## maki (1. Apr 2008)

Hab leider selten die Freiheit der Wahl der DB, da muss man dann nehmen was da ist, MS SQL ist da in meinem Umfeld weit verbreitet.

Warum ist MySQL eigentlich so populär?
Interessieren würde mich vor allem, ob mehr InnoDB oder MyISAM Tabellen verwendet werden, vermute mal letzteres, auch wenn diese nicht wirklich Relational sind.


----------



## SnooP (1. Apr 2008)

y0dA hat gesagt.:
			
		

> ms hat gesagt.:
> 
> 
> 
> ...



Tablespace ist halt beschränkt auf 4GB oder so? Aber ansonsten konnten wir mit der XE sehr erfolgreich vorab Testen, ob die 9er auf die 10g upzudaten ist oder nicht... will sagen, mit der XE unsere Tests durchprobiert und mit der richtigen Oracle 10g liefen all diese Tests genauso durch.. warum ist die XE also dann nicht Oracle? 

Ich hatte bislang erst das Vergnügen mit MySQL und Oracle und bin zu wenig DB-Experte, als dass ich da über irgendeine Variante herziehen würde. Halte das auch i.A. für eher unsinnig... viel eher könnte man über DBs im Allgemeinen herziehen  ... warum z.B. SQL so grottenschlecht designed wurde  ... wie wär's mit einer vernünftigen objektorientierten Abfragesprache, die das OR-Mapping bereits DB-seitig löst... sowas wie MVEL z.B. fänd ich ganz nett. Die Ausdrücke find ich genialer als die ganzen nervigen Joins, die ich wieder kompliziert in meine objektorientierte Denke umdenken muss


----------



## robertpic71 (1. Apr 2008)

maki hat gesagt.:
			
		

> Warum ist MySQL eigentlich so populär?


Da habe ich mich schon auch öfters gefragt. PostgreSQL ist zwar im Normalbetrieb etwas langsamer, dafür schneller bei hoher/paralleler Last. Im Gegensatz von MySQL ist PostgreSQL wirklich frei und hatte von Anfang an Transaktionen und einen Standard-SQL-konformen Syntax. Einzig die Windowsversion kam mMn viel zu spät (vorher nur unter cygwin-Umweg).

Ich habe mal ein VB/VBA-Projekt für MySQL portiert. Ich habe selten eine Datenbank so verflucht wie MySQL, welches teilweise nicht-SQL-Standard-konformen Syntax verwendet. Zur Verteidigung von MySQL sei noch zu erwähnen, dass das schon ein paar Jahre her ist und das noch eine 4.x Version war. Da wurde sicher einiges nachgebessert.

Auch zu dieser Zeit teste ich MySQL (4.x)  und PostgreSQL (7.2) als möglich OLAP-Datenquelle (Mondrian). Bei den großen Datenmengen konnte weder MySQL noch PostgreSQL gegen DB2 und Oracle mithalten.

Hauptsächlich arbeite ich mit DB2 (auf IBM i5 alias System i, alias AS/400), Projekte habe ich auch unter Oracle (Linux, AIX), PostgreSQL (Linux) und MSSQL (Win 2003 Server) laufen. Wenn ich keine Vorgaben habe, bevorzuge ich H2 für Javalösungen.



			
				SnooP hat gesagt.:
			
		

> wie wär's mit einer vernünftigen objektorientierten Abfragesprache


Bei mir war zwar SQL schon lange vor OOP da, aber ich hier sehe auch Handlungsbedarf. Eine nach aktuellen Richtlinien designte Datenbank, ist einfach mühsam per SQL abzufragen. Nichtmal ein "alle Aufträge eines Kunden" ist ohne Join möglich, da man den fachlichen Key ja auch nicht mehr als Key bzw. Foreignkey nutzen sollte. 

Bei den Hibernatetools soll es eine HQL-Konsole geben - aber wir haben erst einen kleinen Teil in der Persistenzschicht definiert.


----------



## SnooP (2. Apr 2008)

Wenn ich nur nen SQL-Client bediene... und es noch um relativ triviale Abfragen geht, dann joine ich auch gerne... weil da bewege ich mich eben in der relationalen Tabellenwelt... - aber wenn ich mir mein Domänenmodell zusammenbaue finde ich nix hässlicher als SQL oder auch HQL-Statements in meine DAOs packen zu müssen... das ist einfach mehr als hässlich!  ... und auch mit Criterias von Hibernate baut man sich gedankliche SQL-Statements... irgendwie hat sich da anscheinend noch niemand Gedanken drüber gemacht oder die OR-Mapper Leute sind alles verkappte Datenbankler, die SQL ganz super finden  ... Leute das ist nicht so! 

Edit: bei den Hibernate-Plugins für Eclipse und IDEA gibt es tatsächlich eine HQL-Konsole... aber das befriedigt mich auch nicht wirklich... - alleine, dass man in HQL-Queries die Parameter auf die gleiche Art und Weise in den Query einhängen muss, wie bei PreparedStatements verwundert doch irgendwie schonn... wie wär's mit automatischer Auflösung - irgendwas cooles?  so liest es sich nicht nur unheimlich schlecht, es ist auch noch fehleranfällig... - und wer sich das mit den insert into x values (?,?,?) ausgedacht hat, gehört auch an die wand gestellt


----------



## ms (2. Apr 2008)

Weil da gerade über SQL hergezogen wird.
Sind wir doch froh das wir endlich einen Standard haben der halbwegs stabil ist.

Warum mySql so erfolgreich ist liegt - denke ich - einfach am Marketing. Hier war von Anfang an eine Firma dahinter, die zwar eine Datenbank opensource gestellt hat, aber mit den kommerziellen Produkten von MySQL natürlich auch Gewinne machen wollten/mussten.

PostgreSQL hingegen ist ein reines Uni-Projekt welches keinen kommerziellen Background hat und daher auch nicht dieselbe Vermarktungsmöglichkeiten hatte.

ms


----------

