views:

308

answers:

3

I'm seeing it pop up more and more and not really understanding the purpose of it? Can I only use it when I am developing locally on my desktop?

Or can I put a commercial site on a server with say Win2003 thats using VistaDB? Is it faster than using a SQL DB? Is it secure?

Confused...

+3  A: 

From what I can make out of their website http://www.vistadb.net/:

  • You can use it for both development and commercial purposes
  • It's not a server, it's an assembly for your website/application
  • My guess is that since it's not a full featured SQL server it should be faster and lighter on the resources
  • Don't know how secure it is, but they state that you can put it on "medium trust" websites.
Johann J.
+6  A: 

VistaDB is a .NET alternative to the lightweight database systems offered by Microsoft: Jet (Microsoft Access), MSDE, Sql Server CE or Sql Server Express. You can use it in any .NET application where you need a database and you don't really want the overhead of having a client/server database.

VistaDB is an embedded database (some other embedded databases are SQLite and FireBird). This basically means that your database is totally "invisible" to your end users. They don't need to install a client/server database like SQL Server for instance. Deploying VistaDB is simple. All you need is the database file and a reference to the VistaDB runtime DLL within your application.

A commercial application that uses VistaDB for it's backend is Graffiti CMS.

Praveen Angyan
What about concurrency? This is the biggest gripe I have with SQLite.
toast
I once tried out both SQLite and VistaDB for one of my applications. I ran into concurrency problems using SQLite almost immediately.VistaDB performed flawlessly though. Keep in mind that this was a while ago and my application was a WinForms application that didn't really stress the database that it was using to any great extent, so your mileage may vary.
Praveen Angyan
A: 

You may also want to see this StackOverflow topic about VistaDB.

Nothing is faster than SQL Server for what it does. If you think SQL Server is too slow you are probably doing something wrong. It is incredibly fast. There is no way a 100% managed engine is going to be faster than SQL Server on everything.

Lighter on resources - Yes

Easier to deploy - Yes (xcopy deployment)

Desktop database - Yes, you can use it for desktop development of applications. Some people also use it for multi user applications on a shared drive. Websites are another target where you can't install a service or don't want to pay extra for SQL Server access on the hosting account.

Security - VistaDB runs in-process with your application. There is no concept of user security since you are loading it directly.

Concurrency - Depends on your application. We support multiple processes access the same database, but some operations will still have locking issues you have to work with in your code.

Jason Short