Quali sono i vantaggi di VistaDB

Ho visto i riferimenti a VistaDB nel corso degli anni e con strumenti come SQLite, Firebird, MS SQL et. al. Non ho mai avuto motivo di pensarci.

Quali sono i vantaggi del pagamento di VistaDB rispetto all’utilizzo di un’altra tecnologia? Cose che ho pensato di:
1. Supporto per framework compatto. SQLite + MSSQL supporta la CF.
2. È necessario un percorso di migrazione verso un sistema “più robusto”. Firebird + MSSQL.
3. Hai bisogno di funzioni più avanzate come i trigger. Firebird + MSSQL

Il runtime del client VistaDB è gratuito. Il runtime non scadrà mai alle 3:00 “come lo metti tu. Solo gli strumenti di sviluppo sono concessi in licenza in questo modo. Hai bisogno di 1 licenza per sviluppatore, semplice. Offriamo persino una versione Lite davvero economica senza strumenti di Visual Studio.

Alcuni altri vantaggi

Codice gestito al 100% – non ci sono chiamate interop o altre chiamate non gestite nel motore. Questo è un grosso problema per alcuni, e ad altri non potrebbe importare di meno.

Nessun accesso al registro richiesto – La maggior parte degli altri database del proc richiede l’accesso al registro per cercare controlli o permessi genitore. VistaDB fa solo ciò che gli dici di fare e funziona anche in Medium Trust.

Distribuzione di XCopy per runtime e database (singolo file). È ansible eseguire xcopy dell’applicazione, del runtime e del database ed eseguirli. Nulla da installare o configurare sulla macchina, non sono necessari privilegi speciali (possiamo eseguire in Medium Trust o superiore).

Memoria isolata : puoi inserire l’intero database in Storage isolato ed eseguirlo direttamente da lì. Ciò semplifica la creazione di clic sicuri una volta che le applicazioni scrivono database in modo favorevole ai domini per gli ambienti aziendali. Non è necessario memorizzare i dati dell’utente su un’unità condivisa o preoccuparsi della mapping dei permessi.

Trigger CLR / Proc. CLR : è ansible scrivere il codice CLR e utilizzarli come Trigger o Processi memorizzati. Di recente abbiamo introdotto le modifiche per rendere ancora più semplice la manutenzione di un singolo assieme CLR che può essere eseguito sia in VistaDB che in SQL Server 2005/2008.

Processi T-SQL: i Proc T-SQL VistaDB sono compatibili con SQL Server 2005/2008. Qualsiasi procedura che funzioni nel nostro motore verrà eseguita in SQL Server. Ciò non significa che tutto ciò che viene eseguito ci porterà a noi. Siamo un sottoinsieme della funzionalità in SQL Server. Ma siamo anche l’unico modo per eseguire Processi T-SQL senza SQL Server (SQL CE non può farlo).

Personalmente ritengo che una delle più grandi funzionalità sia la possibilità di eseguire l’upsize su SQL Server in un secondo momento. Tutti i tipi di VistaDB, syntax e Proc sulle CLR, procs T-SQL, ecc. Verranno eseguiti su SQL Server. (Non puoi prendere tutto da SQL Server a VistaDB, ma è un sottoinsieme)

Distribuzione a 32/64 bit – VistaDB è una distribuzione a singolo assembly che esegue sia 32 che 64 bit senza modifiche. SQL CE richiede due diversi runtime a seconda del sistema operativo e non può essere eseguito in IIS. L’accesso non ha runtime a 64 bit e il runtime a 32 bit più recente può essere distribuito solo tramite MSI. La versione a 32 bit di Windows ha il runtime, la versione a 64 bit no.

Integrità relazionale : VistaDB applica anche i vincoli e le chiavi esterne . È ansible aggiornare la cascata in modo specifico ed eliminare le operazioni. La persona che ha commentato che siamo come SQLITE è sbagliata a questo proposito. Analizzano i vincoli, ma non li applicano.

EDIT: Hanno il supporto per FK ora in SQLite. Ma non sono compilati per impostazione predefinita e non utilizzano la stessa syntax di SQL Server.

Media affidabilità: la possibilità di eseguire su un server web di media affidabilità è un’altra caratteristica che a molti non interessa, ma è un grosso problema. Molti controlli di terze parti non possono nemmeno essere eseguiti in Medium Trust. Siamo in grado di eseguire il motore completo all’interno di Medium Trust a causa del nostro impegno verso il codice gestito al 100% e la minima authorization richiesta.

– Full disclosure – Sono il proprietario di VistaDB, quindi potrei essere di parte. 🙂

Bene, la cosa principale è che è un puro codice gestito – per quello che vale; Funziona non solo sulle tipiche macchine Windows che eseguono .NET, ma funziona ovunque si esegua il Compact Framework e funziona anche su Mono . Ecco alcuni punti importanti della loro homepage:

  • Piccolo ingombro <1 MB veramente integrato ZeroClick
  • Tipi di dati compatibili con Microsoft SQL Server 2005 e syntax T-SQL
  • Nessuno dei limiti SQL CE
  • Utente singolo, multiutente locale o rete condivisa.
  • L’hosting condiviso parzialmente affidabile non è un problema.
  • Distribuzione senza royalty: la distribuzione con singola CPU di SQL Server costa più di una licenza per sito di VistaDB!

Una cosa degna di nota è che la società di Rob Howard, telligent , la utilizza come database predefinito per il loro nuovo software CMS, ” Graffiti “.

Ho giocato con lui qua e là ma non ho ancora costruito nulla contro di esso.

Per me questa caratteristica più interessante di VistaDB è che può essere eseguito in ambiente Medium Trust. Il che lo rende la soluzione perfetta per la creazione di siti Web .NET di piccole e medie dimensioni che possono essere distribuiti sul server mediante copia e incolla (distribuzione x-copy).

E quasi tutti i provider di hosting condiviso di Windows (come GoDaddy) non ti permetteranno di eseguire i tuoi siti web in modalità Full Trust. Inoltre, non installerà per voi binari di terze parti in GAC come System.Data.SQLite.dll se si desidera utilizzare SQLite ad esempio.

Non avevo mai visto VistaDB prima, sembra piuttosto interessante.

Aggiornamento: ricevuto un commento da qualcuno di VistaDB – il loro modello di aggiornamento è solo per ottenere nuove versioni. I tuoi vecchi non smetteranno di funzionare se la tua licenza scade, il che è bene sapere.

Mantenere il post originale qui come IMHO l’avvertimento sulle licenze software in scadenza è ancora la pena di pensare, anche se VistaDB stesso va bene.


Sicuramente sembra ‘più funzionale’ di SQLite, ma non vedo nulla lì per giustificare il costo. Il sito sembra indicare che è ansible acquistare una licenza per $ 279, ma questo implica solo un abbonamento di 1 anno. Dovresti quindi pagare altri $ 279 l’anno prossimo per far cadere il tuo sito?

Se è così, ricordati di considerare il “costo” quanto disagio sarà quando riceverai una chiamata alle 3 del mattino (legge di Murphy, è sempre il 3:00) dai tuoi clienti in panico perché la loro licenza VistaDB è scaduta 🙁

Ho avuto questa esperienza personalmente con un software in scadenza, e non è mai buono. Puoi inviare email e messaggi ai tuoi clienti e far lampeggiare l’intero schermo rosso lampeggiante dicendo “DEVI OTTENERE UNA NUOVA LICENZA PRIMA DELLA SETTIMANA SUCCESSIVA” e non lo faranno mai, e avrai ancora il dolore alle 3:00 quando lo farà scadere.