Saturday, July 15, 2006

SqlServer Mobile Edition, In-Proc Database

I just posted the following to microsoft.public.sqlserver.ce:

On Sriram Krishnan's blog he writes, "Sql Mobile is a super-lightweight, in-proc database that runs on devices. The key phrase for me personally is 'in-proc'. This means that there is no IPC involved and as a result, performance is blindingly fast."

This is really the only discussion I could find about in-proc databases via a quick Google search. Can anyone provide me with any more information on what an "in-proc database" is and how it differs from an "out-of-proc?" database. The implication of Sriram's post is that SqlMobile is efficient because it doesn't use interprocess communcation (assuming that's what IPC stands for). Do most databases use IPC?

(direct link)

(Update: 07/16/2006 1:37PM) I received the following response from Ginny Caughey, a Device Application Development MVP.

Some databases such as SQL Server run as services in their own process space, often on a different machine from the apps that consume those services. Others such as SQL Server Everywhere/SQL Mobile are DLLs that run in the same process space as the application that uses them. Not only does this imply that there is no process boundary to impact perforamance, but also when the hosting application ends, so does the database engine so there is no service running to serve as a potential security threat. There are advantages to client/server databases such as SQL Server, but for stand-alone and mobile apps, there are also advantages for an in-process database such as SQL Mobile/Everywhere.

(direct link)

2 comments:

Anonymous said...

Sorry I didn't see this post earlier - but Ginny pretty much nailed it - so no further explanation of my post is really required :-)

zetzab said...

hey,

i am a BSIT student and my group is task to develop a mobile dictionary and our problem is we can't connect to the database, we use sqlite for the database. i hope you can hel me.. thanks