RDBMS Deep DivePosted by Itay Herskovits on Jun 30, 2015
A Wealth of Relational Database Options
While many apps built using AngularJS leverage the MEAN stack, and thus rely upon NoSQL databases, there is still a lot of web development being done against traditional SQL-driven databases that could benefit from the tools Angular has to offer. Below we’ll look at each of the major Relational Database Management System (RDBMS) players, and how Backand can leverage their strengths to allow you to truly separate your application from its data.
Enterprise Level—Microsoft SQL Server
Microsoft’s SQL Server, as the name implies, is a RDBMS platform developed and published by Microsoft. It was first released in 1989, after Microsoft bought the code base from Sybase. While it understands ANSI SQL, the query language it uses has its origins in Transact-SQL, which was a proprietary extension to SQL first built by Sybase and later expanded by Microsoft.
It offers functionality on-par with all of the competing RDBMSs, but until recently was only available for Windows. With the open-sourcing of the .NET platform, there is a good chance that the server portion itself will be portable to Linux and other operating systems, but in the interim most major languages provide an ODBC driver that supports SQL Server directly.
Oracle’s RDBMS offering is one of the oldest on the market, with the initial code dating back to 1978. Aside from Microsoft SQL Server, it is arguably one of the most popular relational database choices in the world, used in nearly every kind of industry. It operates on standard SQL, and has a range of ODBC drivers for every programming language in use.
Once again functionality isn’t significantly different from their competitors, but there are minor differences. Oracle’s SQL-based scripting language is arguably more flexible than Microsoft’s T-SQL, for example. Additionally, with such a long history there is simply more documentation available, and far more best practice examples. All of that aside, though, when it comes to enterprise-level data storage, the choice between Microsoft SQL Server or Oracle is usually just a matter of preference.
Once you get past the enterprise-level of RDBMS, you approach the systems that are more oriented towards smaller-scale web development. Not to say that these tools can’t be used in an enterprise-level data warehouse, but rather that – since they are newer on the scene (1996 for PostgreSQL, 1995 for MySQL) – they are still scaling in terms of adoption and user ecosystem. They both support the full range of ANSI SQL, and can perform any of the tasks a competitor RDMBS can. But with MySQL being a cornerstone of the LAMP pattern, and PostgreSQL providing the most accurate SQL orientation available, these two systems are quickly seeing increased adoption in the web development world.
When comparing the two, the differences are minor but significant. Replication has been in MySQL for years, but is only a recent addition to PostgreSQL. On the other hand, PostgreSQL’s optimizer is far more advanced than MySQL, which can simply give up if the query hits a nesting level that is too deep. Both offer stored procedures and some basic scripting functionality, in addition to an active development community ready to assist with any issues you encounter.
How Can Backand Help?
While choosing an RDBMS is an involved decision that requires careful thought and consideration (and, in some cases, extensive monetary costs), many times the choice of a database system is dictated by the platform running on top of it. While you can use Oracle with a .NET application, for example, most .NET apps will be written against SQL Server.
Backand’s database modeling, though, allows you to divest your application from platform specificity. Through database reflection, Backand quickly assimilates your application’s database schema, and can within moments give you a fully-functional RESTful interface for your data – regardless of the RDBMS provider you’ve chosen. Using Backand, you can quickly port your existing RDBMS schema – or build a new one – and have a functioning data layer in minutes, rather than the days or weeks necessary to build one from scratch.
While the SQL standard codifies a lot of the required functionality for an RDBMS, there are still some significant differences among the many relational database systems available. Oracle has a larger footprint in the business world, while Microsoft SQL Server has a lion’s share of the windows development world. Some systems are better at optimizing, while others are easier to deploy and manage. Whichever you choose, Backand provides you a powerful tool for building an AngularJS application on top of your RDBMS, allowing you to completely separate the underlying data for your app from its presentation.