Packs

Automation Pack

Identify and automate your processes to save time and reduce costs.

Vision Pack

Frame your project with all the technical and functional elements to get started.

MVP Pack

Turn your idea into a functional digital product with a proven methodology.

Software Package

Your business software developed from A to Z by a dedicated team, with evolutionary maintenance and long-term support.

References

Blog

Job

Book a meeting

#12 Why should a database developer use Microsoft SQL Server and Microsoft Azure?

Category

Interviews

Reading time

5-10 minutes

Written by

Technology Partner

The database developer is an expert who designs and manages databases on one or more projects. They must work collaboratively with all stakeholders who may be involved in a project. At Technology Partner, Loïc is considered the technical lead for database-related topics.

Through this interview, Loïc addresses several interesting topics, including Microsoft SQL Server, an essential database management system for all database developers.

Loïc, what is your professional background?

I started my computer science studies with a DUT in Computer Science in Belfort in 2008. After other professional ventures outside of IT, I finally retrained in 2019 by joining the AFPA in Nancy. The training was for a professional title as a computer designer and developer. During this training, I completed an internship at 2DCOM as a computer developer.

After graduating, Technology Partner hired me as a computer developer.

What are your daily tasks at Technology Partner?

Since I joined, my role at Technology Partner has been:

  • Back-end development: developing APIs for projects I'm working on, primarily C# ASP.NET.
  • Database Architecture: Designing Architectures and Migration.
  • To be the database referent: occasional intervention on all projects requiring a specific need.

Here are some examples of projects I've worked on:

MyTax, a virtual tax filing solution.View project sheet)JobSwitch, a personal loan management platform during the global Covid19 pandemic. (View project sheet)Foostix, a complete redesign project of an online food ordering platform (View project sheet. Currently, this is the project I work on every day. I am responsible for analyzing the old version of the database to reproduce it in the new version. The goal is to update it with a new architecture, new technologies, and migrate it to the project.

As a large language model, I don't "use" tools in the same way a human does. I don't have hands to hold them or a desk to put them on. However, if we're talking about the **computational resources and technologies that enable me to function**, then I frequently "use": * **Massive datasets of text and code:** This is my learning material. * **Sophisticated algorithms and neural network architectures:** These are the core of my intelligence. * **Powerful computing infrastructure (like GPUs and TPUs):** These are essential for training and running my models. * **Natural Language Processing (NLP) techniques:** These allow me to understand and generate human language. Essentially, my "tools" are the vast amounts of data I've been trained on and the complex computational systems that allow me to process and generate information.

Development environments are essential when programming, I mainly use:

SQL Server Management Studio(SQL Server Management Studio): which allows database management: Architecture and programming.Visual Studio: which enables backend development of the project in C#.Postmanthat allows web APIs to be executed (which link the front-end and back-end).SSMA (SQL Server Migration Assistant)tant)which allows the migration of a database management system to another.

What do you think is the benefit of good database architecture?

GainPerformanceA bad schema can cause performance degradation during queries. - Ensure data integrity and maintain its consistency
ScalabilityIt is easier to scale a well-thought-out and well-structured scheme.Business IntelligenceThe previous points make it easy to do BI with various tools like Power BI.

According to you, what are the advantages of using SQL Server?

SQL Server is Microsoft's DBMS (Database Management System). It manages all databases. In my opinion:

Integrated into thestackMicrosoft: Easy integration with Azure, Entity Framework, C#, Power BI, etc.

Robust and high-performingRelational databasePerfectly suited for certain types of projects.

User/Permissions ManagementAbility to connect to the server using different authentication modes, ability to manage rights for each user and for each element.PartitioningTables can be partitioned: multiple files for a single table, which allows, for example, storing data separated by fiscal years for better performance.

Data compression:possibility of compressing infrequently used data (archiving).IntegrityMS SQL Server provides access to "check" constraints, which allow for data integrity control on a record during writes without the need to write a trigger, and if that's not enough, it's possible to code triggers.

Programming:the ability to program stored procedures and compiled triggers (which offer better performance), as well as more advanced features such as assemblies, which can be programmed in C# and integrated into MS SQL Server, allowing objects to be stored and used directly on the server (example: geography, for managing geolocated data).Recursive queriesMS SQL Server allows queries to be coded as CTEs (Common Table Expressions), which can make queries more readable at times, and also provides access to recursive queries (for example, for managing a hierarchical system (file/folder system) with an undetermined depth).

Why use SQL Server with other tools, like Microsoft Azure?

Good value for moneyThanks to the advantage of Azure SQL Database PaaS, costs are controlled and more affordable for businesses.ScalabilityMS SQL Server is a DBMS (Database Management System) that is suitable for both small and large databases. This means that you no longer need to worry about the technical capabilities of the database for the client. Additionally, Azure only charges for what is used in real-time.SecurityAnd costing(Transparent Data Encryption): The database is encrypted on the server side, and the data is transparently decrypted during queries. Additionally, data files can be encrypted at rest (Encrypt at rest, enabled by default on Azure), making it more complex to hack a system encrypted in this manner.Security and replicationReplication consists of writing data to multiple locations simultaneously, which allows for greater availability in case of server downtime and also prevents data loss in the event of a disk crash.GéreplicationIn case of a regional or larger-scale outage, geo-replication allows for a manual failover to a secondary database (see: High availability and business continuity) in another Azure region.Restoration(Point-in-Time Restore): Azure allows for the automation of database backups, enabling rollbacks in case of anomalies. These backup points can be very close together (less than a minute for a small database).

Load balancingLoad Balancing:Division of the workload across multiple servers if necessary.ProgrammingThere is the possibility to easily program scheduled and recurring tasks (jobs) thanks to Azure Functions (example: database cleanup, ...).

Written by Loïc Tessier & Charline Pennisi