Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   C# Welche Datenbank - zum 1256sten mal (https://www.delphipraxis.net/59437-welche-datenbank-zum-1256sten-mal.html)

Garby 22. Dez 2005 10:39

Datenbank: unklar • Zugriff über: .Net

Welche Datenbank - zum 1256sten mal
 
Hallihallo,

Ich bin auf der Suche nach einem deuen Datenbanksystem.
Wie sich herausgestellt hat ist die Sache schwerer als ich dachte.
Ich habe noch keine DB gefunden, die alle meine Anforderungen entspricht:
Diese wären:
  • Unicode
  • Embedded Version
  • einfaches Upsizing auf Client/Server
  • Zugriff über .Net
  • Server lauffähig unter Windows + Linux (Nicht zwingend)
Der Knackpunkt ist, dass die meisten unserer Kunden keinen zusätzlichen Server installieren/betreuen wollen/können/dürfen.
Deshalb ist es nötig, dass in der Embedded Version ca. 10 - 15 User gleichzeitig auf die DB zugreifen können.

Folgendes habe ich bisher rausgefunden (bitte berichtigt mich bitte wenn etwas falsch sein sollte).
  • Firebird: Embedded Version nur für 1 User gleichzeitig.
  • ADS: kein Unicode, Embedded Server nur 5 User gleichzeitig.
  • NexusDB: Unicode???, Embedded Server mehrere User??? (ehrlich gesagt bin ich bei diesem System noch nicht ganz durchgestiegen ;) )
  • AbsoluteDB: kein C/S, kein .NET
  • SQLite: kein C/S, kein .NET???, Unicode???
Weiss Jemand eine Alternative?
Der Preis spielt erstmal kein Rolle.

Danke

mschaefer 22. Dez 2005 10:47

Re: Welche Datenbank - zum 1256sten mal
 
Moin: Kurz zu Firebird:

Es ist kein Problem die Server-Version auf einem Anwenderrechner laufen zu lassen. Die Geschwindigkeit ist bei heutigen Rechnern kein wirkliches Argument. Damit hast Du den Mehrbenutzerzugriff. Normalerweise nimmt man den Rechner, der im Nichtkundenbereich dauernd läuft.

Grüße // Martin

Bernhard Geyer 22. Dez 2005 10:49

Re: Welche Datenbank - zum 1256sten mal
 
MySQL (Kann ab V4.1 Unicode als UCS2 oder UTF8)
MS-SQL (MSDE bzw. SQLExpress als "kleine" Version)


Aber jeder DB kann man Unicode "teilweise" beibringen indem man alle Daten UTF8-Codiert speichert.

Garby 22. Dez 2005 10:58

Re: Welche Datenbank - zum 1256sten mal
 
Zitat:

Zitat von Bernhard Geyer
MySQL (Kann ab V4.1 Unicode als UCS2 oder UTF8)

Können mehrere MySQL Embedded auf eine Datenbasis zugreifen?
Zitat:

Zitat von Bernhard Geyer
MS-SQL (MSDE bzw. SQLExpress als "kleine" Version)

Braucht MSDE keine Installation?
Wenn nicht, können mehrere MSDE....?
Zitat:

Zitat von Bernhard Geyer
Aber jeder DB kann man Unicode "teilweise" beibringen indem man alle Daten UTF8-Codiert speichert.

Wie meinst du das? .Net Strings sind doch Unicode(UTF16) codiert, oder nicht?
Steh ich vielleicht aufm Schlauch? ;)

Hansa 22. Dez 2005 11:09

Re: Welche Datenbank - zum 1256sten mal
 
Zitat:

Zitat von Garby
Der Knackpunkt ist, dass die meisten unserer Kunden keinen zusätzlichen Server installieren/betreuen wollen/können/dürfen.

Was verstehst Du unter einem Server ? Vor allem einem "zusätzlichen" ? Etwa einen zusätzlichen Rechner, den man dann bräuchte ? Den braucht man nicht !

Garby 22. Dez 2005 11:16

Re: Welche Datenbank - zum 1256sten mal
 
Zitat:

Zitat von Hansa
Was verstehst Du unter einem Server ? Vor allem einem "zusätzlichen" ? Etwa einen zusätzlichen Rechner, den man dann bräuchte ? Den braucht man nicht !

Ein Server ist für mich ein Serverprogramm, das man installieren und administrierem muss.
Hauptsächlich bei Ämtern, und auch bei manchen Firmen wo die EDV "outgesourct" ist stellt das ein Problem dar.

Angenommen in einer Firma werden nur Notebooks verwendet, die nie an ihrem Arbeitsplatz bleiben.
In diesem Fall würde ich auch einen eigenen Rechner brauchen.

Der_Unwissende 22. Dez 2005 11:21

Re: Welche Datenbank - zum 1256sten mal
 
Hi,
ich hab hier mal einen weiteren Vorschlag, allerdings bin ich mir bei der direkten .net Unterstützung nicht ganz sicher. Aber solltest eigentlich über ODBC-Bridges an so ziemlich jede DB rankommen (womit .net Java ein Stückchen näher käme).
Schau einfach mal bei H2 Databases vorbei (ich finde klingt viel versprechend).

Gruß Der Unwissende

alzaimar 22. Dez 2005 11:25

Re: Welche Datenbank - zum 1256sten mal
 
Manchmal muss man Kunden aber zu ihrem Glück zwingen. Du kannst ja nicht in ein Autohaus gehen und sagen:"Ich will ein Auto, aber auf Tanken hab ich kein Bock". Geht nun mal nicht.
oder auch "Ich will keine Wartungsintervalle einhalten"... "Klar, aber wundern Sie sich nicht, wenn das Auto nicht lange hält"

So ist es auch hier: Ein normaler Anwender-PC, auf dem sich die DB befindet, mag ja auf den ersten Blick kostengünstig und bequem sein, aber lass doch einfach mal eins der user-GAUe passieren:
-Virus
-Festplatte im Eimer
-Aus Versehen Neustart
etc.

Ich würde zumindest *einen* PC etwas robuster ausstatten (also nicht die billig-HD nehmen, sondern vielleicht SCSI), das Software-Raid von Windows aktivieren (oder gleich ne kleine Raid-Karte) und den ohne Grafikschnickschnack in die Ecke stellen. Das muss nun wirklich kein Server sein, nur stabil muss er nun mal sein. Darauf einen wartungsarmen MSSQL (mein Favorit, aber FB und PostgreSQL sind wohl gleichwertig) draufpacken und fertig. Und wenn die DB mal hängt (was immer mal vorkommen kann), dann wird der Resetknopf gedrückt und gut ist: Bei richtigen DB (also *nicht* mysql) ist es nämlich so, das die DB garantiert nicht zerballert ist, bloss weil man den Resetknopf gedrückt hat. Beim Neustart wird die DB ganz brav geladen und der Zustand vor dem Rest wieder hergestellt. Dann noch ein paar Maintenance-Jobs per Timer (checkpoint setzen, backup etc.) und schon haben die ihre Ruhe. Du musst dann nur gelegentlich per Admintool nachschauen, ob alles ok ist.

Soweit ich das weiss (bitte korrigieren) ist ein sichere Transaktionskapselung mit 'Embedded Servern' doch gar nicht möglich, weil eben viele Server auf eine Datei zugreifen. Das geht nie 100% gut.

Du *musst* irgendwo eine zentrale Serverinstanz installieren, die sich auf die DB setzt und sie 100% wasserdicht abschottet und eine zentrale Transaktionskapselung vornimmt. Imho geht das nicht mit clientseitigen DBs (siehe Access).

Ich sage meinen Kunden: Kaufen Sie sich einen zusätzlichen PC, zur Not packen wir den ins Budget, wenn der Financial Controller mauert (was die gerne tun). Der Wert (max 1000 Euronen) entspricht 1-2 Tagessätzen, und die verbringt man allemal damit, eine DB-Havarie aus o.g. Gründen wieder zu korrigieren.

Surrounder 22. Dez 2005 11:25

Re: Welche Datenbank - zum 1256sten mal
 
hast Du mal die NexusDB angeschaut?

http://www.nexusdb.com/showpage.asp?Id=125



Edit: Zum Thema Server, ich arbeite mit der NexusDB und man hat 2 möglichkeiten, entweder einen Server laufen lassen ( was du ja nicht möchtest ) oder eben den Pfad angeben wo die DB liegt. Das sollte meines Wissens nach auch mit der Trial gehen.

Garby 22. Dez 2005 11:40

Re: Welche Datenbank - zum 1256sten mal
 
Zitat:

Zitat von alzaimar
Manchmal muss man Kunden aber zu ihrem Glück zwingen. Du kannst ja nicht in ein Autohaus gehen und sagen:"Ich will ein Auto, aber auf Tanken hab ich kein Bock". Geht nun mal nicht.
oder auch "Ich will keine Wartungsintervalle einhalten"... "Klar, aber wundern Sie sich nicht, wenn das Auto nicht lange hält"

Deine Ausführungen sind alle Verständlich und Logisch.
Das Problem ist, dass unsere bestehende Software auf Foxpro aufsetzt, wo die DB-Dateien eben auf einem Fileserver liegen.
Lt. Erfahrungen unseres Helpdesks würden die Meisten unserer Kunden kein Update mehr kaufen wollen/dürfen, wenn ein eigener Server benötigt wird. (hier ist wohl der Kunde König)

Zitat:

Zitat von Surrounder
hast Du mal die NexusDN angeschaut?

Zitat:

Zitat von Garby
  • NexusDB: Unicode???, Embedded Server mehrere User??? (ehrlich gesagt bin ich bei diesem System noch nicht ganz durchgestiegen ;) )



Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz