LocalDB:微软的新生代轻量级数据库
什么是LocalDB
随着SQL Server 2012的发布,LocalDB跃入我们的视线,它可以被看做是SQL Server Express的轻量级版本。LocalDB专门为开发人员创建,它非常易于安装,几乎无需管理,兼容T-SQL语言,编程接口与SQL Server Express别无二致。有了LocalDB,开发人员就不需要在自己的笔记本上安装和维护一个庞大的SQL Server实例了。另外,LocalDB也适用于小型应用环境,开发人员可以将其用于小型生产环境或者嵌入式环境。
为开发人员量身定制
我们在关注LocalDB的技术细节之前,首先来了解一下构建LocalDB的背景。一直以来,SQL Server Express满足了我们两方面的需求。它既是免费版的SQL Server,又具有足够强大的功能,与其它版本相兼容。当然,它的能力也存在一些限制,即它的每个数据库的存储容量不能超过10G。SQL Server作为一个成熟的数据库产品,其Express版本依然具有相当的复杂度。但作为开发人员,我们更希望降低管理复杂度,专注于开发。LocalDB的开发目标由此形成,它是轻量级的SQL Server Express,为开发人员量身定制。
核心技术特性
说了这么多,现在让我们来看看LocalDB的核心技术特性:
1)兼容其它SQL Server版本,使用sqlservr.exe作为服务进程,使用相同的客户端访问接口(如ADO.NET、ODBC或PDO),兼容T-SQL编程语言。
2)在同一台计算机上不必安装多个LocalDB,不同的应用程序可以并行执行多个LocalDB进程,但所有的进程都是从同一个可执行文件(sqlservr.exe)启动的。
3)LocalDB不会创建任何系统服务,LocalDB进程会根据需要自动启动、停止。应用程序只需连接“Data Source=(localdb)\ MSSQLLocalDB”,LocalDB就会作为应用程序的子进程启动。随着连接的终止,LocalDB进程也会随之停止。
4)LocalDB支持AttachDbFileName属性,允许开发者指定数据库文件位置。例如:
Data Source = (localdb)\ MSSQLLocalDB;
Integrated Security = true;
AttachDbFileName = C:\MyData\Database1.mdf
轻量级数据库对比(LocalDB vs. SQL Express vs. Compact)
LocalDB并不能完全替代SQL Server Express,它只是对开发人员提供了另外一种选择,并保证与SQL Server Express一致的兼容性。
LocalDB与SQL Server Compact之间有很大区别:
1) 运行模式:SQL Server Compact是一个进程内(in-proc)DLL,LocalDB则作为独立进程运行。
2)磁盘占用:SQL Server Compact的体积仅有4MB,LocalDB安装之后则有140MB。
3) 功能特性:SQL Server Compact仅提供RDBMS的核心功能,而LocalDB则提供更丰富的功能,比如存储过程、几何和地理数据类型。
最后的说明
LocalDB作为一个功能丰富的轻量级数据库,是否提供了良好的管理接口?
答案是肯定的。LocalDB提供了一个命令行管理工具SqlLocalDB.exe,我们也可以SQL Server Management Studio(SSMS)管理LocalDB,也可以使用Visual Studio 2012开发工具(及其以上版本)内部自带的简版SqlServer管理工具。
现在Visual Studio 2012+开发工具,安装后都默认都安装了LocalDB,根据VS版本不同,相应的LocalDB版本就不同。
以上内容根据下面网址提供的内容进行了整理。
原文英文地址:
https://blogs.msdn.microsoft.com/sqlexpress/2011/07/12/introducing-localdb-an-improved-sql-express/
原文中文地址:
http://www.csdn.net/article/2012-03-29/313675
LocalDB:微软的新生代轻量级数据库的更多相关文章
- 无需部署的轻量级数据库—SQLLite,使用Demo
当有程序需要保存轻量数据,而又烦躁序列化到本地的不便,轻量级数据库—SQLLite是一个很好的选择,只需引用System.Data.SQLite.DLL,无需部署数据库,便可像拥有数据库一样保存数据, ...
- 轻量级数据库sqlite的编译
sqlite是很多客户端程序所使用的一种轻量级数据库,但是目前没有lib文件,只有源码和dll文件,我们可以利用VS工具生成lib,然后在应用程序中使用. (1)下载地址 http://www.sql ...
- h2database轻量级数据库
h2和derby一样,都是轻量级数据库,h2比derby还要轻巧,核心jar包不到1M.性能效率等等方面都非常好(前提不是高并发,高数据量) 轻量级数据库的应用出其不意,可以完成很多以前常规开发中无法 ...
- IOS中使用轻量级数据库
IOS中使用轻量级数据库 目录 概述 IOS中的轻量级数据库 sqlite的方法 数据库的实用操作 第三方类库 FMDatabase 概述 IOS中的轻量级数据库 sqlite的方法 sqlite3 ...
- 桌面轻量级数据库的选择:Access、SQLite、自己编写?
1. Access我们做小项目的时候特别是小的MIS系统一般也都要用数据库来保存数据.经观察大部分的小系统都是用Access数据库,有的系统为了掩盖数据库的类型,把数据文件后缀名改了,其实只要改回到m ...
- 【转】LokiJS:纯JavaScript实现的轻量级数据库
原文转自:http://www.html5cn.org/article-7091-1.html LokiJS一个轻量级的面向文档的数据库,由JavaScript实现,性能高于一切.目的是把JavaSc ...
- 当当开源sharding-jdbc,轻量级数据库分库分表中间件
近期,当当开源了数据库分库分表中间件sharding-jdbc. Sharding-JDBC是当当应用框架ddframe中,从关系型数据库模块dd-rdb中分离出来的数据库水平分片框架,实现透明化数据 ...
- (转)轻量级数据库 SQLite
SQLite Expert – Personal Edition SQLite Expert 提供两个版本,分别是个人版和专业版.其中个人版是免费的,提供了大多数基本的管理功能. SQLite Exp ...
- 一个基于EntityFramework Core的简单数据库访问层,适用于轻量级数据库业务
这个访问层的代码实际上是园子里某个前辈的,本人只是觉得好使,记录了下来. 本访问层需要通过Nuget安装EntityFramework Core,不过个人认为EF 6同样可以使用. 搭配数据库,最好是 ...
随机推荐
- JS中的闭包
在复习JS高程的过程中,在第七章闭包那节,发现自己看不太明白了.之前看高程的时候,都弄得挺清楚了,怎么现在反而又看不懂了. 嗯,也许更深层次的东西涉及到编译原理的知识了.嗯,在研究完SPA后就开始学习 ...
- 谨慎DateTime.Now在EF的query中的使用
执行如下代码: var query = from tr in _carrierRepository select new BaseCarrier { CarrierCode = tr.CarrierC ...
- Atitit 异常机制与异常处理的原理与概论
Atitit 异常机制与异常处理的原理与概论 1. 异常vs 返回码1 1.1. 返回码模式的处理 (瀑布if 跳到失败1 1.2. 终止模式 vs 恢复模式(asp2 1.3. 异常机制的设计原理 ...
- C#并行编程-并发集合
菜鸟学习并行编程,参考<C#并行编程高级教程.PDF>,如有错误,欢迎指正. 目录 C#并行编程-相关概念 C#并行编程-Parallel C#并行编程-Task C#并行编程-并发集合 ...
- 【WP 8.1开发】如何把自定义字体塞进应用里
或许,系统自带的字体不足以体现应用程序的魅力,对于表现极强的汉字来说,更是如此.这时候,我们就会想,要是能把网上下载的艺术字体塞到应用包中,那岂不美哉?那么,这可以实现吗?答案是Yes的. 接下来,阿 ...
- poj 2492A Bug's Life(并查集)
/* 目大意:输入一个数t,表示测试组数.然后每组第一行两个数字n,m,n表示有n只昆虫,编号从1—n,m表示下面要输入m行交配情况,每行两个整数,表示这两个编号的昆虫为异性,要交配. 要求统计交配过 ...
- Kubernetes如何使用kube-dns实现服务发现
大纲: • Kubernetes中如何发现服务 • 如何发现Pod提供的服务 • 如何使用Service发现服务 • 如何使用kube-dns发现服务 ...
- java向mysql数据库插入数据显示乱码的问题
在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码”???“的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web工程中的web.xm ...
- Deep learning:四十七(Stochastic Pooling简单理解)
CNN中卷积完后有个步骤叫pooling, 在ICLR2013上,作者Zeiler提出了另一种pooling手段(最常见的就是mean-pooling和max-pooling),叫stochastic ...
- Web 前端开发人员和设计师必读文章推荐【系列二十八】
<Web 前端开发精华文章推荐>2014年第7期(总第28期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...