Autor Beitrag
DbMaster
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Do 29.07.10 11:17 
TurboDB war ursprünglich ein Projekt für Kylix, das Borland als Delphi für Linux im Jahr 2000 rausgebracht hat. Eine einfach zu benutzende SQL Datenbank-Engine, die in das Programm eingebunden wird gab es für Linux damals nicht und so haben wir TurboDB damals in New York mit einigem Erfolg vorgestellt. Allerdings ist aus Kylix bekanntermaßen nichts geworden, dafür konnten wir TurboDB für VCL, also das normale Delphi ganz gut verkaufen und so gibt es das heute immer noch.

Im Laufe der Jahre ist aus der mehr ISAM-orientierten Datenbank eine echte SQL-Datenbank mit allem drum und dran entstanden, die gegen die vorhandenen Mitbewerber recht gut dasteht, Feature-Liste hänge ich unten dran. Unsere Firma dataweb hat heute sechs Mitarbeiter und bietet neben TurboDB für VCL auch eine Version für .NET an sowie TurboDB Studio (eine Art Access auf TurboDB-Basis), NShape (Visio als .NET-Komponente) und Auftragsentwicklung.

Technisch gesehen ist die Implementierung einer SQL-Datenbank auch heutzutage nicht so ganz ohne. Auch wenn man theoretisch gesehen alles an der Uni lernt, was dazugehört, ist es praktisch gesehen recht anspruchsvoll. Die Datenbank hat ein Storage-System, mit dem es Daten seitenweise von der Platte liest und cacht. Seitenweise deshalb, damit man die Bestandteile besser anordnen und entfernen kann. Dann braucht man einen Rechenkern, der verschiedene Datentypen (Zahlen, Strings, Datum etc.) versteht und damit rechnen kann. Es gibt einen Parser, der Formeln und Bedingungen so übersetzt, dass der Rechenkern es verarbeiten kann. In TurboDB erzeugen wir dazu ganz schulgemäß Syntax-Bäume aus Ausdruck-Objekten, die anschließend optimiert und ausgeführt werden. Mit einer der schwierigsten Teile, ist das Ausführen von komplexeren SQL Statements mit JOIN, UNION und Subselects. Hier muss man zuerst eine möglichst optimale Art finden, das Statement zu zerlegen (also z.B. zuerst das Subselect ausführen wenn möglich) und dann einzeln abzuarbeiten und zu kombinieren.

Es gibt aber auch ein Thema, an dem wir seit zehn Jahren optimieren und immer noch nicht zufrieden sind: Eine eingebettete Datenbank-Engine muss den gleichzeitigen Zugriff mehrere Anwendungen auf dieselbe Datenbank über Datei-Sperren lösen. Und dieser Mechanismus muss einerseits absolut sicher sein und darf andererseits nicht zuviel Performanz kosten. In der neuen Version haben wir dazu neue Sperrtypen (upgrade locks) eingeführt und die Anwendungen, welche schreiben wollen bevorzugt. Das klappt sehr gut, aber trotzdem bleibt das Problem, dass ab einer gewissen Anzahl an gleichzeitigen Usern die Overhead zu groß wird.

In den Boom-Zeiten von Delphi, also zu Zeiten von Delphi 6 und 7, hatten wir mit der Vermarktung von TurboDB keine großen Schwierigkeiten. Vielleicht erinnert sich der eine oder andere an die großen EKONs in Frankfurt, wo auch immer ein dataweb Stand mit dabei war. Inzwischen ist die EKON eine sehr elitäre (sprich kleine ;-)) Veranstaltung geworden und wir merken auch, dass die Delphi-Community kleiner wird. Deshalb haben wir ja auch die .NET-Schiene in unser Programm aufgenommen. Allerdings ist unser eigener Kundenstamm offensichtlich sehr treu, jedenfalls sind die Update-Zahlen immer noch ganz gut und wir gewinnen auch noch regelmäßig Neukunden. Als Komponentenhersteller sind wir ja auch Embarcadero Technology Partners und bekommen von daher etwas Unterstützung. Ich habe auch den Eindruck, dass durch Embarcadero wieder etwas mehr Power in die Weiterentwicklung von Delphi reinkommt. TurboDB für Delphi wird es jedenfalls noch etliche weitere Jahre geben.

Also hier sind die Features:
+ Da in Delphi geschrieben, können die dcu-Dateien in die Anwendung eingebunden werde, deshalb keine zusätzliche dll oder bpl
+ Hohe BDE-Kompatibilität auf der Komponenten-Ebene (Datenbank- Tabellen und Abfrage-Komponenten)
+ Enthält Komponenten-Designer für Datenbank-Konvertierung, Erstellung, Tabellen-Verwaltung etc.
+ Sehr schneller Mehrbenutzer-Zugriff auch verglichen mit anderen Datenbanken auf dem Markt.
+ Weitreichende SQL-Unterstützung einschließlich ALTER TABLE, UNION/EXCEPT/INTERSECT und Unterabfragen
+ Ultra-schnelle Volltext-Suche in ausgewählten Spalten mit UND, ODER und NICHT-Operatoren
+ Verschiedene Verschlüsselungs-Methoden einschließlich Blowfish und Rijndael (auch für Indexe und temporäre Tabellen)
+ Garantiert Datenkonsistenz durch Gültigkeitsprüfungen, Fremdschlüssel, berechnete Spalten und Transaktionen
+ Unterstützt alle Sprachen durch definierbare Vergleichs- und Sortierregeln auf Tabellen und Spaltenebene
+ Schaltet auf einfache Weise zwischen in-Prozess und Client-Server-Datenbank um, keine Quellcode-Änderungen
+ Lizenzkosten beinhalten exzellenten Support (wir analysieren sogar oft Ihren Quellcode) und alle kleineren Updates
+ Verfügbar ab Delphi 6/C++ Builder 6 bis RAD Studio 2010 (ohne Delphi 8 )
+ Wählen Sie zwischen einer einzelnen Datenbankdatei und getrennten Tabellen- und Indexdateien (wie Paradox)
+ Sehr gute Online-Dokumentation in die Delphi-Hilfe integriert
+ Berechnete Indexe, Vorgabewerte, berechnete Felder
+ Wird mit einer umfangreichen Benutzeroberfläche für das Datenbank-Management geliefert.
+ Schnelle String-Sortierung durch spezialisierte String-Index-Struktur
+ Möglichkeit, Datenbanktabellen über mehrere Rechner zu verteilen
+ Bietet spezielle Spaltentypen für Aufzählungen und Beziehungen (1:N sowie N:M)
+ Vollständige Unicode-Unterstützung, seit Delphi 2009 sogar nativ
+ Enthält Demo-Programme, welche die wichtigsten Merkmale aufzeigen
+ Dokumentation und Support sowohl auf Deutsch als auch Englisch verfügbar

Weitere Informationen und Test-Version auf der dataweb Homepage: www.dataweb.de/de/pr...elphi_datenbank.html

Ich beobachte das Thema und werde Fragen gerne beantworten.

_________________
Software-Architekt (dataweb)


Zuletzt bearbeitet von DbMaster am Fr 30.07.10 12:03, insgesamt 1-mal bearbeitet
Willmar
Hält's aus hier
Beiträge: 12
Erhaltene Danke: 1

Windows 7, Windows 2008 R2
Delphi 2007 für Win32 Ent
BeitragVerfasst: Do 29.07.10 16:15 
Vielleicht gut gemeint, aber eine Werbeverkaufsveranstaltung soll doch aus dem Forum nicht werden, sonst wollen Oracle, Microsoft u.a. auch ihr Recht hier....

Willmar
smt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 45



BeitragVerfasst: Do 29.07.10 16:48 
Hallo,

grundsätzlich ist das nicht schlecht, aber ich hab ein paar Fragen dazu:

- Man zahlt nur einmal die Lizenz und kann die DB dann in so viele Projekten wie man will einsetzen, ist das richtig? Auch die weitergabe von .net Assemblies ist von dieser Lizenz gedeckt?
- Gibt es eventuell schon Import-Tools von Mysql oder SQLite?
- Gibt es Datenbank-Management-Tools ?

Aktuell benutze ich bei einigen Projekten SQLite, hab aber immer wieder mit UFT8 und den DB-Komponenten Probleme damit (benutze eine Beta von ZEOS). Lieber wäre mir natürlich etwas komplett eingebettes welches nicht nur unter D2009, sondern auch unter D2007 funktioniert (da wir beide noch im Einsatz haben) und wenn man besthende SQLite-DB's eventuell automatisch konvertieren könnte.

VG Sascha
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20440
Erhaltene Danke: 2258

Win 10
C# (VS 2019)
BeitragVerfasst: Do 29.07.10 17:40 
DbMaster,

bitte schau mal in die Regeln für diese Sparte und arbeite Deinen Beitrag entsprechend nach. Im Moment ist Dein Posting wirklich nur ein Werbeposting und nicht das, was wir uns für diese Sparte vorstellen. Danke! :-)

Viele Grüße,
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
DbMaster Threadstarter
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Fr 30.07.10 11:25 
Hallo Christian und Willmar,

also ich habs wirklich gut gemeint und auch die Regeln gelesen und gedacht mich daran gehalten zu haben. Vielleicht bin ich ja schon betriebsblind ;-)
Es steht drin, wers macht, mit welchem Tool, die Geschichte, die Intention etc. Die Feature-Liste ist lang aber doch sachlich. Ich werde noch was über die Entwicklungsgeschichte erzählen, wenn dann noch Bedenken bestehen, würde ich Euch bitten, die etwas konkreter zu formulieren.
DbMaster Threadstarter
Hält's aus hier
Beiträge: 11

Windows 7
Delphi 2010, C#, C++ (VS 2010)
BeitragVerfasst: Fr 30.07.10 11:31 
user profile iconsmt hat folgendes geschrieben Zum zitierten Posting springen:

- Man zahlt nur einmal die Lizenz und kann die DB dann in so viele Projekten wie man will einsetzen, ist das richtig? Auch die weitergabe von .net Assemblies ist von dieser Lizenz gedeckt?

Ja.
user profile iconsmt hat folgendes geschrieben Zum zitierten Posting springen:

- Gibt es eventuell schon Import-Tools von Mysql oder SQLite?

Nicht speziell, aber man muss ein CREATE TABLE INSERT statement nur leicht überarbeiten, dass es ausgeführt werden kann.
Außerdem kann man über ADO und ODBC importieren.
user profile iconsmt hat folgendes geschrieben Zum zitierten Posting springen:

- Gibt es Datenbank-Management-Tools ?

Klar.
user profile iconsmt hat folgendes geschrieben Zum zitierten Posting springen:

Aktuell benutze ich bei einigen Projekten SQLite, hab aber immer wieder mit UFT8 und den DB-Komponenten Probleme damit (benutze eine Beta von ZEOS). Lieber wäre mir natürlich etwas komplett eingebettes welches nicht nur unter D2009, sondern auch unter D2007 funktioniert (da wir beide noch im Einsatz haben) und wenn man besthende SQLite-DB's eventuell automatisch konvertieren könnte.

Ich denke, Deine Anforderungen würde TurboDB erfüllen. Der Import müsste über ADO, ODBC, CSV oder CREATE TABLE INSERT wohl möglich sein.

_________________
Software-Architekt (dataweb)
Martok
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Moderator
Beiträge: 3657
Erhaltene Danke: 600

Win XP x86, Win 8.1 x64
Lazarus Snapshot; Delphi 7,2007,XE; PHP (PHPEdit,PhpStorm); JS; Java(Eclipse)
BeitragVerfasst: So 31.10.10 17:23 
Ich habe ja nun einiges an Datenbanken getestet, und ich muss sagen: diese Lösung ist wirklich gut.
Schlägt, was Geschwindigkeit und Datensicherheit angeht die vorher getesteten Embedded-Datenbanken SQLite und dBase4 via Halcyon/GS6 um Längen.

Allerdings auch ziemlich teuer, so dass es für das angedachte Freeware-Programm wohl nicht finanzierbar ist :( Wer das aber kann und will: sieht gut aus :zustimm:

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."