2008-09-10 24 views
12

He visto las referencias a VistaDB a través de los años y con herramientas como SQLite, Firebird, MS SQL et. Alabama. Nunca tuve una razón para considerarlo.Cuáles son las ventajas de VistaDB

¿Cuáles son los beneficios de pagar VistaDB frente a usar otra tecnología? Cosas que he pensado:
1. Compact Framework Support. SQLite + MSSQL son compatibles con CF.
2. Necesita una ruta de migración a un sistema "más robusto". Firebird + MSSQL.
3. Necesita funciones más avanzadas como activadores. Firebird + MSSQL

+0

¿Qué hay de las desventajas también? – jcollum

+0

Cuesta dinero. No es tan maduro. No tiene muchos (¿muchos?) Ojos mirándolo. –

+0

Compatible con VistaDB Entity Framework (EDM) – user212175

Respuesta

24

El tiempo de ejecución del cliente de VistaDB es gratuito. El tiempo de ejecución nunca "expirará a las 3 a.m." como lo pones. Solo las herramientas de desarrollador tienen licencia de esa manera. Necesitas 1 licencia por desarrollador, simple. Incluso ofrecemos una versión Lite realmente económica sin herramientas de Visual Studio.

Algunos otros beneficios

100% código administrados - no hay interoperabilidad o de otras llamadas no administrados en el motor. Esto es un gran problema para algunos, y a otros no les puede importar menos.

No se requiere acceso al registro - La mayoría de las demás bases de datos de proc requieren acceso de registro para buscar controles principales o permisos. VistaDB solo hace lo que le dices que haga, e incluso se ejecutará en Medium Trust.

Implementación de XCopy para el tiempo de ejecución y su base de datos (un único archivo). Puede copiar su aplicación, el tiempo de ejecución y su base de datos y ejecutarla. No hay nada que instalar o configurar en la máquina, no se necesitan privilegios especiales (podemos ejecutar en confianza media o superior).

Almacenamiento aislado - Puede poner toda su base de datos en almacenamiento aislado y ejecutarlo desde allí directamente. Esto hace que sea muy fácil crear aplicaciones seguras con solo un clic que escriban bases de datos de una manera fácil de usar para entornos corporativos. No es necesario almacenar los datos del usuario en una unidad compartida o preocuparse por la asignación de permisos.

Disparadores CLR/Proc CLR - Puede escribir el código CLR y utilizarlos como activadores o procesos almacenados. Recientemente, hemos introducido cambios para que sea aún más fácil mantener una sola Asamblea de CLR que pueda ejecutarse tanto en VistaDB como en SQL Server 2005/2008.

T-SQL Procs - VistaDB Los T-SQL Procs son compatibles con SQL Server 2005/2008. Cualquier procedimiento que funcione en nuestro motor se ejecutará en SQL Server. Eso no significa que cualquier cosa que se ejecute allí nos transmita. Somos un subconjunto de la funcionalidad en SQL Server. Pero también somos la única forma de ejecutar T-SQL Procs sin SQL Server (SQL CE no puede hacerlo).

Personalmente creo que una de las características más importantes es la capacidad de convertir SQL Server más tarde. Todos los tipos de VistaDB, la sintaxis y los procesos de CLR, los procs de T-SQL, etc. se ejecutarán en SQL Server. (No se puede tomar todo de SQL Server a VistaDB sin embargo, es un subconjunto)

32/64 bits despliegue - VistaDB es un solo despliegue de montaje que se extiende de 32 y 64 bits sin cambios. SQL CE requiere dos tiempos de ejecución diferentes según el sistema operativo, y no se puede ejecutar bajo IIS en absoluto. El acceso no tiene un tiempo de ejecución de 64 bits, y el tiempo de ejecución más reciente de 32 bits solo se puede implementar a través de MSI. La versión de 32 bits de Windows tiene el tiempo de ejecución, la versión de 64 bits no.

Integridad relacional - VistaDB también aplica sus restricciones y claves foráneas. Puede actualizar en cascada específica y eliminar operaciones. La persona que comentó que somos como SQLITE está equivocada a este respecto. Analizan restricciones, pero no las aplican.

EDITAR: Tienen soporte para FK ahora en SQLite. Pero no están compilados por defecto, y no usan la misma sintaxis que SQL Server.

Medium Trust - La capacidad de ejecutar en un servidor web de confianza media es otra característica que a muchos no les importará, pero es un gran problema. Muchos controles de terceros ni siquiera se pueden ejecutar en Medium Trust. Podemos ejecutar el motor completo dentro de Medium Trust debido a nuestro compromiso con el 100% de código administrado y el menor permiso requerido.

- Divulgación completa - Soy el propietario de VistaDB, así que puede ser parcial. :)

+0

La última versión de SQLite 3.6.19 admite la aplicación de claves foráneas. –

+0

La aplicación SQLite FK está deshabilitada de forma predeterminada. Desde su sitio "la biblioteca debe compilarse", lo que significa que depende incluso de BUILD, y luego debe habilitarla también. Si quisiera mantener el código y construirlo, habría construido mi propio motor (oh, espera, lo hice ... VistaDB - no importa) –

+0

No encontré ningún precio en la versión "Lite" de VistaDB, ¿todavía está disponible? – Andreas

5

Bueno, lo principal es que es un código administrado puro, por lo que vale; funciona no solo en las máquinas Windows normales que ejecutan .NET, sino que funciona dondequiera que ejecute Compact Framework e incluso funciona en Mono. He aquí algunos puntos de bala notables de su página web:

  • Ocupa poco espacio < 1 MB verdaderamente incrustado ZeroClick
  • Microsoft SQL Server 2005 los tipos de datos compatibles y la sintaxis de T-SQL
  • Ninguno de los límites de SQL CE
  • Usuario único, usuario múltiple local o mediante una red compartida.
  • Alojamiento compartido parcialmente confiable no es un problema.
  • Distribución sin regalías: la implementación de CPU única de SQL Server cuesta más que una licencia de sitio de VistaDB.

Una cosa a destacar es que la compañía de Rob Howard, telligent, lo utiliza como base de datos por defecto para su nuevo software CMS, "Graffiti."

He jugado con esto aquí y allá, pero todavía tengo que construir algo en su contra.

0

No había visto VistaDB antes, se ve muy bien.

Actualización: Recibí un comentario de alguien de VistaDB: su modelo de actualización solo sirve para obtener nuevas versiones. Tus viejos no dejarán de funcionar si tu licencia expira, lo cual es bueno saber.

Manteniendo la publicación original aquí en mi humilde opinión, la advertencia sobre la expiración de licencias de software todavía vale la pena pensar, incluso si VistaDB está bien.


Definitivamente parece 'más funcional' que SQLite, pero no veo nada para justificar el costo. El sitio parece indicar que puede comprar una licencia por $ 279, pero implica que esta es solo una suscripción de 1 año. ¿Tendría que pagar otros $ 279 el próximo año para evitar que su sitio se caiga?

Si es así, recuerde tener en cuenta el "costo" de la inconveniencia que tendrá cuando reciba una llamada a las 3 a.m. (la ley de Murphy, son siempre las 3 a.m.) de sus clientes en pánico porque su licencia VistaDB ha expirado :-(

He tenido esta experiencia personalmente con software que expira, y nunca es bueno. Puede enviar correos electrónicos y mensajes a sus clientes y mostrar toda su pantalla parpadeando en rojo diciendo "NECESITA OBTENER UNA NUEVA LICENCIA ANTES DE LA SEMANA" ellos todavía nunca lo harán, y aún recibirás el dolor a las 3 a.m. cuando expire.

+0

No, la licencia no caduca; simplemente no obtiene actualizaciones después de que se agota el período de suscripción. –

+0

La licencia de tiempo de ejecución nunca caduca. La suscripción es para soporte y actualizaciones. No puede obtener ninguna compilación nueva de nosotros después de que caduque su suscripción. –

5

Para mí, esta característica más interesante de VistaDB es que se puede ejecutar en un entorno de confianza medio. Lo que lo convierte en la solución perfecta para crear sitios web pequeños y medianos .NET que se pueden implementar en el servidor copiando y pegando (implementación de x-copy).

Y casi todos los proveedores de hospedaje compartido de windows (como GoDaddy) no le permitirán ejecutar sus sitios web en el modo de plena confianza. Y tampoco instalará ningún binario de terceros en GAC como System.Data.SQLite.dll si desea utilizar SQLite por ejemplo.

Cuestiones relacionadas