2008-09-10 15 views
12

Ich habe die Verweise auf VistaDB im Laufe der Jahre gesehen und mit Tools wie SQLite, Firebird, MS SQL et. al. Ich hatte nie einen Grund, darüber nachzudenken.Was sind die Vorteile von VistaDB

Was sind die Vorteile, wenn Sie für VistaDB eine andere Technologie verwenden? Dinge, an die ich gedacht habe:
1. Compact Framework Support. SQLite + MSSQL unterstützt die CF.
2. Benötigen Sie einen Migrationspfad zu einem "robusteren" System. Firebird + MSSQL.
3. Benötigen Sie erweiterte Funktionen wie Trigger. Firebird + MSSQL

+0

Wie sieht es mit den Nachteilen aus? – jcollum

+0

Es kostet Geld. Es ist nicht so reif. Es hat nicht viele (so viele?) Augen, die es betrachten. –

+0

Unterstützt VistaDB Entität Framework (EDM) – user212175

Antwort

24

Die VistaDB-Clientlaufzeit ist kostenlos. Die Laufzeit wird niemals "um 3 Uhr morgens" ablaufen, wie Sie es nennen. Nur die Entwicklerwerkzeuge werden auf diese Weise lizenziert. Sie benötigen 1 Lizenz pro Entwickler, einfach. Wir bieten sogar eine wirklich günstige Lite-Version ohne Visual Studio-Tools an.

Einige andere Vorteile

100% verwaltetem Code - es gibt keine Interop oder andere nicht verwaltete Anrufe im Motor sind. Das ist eine große Sache für einige, und anderen ist es egal.

Kein Registrierungszugriff erforderlich - Die meisten anderen in Proc-Datenbanken erfordern Registrierungszugriff, um nach übergeordneten Steuerelementen oder Berechtigungen zu suchen. VistaDB macht nur das, was Sie ihm sagen, und wird sogar in der mittleren Vertrauensstellung ausgeführt.

XCopy Bereitstellung für Laufzeit und Ihre Datenbank (einzelne Datei). Sie können Ihre Anwendung, die Laufzeit und Ihre Datenbank kopieren und ausführen. Es ist nichts auf der Maschine zu installieren oder zu konfigurieren, es sind keine besonderen Privilegien erforderlich (wir können in Medium Trust oder höher laufen).

Isolierter Speicher - Sie können Ihre gesamte Datenbank in den isolierten Speicher stellen und von dort direkt ausführen. Dies macht es sehr einfach, sichere Click-Once-Anwendungen zu erstellen, die Datenbanken domänenfreundlich für Unternehmensumgebungen schreiben. Sie müssen die Benutzerdaten nicht auf einem freigegebenen Laufwerk speichern oder sich um die Berechtigungszuordnung kümmern.

CLR-Trigger/CLR-Prozesse - Sie können CLR-Code schreiben und sie als Trigger oder Stored Procs verwenden. Wir haben kürzlich Änderungen eingeführt, um die Verwaltung einer einzelnen CLR-Assembly, die sowohl in VistaDB als auch in SQL Server 2005/2008 ausgeführt werden kann, noch einfacher zu machen.

T-SQL-Prozeduren - VistaDB T-SQL-Prozeduren sind mit SQL Server 2005/2008 kompatibel. Jede Prozedur, die in unserer Engine funktioniert, wird in SQL Server ausgeführt. Das bedeutet nicht, dass irgendetwas, was dort läuft, zu uns führt. Wir sind eine Teilmenge der Funktionalität in SQL Server. Aber wir sind auch die einzige Möglichkeit, T-SQL-Prozesse ohne SQL Server auszuführen (SQL CE kann das nicht).

Ich persönlich denke, eines der größten Features ist die Möglichkeit, später auf SQL Server zu erweitern. Alle VistaDB-Typen, Syntax und CLR-Prozeduren, T-SQL-Prozeduren usw. werden auf SQL Server ausgeführt. (Sie können nicht alles von SQL Server herunter zu VistaDB, aber es ist eine Teilmenge)

32/64 Bit-Bereitstellung - VistaDB ist eine einzelne Assembly-Bereitstellung, die sowohl 32 als auch 64 Bit ohne Änderungen ausgeführt wird. SQL CE erfordert abhängig vom Betriebssystem zwei verschiedene Laufzeiten und kann unter IIS überhaupt nicht ausgeführt werden. Der Zugriff hat keine 64-Bit-Laufzeit und die neueste 32-Bit-Laufzeit kann nur über MSI bereitgestellt werden. Die 32-Bit-Version von Windows hat die Laufzeit, die 64-Bit-Version nicht.

Relationale Integrität - VistaDB erzwingt auch tatsächlich Ihre Einschränkungen und Fremdschlüssel. Sie können bestimmte Kaskadenaktualisierungen durchführen und Vorgänge löschen. Die Person, die uns kommentiert hat, ist wie SQLITE in dieser Hinsicht falsch. Sie analysieren Constraints, erzwingen sie jedoch nicht.

EDIT: Sie haben Unterstützung für FK jetzt in SQLite. Sie werden jedoch nicht standardmäßig kompiliert und verwenden nicht die gleiche Syntax wie SQL Server.

Mittlere Vertrauen - Die Fähigkeit, auf einem Medium-Trust-Webserver zu laufen, ist ein weiteres Merkmal, das viele nicht interessieren, aber es ist eine große Sache. Viele Steuerelemente von Drittanbietern können nicht einmal in Medium Trust ausgeführt werden. Wir können die gesamte Engine innerhalb von Medium Trust ausführen, da wir uns zu 100% auf verwalteten Code und die geringste erforderliche Berechtigung verpflichten.

- Vollständige Offenlegung - Ich bin der Eigentümer von VistaDB, also kann ich voreingenommen sein. :)

+0

Neueste SQLite-Version 3.6.19 unterstützt die Durchsetzung von Fremdschlüsseln. –

+0

SQLite FK-Erzwingung ist standardmäßig deaktiviert. Von ihrer Seite "die Bibliothek muss kompiliert werden" bedeutet das, dass sie sogar vom BUILD abhängt, und dann muss man sie auch aktivieren. Wenn ich den Code behalten und bauen wollte, hätte ich meine eigene Engine gebaut (oh warte, ich habe ... VistaDB - vergiss) –

+0

Ich habe keine Preise auf VistaDB "Lite" Version gefunden, ist es noch verfügbar? – Andreas

5

Nun, die Hauptsache ist, dass es sich um reinen verwalteten Code handelt - was das wert ist; Es funktioniert nicht nur auf Ihren typischen Windows-Rechnern, auf denen .NET ausgeführt wird, sondern funktioniert überall dort, wo Sie das Compact Framework ausführen und funktioniert sogar unter Mono. Hier sind einige bemerkenswerte Aufzählungszeichen von ihrer Homepage:

  • Kleine < 1 MB Fußabdruck wirklich Zeroclick eingebettet
  • Microsoft SQL Server 2005 kompatible Datentypen und T-SQL-Syntax
  • Keine der SQL CE Grenzen
  • Einzelner Benutzer, mehrere Benutzer lokal oder mit gemeinsam genutztem Netzwerk.
  • Partiell vertrauenswürdiges Shared Hosting ist kein Problem.
  • Lizenzfreie Verteilung - Single-CPU-Bereitstellung von SQL Server kostet mehr als eine Site-Lizenz von VistaDB!

Eine Sache, erwähnenswert ist, dass Rob Howard Unternehmen, telligent, verwendet es als Standarddatenbank für ihre neue CMS-Software „Graffiti“.

Ich habe hier und da damit gespielt aber muss noch nichts dagegen bauen.

0

Ich hatte VistaDB vorher noch nicht gesehen, es sieht ziemlich cool aus.

Update: Erhalten Sie einen Kommentar von jemandem aus VistaDB - ihr Update-Modell ist nur für neue Versionen. Ihre alten funktionieren nicht mehr, wenn Ihre Lizenz abläuft, was gut zu wissen ist.

Halten Sie den ursprünglichen Beitrag hier als IMHO die Warnung über auslaufende Softwarelizenzen ist immer noch wert, darüber nachzudenken, obwohl VistaDB selbst in Ordnung ist.

Es scheint definitiv 'mehr Feature' als SQLite, aber ich sehe nichts, um die Kosten zu rechtfertigen. Die Website scheint zu zeigen, dass Sie eine Lizenz für 279 $ kaufen können, aber es bedeutet, dass dies nur ein Abonnement für 1 Jahr ist. Würden Sie nächstes Jahr noch einmal 279 $ zahlen müssen, damit Ihre Seite nicht umfällt?

Wenn ja, denken Sie daran in die ‚Kosten‘ Faktor, wie viele Unannehmlichkeiten es geht zu sein, wenn Sie einen Anruf um 3 Uhr morgens bekommen (Murphys Gesetz, es ist immer 03.00) von Ihrem panischen Kunden, weil ihre VistaDB Lizenz :-(abgelaufen ist

Ich habe diese Erfahrung persönlich mit etwas auslaufender Software gehabt, und es ist nie gut.Sie ​​können Ihren Kunden E-Mails und Nachrichten senden und ihren gesamten Bildschirm rot blinkend blinken mit dem Spruch "SIE BENÖTIGEN EINE NEUE LIZENZ BEVOR NÄCHSTE WOCHE" Sie werden es immer noch nie tun, und Sie werden noch um 3 Uhr morgens Schmerzen haben, wenn es abläuft.

+0

Nein, die Lizenz läuft nicht ab - Sie erhalten keine Updates nach Ablauf des Abonnementzeitraums. –

+0

Die Laufzeitlizenz läuft nie ab. Das Abonnement ist für Support und Updates. Nach Ablauf des Abonnements können Sie keine neuen Versionen mehr von uns erhalten. –

5

Für mich ist dieses interessanteste Feature von VistaDB, dass es in Medium Trust Umgebung ausgeführt werden kann. Dies ist die perfekte Lösung für die Erstellung kleiner bis mittelgroßer .NET-Websites, die durch Kopieren und Einfügen auf dem Server bereitgestellt werden können (x-copy-Bereitstellung).

Und fast alle Windows Shared Hosting-Provider (wie GoDaddy) lassen Sie Ihre Websites im Full Trust-Modus nicht laufen lassen. Und wird auch nicht installieren Sie Drittanbieter-Binärdateien in GAC wie System.Data.SQLite.dll, wenn Sie SQLite zum Beispiel verwenden möchten.