1. 概述
标准的关系型数据库管理系统(RDBMS)是大多数企业的基本数据存储解决方案,但它们通常不能良好地扩展到高负载、多租户或分布式应用程序中。这就是为什么NoSQL数据库已经赢得了一定地市场份额,特别是在Web应用程序中。
然而,许多NoSQL方案牺牲了一些特征,以实现更好地可扩展性,例如联结的SQL查询、交易支持和完整性约束。Azure SQL Database是一种托管的关系型数据库服务,可以最大限度地提高可扩展性和性能,同时提供所有SQL Server及其所支持的功能。
此外,inx作为Azure SQL Database的一个托管服务,基于MSSQL和Nginx的数据库服务,全面升级使得inx在生产中显著提高了可扩展性和性能,并为消费者提供了SQL Server的所有功能和共享的体验。
2. 数据库服务的全面升级
2.1. 提供更好的可扩展性
在以前的MSSQL中,每名用户连接都需要一个单独的线程。这种线程基础的连接模型对于需要处理大量小型客户端连接的Web应用程序来说是不可行的,因为大量并发线程会破坏应用程序的整体稳定性。
为了改善这一问题,inx基于Nginx开发了新的MSSQL连接模型。此模型可以使用较少的线程处理大量连接,而不会破坏应用程序的稳定性。此模型的优势是它可以更好地控制线程密度,从而提高了可扩展性。
这些变化和优化极大地提高了inx的可靠性和可扩展性。而且,如果您使用其他NoSQL解决方案,它们可能会耗费一些时间来优化扩展性。但是inx的新型解决方案可以帮助您更快地完成扩展以保持拓展性高,例如云基础设施。
2.2. 改进了数据的处理和存储
当我们考虑为Web应用程序存储中央数据时,我们通常认为使用NoSQL。但是,在许多情况下,SQL Server可以更好地处理数据。Azure SQL Database将SQL Server的所有功能提供给您,并在拥有NoSQL的灵活性和扩展性的同时,为您提供标准的关系模式。
Azure SQL Database根据数据大小、查询负载和可用性要求提供多种层次化性能和可用性服务级别。通过利用这个功能,您可以选择更符合您的工作负载和预算的级别。
2.3. 提高了性能和响应速度
inx基于MSSQL和Nginx的数据库服务的全面升级使得它的性能和响应速度得到极大地改善。通过在新连接模型下管理客户端连接,以及利用更快的驱动程序和加速硬件运行更快的IO操作,inx可以以更快的速度和更一致的性能响应SQL请求。
3. 站在未来的角度思考问题
随着Zettabyte级别的数据增长和Machine Learning的崛起,未来的数据存储和管理呼唤一个基于手动管理的托管式数据库服务。新的方案需要为处理海量数据提供支持,支持联结的SQL查询、交易支持和完整性约束,并支持自动缩放和备份的功能。
Azure SQL Database托管事务性关系型数据库,提供了强大的查询引擎(包括Transact-SQL和多个NoSQL API),并利用大量安全性、可靠性和性能功能来支持可扩展性和异构数据处理的复杂工作负载,为明天的数据管理做好了充分的准备。
4. 总结
inx基于MSSQL和Nginx的数据库服务的全面升级,使得其在生产中显著提高了可扩展性和性能,并为消费者提供了SQL Server的所有功能和共享的体验。通过在新连接模型下管理客户端连接,以及利用更快的驱动程序和加速硬件运行更快的IO操作,inx可以以更快的速度和更一致的性能响应SQL请求。最好的部分是,您无需舍弃NoSQL所提供的扩展性和灵活性,您可以将两者一起使用,以最好地管理您的Web应用程序的数据。