虽然许多使用 AngularJS 构建的应用程序利用 MEAN 堆栈,因此依赖于 NoSQL 数据库,但仍有许多 Web 开发是针对传统的 SQL 驱动的数据库进行的,这些数据库可以从 Angular 必须提供的工具中受益。下面我们将了解每个主要的关系数据库管理系统 (RDBMS) 参与者,以及 Backand 如何利用它们的优势让您真正将应用程序与其数据分开。
企业级——Microsoft SQL Server
微软的SQL Server,顾名思义,是微软开发和发布的RDBMS平台。它于 1989 年首次发布,当时微软从 Sybase 购买了代码库。虽然它理解 ANSI SQL,但它使用的查询语言起源于 Transact-SQL,它是 SQL 的专有扩展,最初由 Sybase 构建,后来由 Microsoft 扩展。
它提供与所有竞争 RDBMS 同等的功能,但直到最近才可用于 Windows。随着 .NET 平台的开源,服务器部分本身很有可能可以移植到 Linux 和其他操作系统,但在此期间,大多数主要语言都提供直接支持 SQL Server 的 ODBC 驱动程序。
企业级——甲骨文
Oracle 的 RDBMS 产品是市场上最古老的产品之一,其初始代码可以追溯到 1978 年。除了 Microsoft SQL Server 之外,它可以说是世界上最受欢迎的关系数据库选择之一,几乎用于所有行业。它在标准 SQL 上运行,并为正在使用的每种编程语言提供一系列 ODBC 驱动程序。
再次强调,功能与其竞争对手没有显着差异,但存在细微差别。例如,Oracle 基于 SQL 的脚本语言可以说比 Microsoft 的 T-SQL 更灵活。此外,由于拥有如此悠久的历史,因此有更多可用的文档和更多的最佳实践示例。尽管如此,当谈到企业级数据存储时,Microsoft SQL Server 或 Oracle 之间的选择通常只是一个偏好问题。
PostgreSQL/MySQL
一旦你超越了企业级的 RDBMS,你就会接触到更面向小规模 Web 开发的系统。并不是说这些工具不能用于企业级数据仓库,而是说——因为它们出现较新(1996 年用于 PostgreSQL,1995 年用于 MySQL)——它们在采用和用户方面仍在扩展生态系统。它们都支持全范围的 ANSI SQL,并且可以执行竞争对手 RDMBS 可以执行的任何任务。但是,由于 MySQL 是 LAMP 模式的基石,而 PostgreSQL 提供了最准确的 SQL 导向,这两个系统在 Web 开发领域的采用率正在迅速提高。
比较两者时,差异很小但很重要。复制已在 MySQL 中使用多年,但只是最近才添加到 PostgreSQL 中。另一方面,PostgreSQL 的优化器比 MySQL 先进得多,如果查询遇到太深的嵌套级别,MySQL 可以简单地放弃。两者都提供存储过程和一些基本的脚本功能,此外还有一个活跃的开发社区随时准备帮助您解决遇到的任何问题。
Backand 如何提供帮助?
虽然选择 RDBMS 是一个复杂的决定,需要仔细考虑和考虑(在某些情况下,还需要大量的货币成本),但很多时候数据库系统的选择是由运行在其上的平台决定的。例如,虽然您可以将 Oracle 与 .NET 应用程序一起使用,但大多数 .NET 应用程序都是针对 SQL Server 编写的。
不过,Backand 的数据库建模允许您将应用程序从平台特异性中剥离出来。通过数据库反射,Backand 可以快速吸收您应用程序的数据库模式,并且可以在短时间内为您的数据提供一个功能齐全的 RESTful 接口——无论您选择了哪个 RDBMS 提供商。使用 Backand,您可以快速移植现有 RDBMS 架构或构建新架构,并在几分钟内拥有一个正常运行的数据层,而不是从头开始构建一个数据层所需的数天或数周。
结论
尽管 SQL 标准规定了 RDBMS 所需的许多功能,但在许多可用的关系数据库系统之间仍然存在一些显着差异。甲骨文在商业领域的足迹更大,而 Microsoft SQL Server 在 Windows 开发领域占有最大份额。有些系统更擅长优化,而另一些则更易于部署和管理。无论您选择哪种方式,Backand 都为您提供了一个强大的工具,用于在 RDBMS 之上构建 AngularJS 应用程序,使您能够将应用程序的底层数据与其表示完全分离。