Sunday, October 26, 2014

Comparison of SQL Server Compact, SQLite, SQL Server Express and LocalDB

In his article I'm gonna share with you an article of ErikEJ concerning the difference between SQL Server Compact, SQLite, SQL Server Express and LocalDB


Now that SQL Server 2014 and SQL Server Compact 4 has been released, some developers are curious about the differences between SQL Server Compact 4.0 and SQL Server Express 2014 (including LocalDB)

I have updated the comparison table from the excellent discussion of the differences between Compact 3.5 and Express 2005 here to reflect the changes in the newer versions of each product.
Information about LocalDB comes from here and SQL Server 2014 Books Online. LocalDB is the full SQL Server Express engine, but invoked directly from the client provider. It is a replacement of the current “User Instance” feature in SQL Server Express.
FeatureSQL Server Compact 3.5 SP2SQL Server Compact 4.0SQLite, incl SQLite ADO.NET ProviderSQL Server
Express 2012
SQL Server 2012 LocalDB
Deployment/ Installation Features     
Installation size2.5 MB download size
12 MB expanded on disk
2.5 MB download size
18 MB expanded on disk
10 MB download, 14 MB expanded on disk120 MB download size
> 300 MB expanded on disk
32 MB download size
> 160 MB on disk
ClickOnce deployment
Yes
Yes
Yes
Yes
Yes
Privately installed, embedded, with the applicationYesYesYesNoNo
Non-admin installation optionYesYesYesNoNo
Runs under ASP.NETNoYesYesYesYes
Runs on Windows Mobile / Windows Phone platformYesNoYesNoNo
Runs on WinRT (Phone/Store Apps)NoNoYesNoNo
Runs on non-Microsoft platformsNoNoYesNoNo
Installed centrally with an MSIYesYesYesYesYes
Runs in-process with applicationYesYesYesNoNo (as process started by app)
64-bit supportYesYesYesYesYes
Runs as a serviceNo – In process with applicationNo - In process with applicationNo - In process with applicationYesNo – as launched process
Data file features     
File formatSingle fileSingle fileSingle fileMultiple filesMultiple files
Data file storage on a network shareNoNoNoNoNo
Support for different file extensionsYesYesYesNoNo
Database size support4 GB4 GB140 TB10 GB10 GB
XML storageYes – stored as ntextYes - stored as ntextYes, stored as textYes, nativeYes, native
Binary (BLOB) storageYes – stored as imageYes - stored as imageYesYesYes
FILESTREAM supportNoNoNoYesNo
Code free, document safe, file formatYesYesYesNoNo
Programmability     
Transact-SQL - Common Query FeaturesYesYesNoYesYes
Procedural T-SQL - Select Case, If, featuresNoNoLimitedYesYes
Remote Data Access (RDA)YesNo (not supported)NoNoNo
ADO.NET Sync FrameworkYesNoNoYesYes
LINQ to SQLYesNo (not supported)NoYesYes
ADO.NET Entity Framework 4.1Yes (no Code First)YesYesYesYes
ADO.NET Entity Framework 6Yes (fully)Yes (fully)Yes (limited)YesYes
Subscriber for merge replicationYesNoNoYesNo
Simple transactionsYesYesYesYesYes
Distributed transactionsNoNoNoYesYes
Native XML, XQuery/XPathNoNoNoYesYes
Stored procedures, views, triggersNoNoViews and triggersYesYes
Role-based securityNoNoNoYesYes
Number of concurrent connections256 (100)256UnlimitedUnlimitedUnlimited (but only local)
There is also a table here that allows you to determine which Transact-SQL commands, features, and data types are supported by SQL Server Compact 3.5 (which are the same a 4.0 with very few exceptions), compared with SQL Server 2005 and 2008.

No comments:

Post a Comment