VistaDB有啥优势
Posted
技术标签:
【中文标题】VistaDB有啥优势【英文标题】:What are the advantages of VistaDBVistaDB有什么优势 【发布时间】:2010-09-08 11:45:00 【问题描述】:多年来,我已经看到了对 VistaDB 的引用以及 SQLite、Firebird、MS SQL 等工具。人。我从来没有理由考虑它。
与使用其他技术相比,为 VistaDB 付费有哪些好处?我想到的事情: 1. 紧凑型框架支持。 SQLite+MSSQL 支持 CF。 2. 需要迁移路径到“更强大”的系统。火鸟+MSSQL。 3. 需要更高级的功能,例如触发器。火鸟+MSSQL
【问题讨论】:
顺便说一句,SQLite 支持触发器。 还有什么缺点呢? 它要花钱。它没有那么成熟。它没有很多(那么多?)眼睛看着它。 不是 CLR 触发器或可以运行托管代码 AFAIK 的触发器 VistaDB 是否支持实体框架(EDM) 【参考方案1】:VistaDB 客户端运行时是免费的。正如您所说,运行时永远不会“在凌晨 3 点过期”。只有开发人员工具以这种方式获得许可。每个开发人员需要 1 个许可证,很简单。我们甚至提供了一个非常便宜的 Lite 版本,没有 Visual Studio 工具。
其他一些好处
100% 托管代码 - 引擎中没有互操作或其他非托管调用。这对一些人来说是一件大事,而另一些人则不在乎。
不需要注册表访问权限 - proc 数据库中的大多数其他数据库都需要注册表访问权限才能查找父控件或权限。 VistaDB 只做您告诉它做的事情,甚至会在中等信任下运行。
XCopy 部署用于运行时和您的数据库(单个文件)。您可以 xcopy 应用程序、运行时和数据库并运行。无需在机器上安装或配置任何东西,无需特殊权限(我们可以在中等信任或更高级别运行)。
独立存储 - 您可以将整个数据库放入独立存储中并直接从那里运行。这使得为企业环境构建以域友好方式编写数据库的安全单击一次应用程序变得非常容易。无需将用户数据存储在共享驱动器上,也无需担心权限映射。
CLR 触发器/CLR 过程 - 您可以编写 CLR 代码并将它们用作触发器或存储过程。我们最近刚刚引入了一些更改,以便更轻松地维护可以在 VistaDB 和 SQL Server 2005/2008 中运行的单个 CLR 程序集。
T-SQL Procs - VistaDB T-SQL Procs 与 SQL Server 2005/2008 兼容。在我们的引擎中运行的任何过程都将在 SQL Server 中运行。这并不意味着在那里运行的任何东西都会移植到我们。我们是 SQL Server 中功能的一个子集。但我们也是在没有 SQL Server 的情况下运行 T-SQL Procs 的唯一方法(SQL CE 做不到)。
我个人认为最大的特点之一是以后升级到 SQL Server 的能力。所有 VistaDB 类型、语法和 CLR Procs、T-SQL procs 等都将在 SQL Server 上运行。 (你不能把所有东西都从 SQL Server 带到 VistaDB,它只是一个子集)
32/64 位部署 - VistaDB 是单一程序集部署,无需更改即可运行 32 位和 64 位。 SQL CE 根据操作系统需要两种不同的运行时,根本无法在 IIS 下运行。 Access 没有 64 位运行时,最新的 32 位运行时只能通过 MSI 部署。 32位版本的Windows有运行时,64位版本没有。
关系完整性 - VistaDB 实际上还强制执行您的约束和外键。您可以进行特定的级联更新和删除操作。评论我们就像 SQLITE 的人在这方面是错误的。它们解析约束,但不强制执行。
编辑:他们现在在 SQLite 中支持 FK。但它们默认不编译,并且不使用与 SQL Server 相同的语法。
中等信任度 - 在中等信任度网络服务器上运行的能力是另一个许多人不会关心的特性,但它很重要。许多第三方控件甚至无法在 Medium Trust 中运行。由于我们承诺 100% 托管代码和所需的最少权限,我们可以在 Medium Trust 内运行完整的引擎。
- 完全披露 - 我是 VistaDB 的所有者,所以我可能有偏见。 :)
【讨论】:
最新 SQLite 版本 3.6.19 支持外键强制执行。 默认情况下禁用 SQLite FK 强制。从他们的网站“必须编译库”,这意味着它甚至取决于 BUILD,然后您也必须启用它。如果我想维护代码并构建它,我会构建自己的引擎(哦等等,我做到了...... VistaDB - 没关系) 我没有找到 VistaDB "Lite" 版本的任何定价,它仍然可用吗? 不,Lite 已停产。 Personal 是截至 2010 年 2 月网站上的最低版本。 您有专业的支持吗? - 对许多人来说总是一个好处。您可能还想添加一个链接【参考方案2】:嗯,最重要的是它是纯托管代码 - 物有所值;它不仅适用于运行 .NET 的典型 Windows 机器,而且适用于运行 Compact Framework 的任何地方,甚至适用于 Mono。以下是他们主页上的一些值得注意的要点:
真正嵌入 ZeroClick 的小 与 Microsoft SQL Server 2005 兼容的数据类型和 T-SQL 语法 没有 SQL CE 限制 单用户、多用户本地或使用共享网络。 部分受信任的共享主机没问题。 免版税分发 - SQL Server 的单 CPU 部署成本高于 VistaDB 的站点许可!值得注意的是,Rob Howard 的公司telligent 将其用作新 CMS 软件“Graffiti”的默认数据库。
我在这里和那里玩过它,但还没有建立任何反对它的东西。
【讨论】:
【参考方案3】:对我来说,VistaDB 最有趣的特性是它可以在中等信任环境中运行。这使其成为创建中小型 .NET 网站的完美解决方案,这些网站可以通过复制和粘贴(x-copy 部署)部署在服务器上。
几乎所有 Windows 共享主机提供商(如 GoDaddy)都不允许您在完全信任模式下运行您的网站。如果您希望使用 SQLite,也不会为您将任何 3rd 方二进制文件安装到 GAC 中,例如 System.Data.SQLite.dll。
【讨论】:
【参考方案4】:我以前没见过 VistaDB,它看起来确实很酷。
更新:收到来自 VistaDB 某人的评论 - 他们的更新模型仅用于获取新版本。如果您的许可证过期,您的旧设备不会停止工作,这很高兴。
保留原帖,恕我直言,关于软件许可证到期的警告仍然值得考虑,即使 VistaDB 本身很好。
它看起来肯定比 SQLite '更有特色',但我看不出有什么可以证明成本的合理性。该网站似乎表明您可以以 279 美元的价格购买一个许可证,但这意味着这只是 1 年的订阅。明年您是否必须再支付 279 美元才能阻止您的网站崩溃?
如果是这样,请记住在凌晨 3 点(墨菲定律,总是凌晨 3 点)接到您惊慌失措的客户的电话时会带来多少不便,因为他们的 VistaDB 许可证已过期 :-(
我曾亲身体验过一些即将过期的软件,但从来都不是很好。您可以向您的客户发送电子邮件和消息,并让他们的整个屏幕闪烁红色,说“您需要在下周之前获得新的许可证”,他们仍然永远不会这样做,而且您仍然会在凌晨 3 点感到痛苦。过期。
【讨论】:
不,许可证不会过期 - 订阅期结束后您根本无法获得更新。 运行时许可证永不过期。订阅用于支持和更新。订阅到期后,您将无法从我们这里获得任何新版本。以上是关于VistaDB有啥优势的主要内容,如果未能解决你的问题,请参考以下文章