Léon  Peltier

Léon Peltier

1655983860

Azure SQL Database Contre Azure Cosmos DB — Lequel Choisir ?

Avez-vous récemment commencé à développer ou à porter une application sur Microsoft Azure ? Si tel est le cas, vous devrez probablement décider de la solution de base de données que vous souhaitez utiliser. Le cloud Microsoft offre plusieurs options, les deux plus populaires étant Azure SQL Database (et ses deux frères, Azure SQL Managed Instances et SQL Server sur les machines virtuelles Azure) et Azure Cosmos DB.

Récemment, je comparais ces deux alternatives pour mon application. J'ai acquis des idées que j'aimerais partager avec mes lecteurs. Tout d'abord, examinons les deux produits séparément et voyons quelles fonctionnalités ils offrent.

Base de données SQL Azure

Azure SQL est l'offre SQL Server de Microsoft sur Azure. Vous avez le choix entre trois services liés à Azure SQL :

  • Base de données SQL Azure
  • Instance gérée Azure SQL
  • SQL Server sur les machines virtuelles Azure

Azure SQL Database est le service le plus « géré » des trois. Il s'agit d'une offre PaaS vous permettant de configurer SQL Server rapidement et sans effort. La plupart des tâches d'administration, y compris les sauvegardes, les mises à jour et la surveillance, sont prises en charge pour vous. Vous n'avez pas non plus besoin de gérer l'infrastructure sous-jacente.

Vous avez le choix entre plusieurs niveaux de service, notamment une option de base de données unique avec mémoire et calcul configurables, une option de pool élastique qui vous permet de partager des ressources entre plusieurs bases de données, ainsi qu'une option sans serveur qui peut faire évoluer vos ressources de manière dynamique en fonction de l'utilisation.

SQL Server sur les machines virtuelles Azure vous permet simplement d'exécuter une instance SQL Server sur votre propre machine virtuelle Azure provisionnée. Cela signifie que vous obtenez un contrôle presque total sur tous les aspects du déploiement. Cela signifie également que vous devrez vous soucier de la plupart des tâches d'administration que vous avez l'habitude d'effectuer sur votre solution sur site.

Azure SQL Managed Instance est une sorte d'hybride entre les deux. D'une part, il vous permet de transférer en toute transparence votre base de données SQL Server sur site vers le cloud. D'autre part, il vous offre de nombreux avantages du cloud, notamment une sécurité améliorée, des correctifs automatiques, des mises à jour de version et des sauvegardes automatisées.

Étant donné qu'Azure SQL est principalement compatible avec SQL Server, il offre également les mêmes garanties transactionnelles (ACID) que le produit sur site. En raison de ces solides garanties, la mise à l'échelle en ajoutant plusieurs instances de serveur est principalement limitée aux répliques en lecture seule. Cela est également vrai pour la fonctionnalité de géoréplication d'Azure SQL.

La tarification d'Azure SQL Database est basée sur l'informatique et la mémoire dont vous avez besoin (vCores), ainsi que sur le stockage local et le stockage de sauvegarde que vous configurez. Dans l'ensemble, le prix semble facile à comprendre.

Azure Cosmos DB

Cosmos DB est l'offre NoSQL sur Azure. Il est conçu dès le départ pour prendre en charge une évolutivité extrême, en adoptant pleinement le concept de cohérence éventuelle. Les principales applications cibles sont l'IoT et les applications cloud mondiales. À cette fin, Cosmos DB propose différents niveaux de cohérence, des méthodes d'accès aux données (API) ainsi que des options de mise à l'échelle.

Étant donné que Cosmos DB est une base de données NoSQL, elle se conforme généralement bien à la manière dont les données sont utilisées par votre application. Par exemple, un "élément" peut être inséré dans la base de données en tant que document JSON et la sortie d'une requête est également un document JSON. Les bases de données et les conteneurs sont utilisés comme espaces de noms sur les éléments avec certaines fonctions supplémentaires.

Pour prendre en charge une mise à l'échelle horizontale extrême, Cosmos DB utilise plusieurs mécanismes. Tout d'abord, Cosmos DB partitionne chaque conteneur en fonction d'une clé de partition. Ces partitions sont automatiquement réparties sur les nœuds physiques. De plus, la distribution mondiale des données est obtenue en déployant vos données dans plusieurs régions Azure. Cela diminue la latence et augmente la réactivité à travers le monde. Il fournit également un basculement pendant les pannes régionales.

Naturellement, la distribution mondiale se fait au détriment de la cohérence. Contrairement à SQL Server qui fournit par défaut de fortes garanties ACID, Cosmos DB vous permet de choisir entre plusieurs niveaux de cohérence , chacun fournissant ses garanties. La plus extrême d'entre elles, la cohérence éventuelle, garantit uniquement que toutes les répliques convergeront à un moment donné dans le futur.

Le modèle de tarification de Cosmos DB est basé sur les unités de demande (RU). 1RU est le coût d'une lecture ponctuelle de 1 Ko. Les requêtes sont donc plus chères. Les unités de requête semblent assez simples, mais il est difficile d'estimer l'utilisation compte tenu de vos modèles d'accès aux données particuliers sans expérience préalable.

Avantages et inconvénients

Après avoir décrit les deux solutions, vous pouvez vous demander laquelle vous convient le mieux ? Discutons quelques forces et faiblesses des deux bases de données.

Avantages de la base de données Azure SQL

  • Options de déploiement flexibles. Que vous souhaitiez un service entièrement géré ou que vous souhaitiez simplement exécuter SQL Server sur les machines virtuelles d'Azure, Azure SQL Database est là pour vous.
  • Familier avec les développeurs SQL. Étant donné qu'Azure SQL Database est essentiellement l'implémentation Azure du célèbre serveur SQL, la plupart des compétences sont directement transférées vers l'offre cloud.
  • Personnalisation. Si vous exécutez votre propre instance SQL Server, vous contrôlez chaque paramètre.
  • Tarification transparente. La tarification est basée sur les ressources de mémoire, de calcul et de stockage requises.
  • Migration. Migration relativement facile de vos bases de données SQL Server sur site vers Azure SQL grâce au même moteur sous-jacent.
  • Stabilité et fiabilité. Microsoft SQL Server a été initialement publié en 1989 et a parcouru un long chemin depuis lors. C'est un moteur de base de données mature, stable et bien testé.

Inconvénients de la base de données Azure SQL

  • Schéma fixe. Généralement, les bases de données SQL sont moins adaptées aux exigences logicielles qui changent fréquemment en raison de leur schéma fixe. La migration de schéma peut être difficile à gérer. Bien que SQL Server puisse fonctionner avec des données JSON de nos jours (comblant ainsi le fossé entre SQL et NoSQL), il nécessite une syntaxe spéciale et ressemble un peu à une réflexion après coup.
  • Garanties ACID et transactions distribuées. Bien que ces fonctionnalités puissent être très utiles pour certaines applications, elles réduisent également considérablement l'évolutivité au cas où vous n'en auriez pas besoin.
  • Mise à l'échelle limitée. Bien que la mise à l'échelle (en ajoutant plus de mémoire ou de calcul à vos instances SQL Server) soit un moyen rapide et facile d'augmenter les performances, elle peut devenir prohibitive au-delà d'un certain point. La mise à l'échelle (en ajoutant plusieurs instances de SQL Server) est principalement limitée aux répliques en lecture seule.

Azure Cosmos DB Avantages

  • Répartition mondiale. De nombreuses entreprises agissent aujourd'hui dans le monde entier. Leurs clients attendent les mêmes performances des applications, quel que soit leur emplacement. Cela rend le modèle de base de données SQL standard très inefficace. Avoir un nœud maître activé en écriture avec plusieurs répliques en lecture seule n'est pas suffisant pour des tâches telles que les flux de réseaux sociaux ou les flux de données IoT.
  • Plusieurs niveaux de cohérence. D'autre part, ces applications n'ont généralement pas besoin des garanties de cohérence des bases de données traditionnelles. Ils peuvent s'appuyer sur des modèles de cohérence plus faibles tels qu'un préfixe cohérent ou même une cohérence éventuelle. Avoir la liberté de choisir le niveau de cohérence est un avantage majeur de Cosmos DB.
  • Prise en charge de l'indexation automatique. Chaque conteneur a une politique d'indexation définie pour accélérer les requêtes. Par défaut, chaque propriété est indexée et les index de plage sont appliqués. C'est suffisant pour la plupart des cas d'utilisation. Cependant, des paramètres d'indexation avancés sont disponibles.
  • Prise en charge de plusieurs langues prêtes à l'emploi. Des API prêtes à l'emploi sont disponibles pour .NET, Java, Python, Ruby et JavaScript. Pas besoin de couches ORM complexes.
  • API multiples. Cosmos DB fournit sa propre API Core ainsi que plusieurs API de base de données alternatives (API Gremlin, API Cassandra, API MongoDB, API Table) qui facilitent la migration à partir d'autres bases de données NoSQL. Cela réduit le coût de la migration et la courbe d'apprentissage.

Inconvénients d'Azure Cosmos DB

  • Plus difficile à comprendre pour les administrateurs de base de données traditionnels. Étant donné que Cosmos DB est une base de données NoSQL et ne fournit pas nécessairement de solides garanties ACID (selon la configuration), il est plus difficile à comprendre pour les administrateurs de base de données habitués à traiter avec des bases de données SQL traditionnelles.
  • Migration complexe depuis SQL Server. La migration à partir d'une solution basée sur SQL Server peut s'avérer très coûteuse et, dans des cas extrêmes, peut nécessiter la réécriture de parties importantes de l'application. L'optimisation ultérieure prendra alors encore plus de temps. Je ne conseillerais de le faire que si les avantages de la mise à l'échelle mondiale l'emportent sur les efforts.
  • Modèle de tarification difficile à comprendre. Le modèle de tarification est basé sur les unités de demande, ce qui peut ne pas être intuitif. Le calculateur de capacité Cosmos DB du portail peut vous aider à estimer les coûts, à condition que vous puissiez estimer certaines métriques clés. En général, Cosmos DB peut être assez cher.
  • Cloud public uniquement. Le seul endroit où Cosmos DB est déployé est dans les centres de données de Microsoft. Actuellement, il n'existe aucune offre pour les solutions cloud hybrides ou sur site telles qu'Azure Arc.

Conclusion

Les deux produits ont leur place dans l'écosystème Azure. Bien qu'Azure SQL Database facilite la migration depuis votre solution SQL Server sur site et vous aide à tirer parti de vos connaissances SQL Server existantes, Cosmos DB a été conçu dès le départ pour une distribution mondiale et est entièrement géré.

Si je devais décider quelle base de données utiliser pour un nouveau projet, j'opterais certainement pour Cosmos DB, car j'aime tout simplement son évolutivité et sa flexibilité. En tant que service NoSQL, l'interaction avec la base de données semble tout simplement plus naturelle dans votre code d'application que de travailler pour un middleware ORM complexe requis pour les bases de données traditionnelles. De plus, le choix de plusieurs niveaux de cohérence permet de choisir très facilement le bon équilibre entre vitesse et cohérence.

Ma principale préoccupation avec Cosmos DB est sa courbe d'apprentissage abrupte pour les administrateurs habitués à gérer les bases de données SQL traditionnelles. La configuration de votre première base de données Cosmos DB semble écrasante. Vous devrez lire de nombreux documents ou regarder de nombreux didacticiels pour comprendre comment configurer le service afin de répondre à vos besoins spécifiques.

Cependant, je pense que cela s'améliorera avec le temps à mesure que le taux d'adoption augmentera. Cosmos DB a déjà parcouru un long chemin en peu de temps, et j'ai hâte de voir où nous allons ensuite.

Source : https://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

What is GEEK

Buddha Community

Azure SQL Database Contre Azure Cosmos DB — Lequel Choisir ?
Cayla  Erdman

Cayla Erdman

1594369800

Introduction to Structured Query Language SQL pdf

SQL stands for Structured Query Language. SQL is a scripting language expected to store, control, and inquiry information put away in social databases. The main manifestation of SQL showed up in 1974, when a gathering in IBM built up the principal model of a social database. The primary business social database was discharged by Relational Software later turning out to be Oracle.

Models for SQL exist. In any case, the SQL that can be utilized on every last one of the major RDBMS today is in various flavors. This is because of two reasons:

1. The SQL order standard is genuinely intricate, and it isn’t handy to actualize the whole standard.

2. Every database seller needs an approach to separate its item from others.

Right now, contrasts are noted where fitting.

#programming books #beginning sql pdf #commands sql #download free sql full book pdf #introduction to sql pdf #introduction to sql ppt #introduction to sql #practical sql pdf #sql commands pdf with examples free download #sql commands #sql free bool download #sql guide #sql language #sql pdf #sql ppt #sql programming language #sql tutorial for beginners #sql tutorial pdf #sql #structured query language pdf #structured query language ppt #structured query language

Ruthie  Bugala

Ruthie Bugala

1620435660

How to set up Azure Data Sync between Azure SQL databases and on-premises SQL Server

In this article, you learn how to set up Azure Data Sync services. In addition, you will also learn how to create and set up a data sync group between Azure SQL database and on-premises SQL Server.

In this article, you will see:

  • Overview of Azure SQL Data Sync feature
  • Discuss key components
  • Comparison between Azure SQL Data sync with the other Azure Data option
  • Setup Azure SQL Data Sync
  • More…

Azure Data Sync

Azure Data Sync —a synchronization service set up on an Azure SQL Database. This service synchronizes the data across multiple SQL databases. You can set up bi-directional data synchronization where data ingest and egest process happens between the SQL databases—It can be between Azure SQL database and on-premises and/or within the cloud Azure SQL database. At this moment, the only limitation is that it will not support Azure SQL Managed Instance.

#azure #sql azure #azure sql #azure data sync #azure sql #sql server

Eric  Bukenya

Eric Bukenya

1624713540

Learn NoSQL in Azure: Diving Deeper into Azure Cosmos DB

This article is a part of the series – Learn NoSQL in Azure where we explore Azure Cosmos DB as a part of the non-relational database system used widely for a variety of applications. Azure Cosmos DB is a part of Microsoft’s serverless databases on Azure which is highly scalable and distributed across all locations that run on Azure. It is offered as a platform as a service (PAAS) from Azure and you can develop databases that have a very high throughput and very low latency. Using Azure Cosmos DB, customers can replicate their data across multiple locations across the globe and also across multiple locations within the same region. This makes Cosmos DB a highly available database service with almost 99.999% availability for reads and writes for multi-region modes and almost 99.99% availability for single-region modes.

In this article, we will focus more on how Azure Cosmos DB works behind the scenes and how can you get started with it using the Azure Portal. We will also explore how Cosmos DB is priced and understand the pricing model in detail.

How Azure Cosmos DB works

As already mentioned, Azure Cosmos DB is a multi-modal NoSQL database service that is geographically distributed across multiple Azure locations. This helps customers to deploy the databases across multiple locations around the globe. This is beneficial as it helps to reduce the read latency when the users use the application.

As you can see in the figure above, Azure Cosmos DB is distributed across the globe. Let’s suppose you have a web application that is hosted in India. In that case, the NoSQL database in India will be considered as the master database for writes and all the other databases can be considered as a read replicas. Whenever new data is generated, it is written to the database in India first and then it is synchronized with the other databases.

Consistency Levels

While maintaining data over multiple regions, the most common challenge is the latency as when the data is made available to the other databases. For example, when data is written to the database in India, users from India will be able to see that data sooner than users from the US. This is due to the latency in synchronization between the two regions. In order to overcome this, there are a few modes that customers can choose from and define how often or how soon they want their data to be made available in the other regions. Azure Cosmos DB offers five levels of consistency which are as follows:

  • Strong
  • Bounded staleness
  • Session
  • Consistent prefix
  • Eventual

In most common NoSQL databases, there are only two levels – Strong and EventualStrong being the most consistent level while Eventual is the least. However, as we move from Strong to Eventual, consistency decreases but availability and throughput increase. This is a trade-off that customers need to decide based on the criticality of their applications. If you want to read in more detail about the consistency levels, the official guide from Microsoft is the easiest to understand. You can refer to it here.

Azure Cosmos DB Pricing Model

Now that we have some idea about working with the NoSQL database – Azure Cosmos DB on Azure, let us try to understand how the database is priced. In order to work with any cloud-based services, it is essential that you have a sound knowledge of how the services are charged, otherwise, you might end up paying something much higher than your expectations.

If you browse to the pricing page of Azure Cosmos DB, you can see that there are two modes in which the database services are billed.

  • Database Operations – Whenever you execute or run queries against your NoSQL database, there are some resources being used. Azure terms these usages in terms of Request Units or RU. The amount of RU consumed per second is aggregated and billed
  • Consumed Storage – As you start storing data in your database, it will take up some space in order to store that data. This storage is billed per the standard SSD-based storage across any Azure locations globally

Let’s learn about this in more detail.

#azure #azure cosmos db #nosql #azure #nosql in azure #azure cosmos db

Creating and Cataloging SQL pools in Azure SQL Server

This article will walk you through creating a new SQL pool within an existing Azure SQL Server as well as catalog the same using the Azure Purview service.

Introduction

Data is generated by transactional systems and typically stored in relational data repositories. This data is generally used by live applications and for operational reporting. As this data volume grows, this data is often required by other analytical repositories and data warehouses where it can be used for referential purposes and adding more context to other data from across the organization. Transactional systems (also known as Online Transaction Processing (OLTP) systems) usually need a relational database engine, while analytical systems (also known as Online Analytical Processing (OLAP) systems) usually need analytical data processing engines. On Azure cloud, it is usually known that for OLTP requirements, SQL Server or Azure SQL Database can be employed, and for analytical data processing needs, Azure Synapse and other similar services can be employed. SQL Pools in Azure Synapse host the data on an SQL Server environment that can process the data in a massively parallel processing model, and the address of this environment is generally the name of the Azure Synapse workspace environment. At times, when one has already an Azure SQL Server in production or in use, the need is to have these SQL Pools on an existing Azure SQL Server instance, so data in these SQL pools can be processed per the requirements on an OLAP system as well as the data can be co-located with data generated by OLTP systems. This can be done by creating SQL Pools within the Azure SQL Server instance itself. In this article, we will learn to create a new SQL Pool within an existing Azure SQL Server followed by cataloging the same using the Azure Purview service.

Pre-requisite

As we intend to create a new SQL Pool in an existing Azure SQL Server instance, we need to have an instance of Azure SQL in place. Navigate to Azure Portal, search for Azure SQL and create a new instance of it. We can create an instance with the most basic configuration for demonstration purposes. Once the instance is created, we can navigate to the dashboard page of the instance and it would look as shown below.

As we are going to catalog the data in the dedicated SQL Pool hosted on Azure SQL instance, we also need to create an instance of Azure Purview. We would be using the Azure Purview studio from the dashboard of this instance, tonregister this SQL Pool as the source and catalog the instance.

#azure #sql azure #azure sql server #sql #sql #azure

Ruth  Nabimanya

Ruth Nabimanya

1621850444

List of Available Database for Current User In SQL Server

Introduction

When working in the SQL Server, we may have to check some other databases other than the current one which we are working. In that scenario we may not be sure that does we have access to those Databases?. In this article we discuss the list of databases that are available for the current logged user in SQL Server

Get the list of database
Conclusion

#sql server #available databases for current user #check database has access #list of available database #sql #sql query #sql server database #sql tips #sql tips and tricks #tips