facebook cdr twitter cdr   instagram cdr

azure or sql

En los últimos años, Microsoft se ha enfocado más en la computación en la nube y el almacenamiento, en un intento por obtener una participación sustancial en este mercado competitivo y lucrativo. Con este fin, ha creado muchos productos diseñados para la nube y uno de ellos es Azure SQL.  Azure SQL es un servicio basado en la nube que se basa en las líneas de SQL Server y, por lo tanto, comparte muchas funciones con SQL Server local. Analicemos detalladamente cómo estos dos sistemas de bases de datos se comparan entre sí, y cuál de los dos es mejor en diferentes situaciones.

Diferencias entre Azure SQL y SQL Server

Como Azure SQL está basado en SQL Server, comparten muchas similitudes en funcionalidad y compatibilidad. Pero eso no quiere decir que sean lo mismo. De hecho, al contrario de lo que muchos piensan, Azure SQL no es exactamente la versión en la nube de SQL Server porque existen muchas diferencias fundamentales entre los dos.

Antes de pasar a las diferencias exactas, es imprescindible comprender un aspecto fundamental. En el servidor SQL, las bases de datos son la única entidad en el servidor de la base de datos, pero en SQL Azure, una única base de datos puede albergar bases de datos de diferentes clientes. En otras palabras, Azure SQL es multiusuario y comparte sus recursos físicos con todos los clientes que usan ese servicio.

Arquitectura

Azure SQL está diseñado para que los desarrolladores de SQL puedan usarlo fácilmente para comunicación y autenticación. Es por eso que no hay mucha diferencia en términos de programación. En muchos casos, simplemente tendrá que cambiar el valor de un parámetro en la cadena de conexión para acceder a Azure SQL. Es realmente así de simple.

Dicho esto, hay una gran diferencia en la comunicación. En SQL Server, su aplicación habla directamente con el servidor a través de su LAN y utiliza el protocolo de flujo de datos tabulares (TDS) sobre TCP / IP o HTTP. Además, puede comunicarse en cualquier puerto configurable y realmente no requiere seguridad de transporte.

Pero en SQL Azure, su aplicación debe hacer una llamada explícita, preferiblemente a través del firewall de su red, y esta llamada solo puede llegar a Azure Gateway a través de Internet. Por lo tanto, Azure SQL solo utiliza el protocolo TCP / IP para la comunicación.

En la puerta de enlace, hay otro firewall llamado firewall de SQL Azure que solo permite el acceso a aquellas direcciones IP que ha definido explícitamente. Después de superar este firewall, su llamada realiza la conexión al nodo de datos de fondo utilizando Gateway como proxy.

Para colmo, todas las comunicaciones suceden solo a través de SSL y solo pasa por el puerto 1433. Si compara los dos, sabrá que Azure SQL tiene una arquitectura más complicada, y eso se debe a que acepta conexiones a través de Internet y también abastece a múltiples clientes.

Data definition language

El Data Definition Language, lenguaje de definición de datos, o DDL en resumen, es una sintaxis utilizada para crear y cambiar la estructura de los objetos de la base de datos.

Azure SQL no brinda soporte para ciertas características debido a su arquitectura y al hecho de que no tiene acceso a una plataforma de hardware subyacente.

Ambas bases de datos difieren de las siguientes maneras:

1. Tiempo de ejecución de lenguaje común

SQL Azure no es compatible con Common Language Runtime (CLR). Esto significa que las vistas del sistema, los procedimientos almacenados, los disparadores y las funciones definidas por el usuario no están disponibles en Azure. Esta limitación se debe a la naturaleza multitenant de Azure. Su objetivo es proteger a un usuario de utilizar accidental o intencionalmente los objetos CLR en el mismo servidor.

2. Procedimientos almacenados extendidos y partición de tabla

Los procedimientos almacenados extendidos son rutinas almacenadas en DLL. Escrito en lenguaje C o C ++, estos procedimientos almacenados usan la API de Open Data Services para obtener parámetros y devolver resultados.

La partición de tablas es otra característica del servidor SQL que propaga los datos de tabla o índice a través de múltiples grupos de archivos dentro de la misma base de datos para mejorar el rendimiento. SQL Azure no es compatible con estas dos características.

3. Índices agrupados

Los índices agrupados cambian el orden en que los registros se almacenan en una base de datos física. Esto significa que una tabla puede tener solo un índice agrupado. En el servidor SQL, tener un índice agrupado es opcional.

En SQL Azure, todas las tablas deben tener un índice agrupado. Si no, las operaciones INSERT fallarán. Nuevamente, esto se reduce a la arquitectura de Azure y su falta de soporte para las tablas de montón.

Si alguna vez tiene que migrar sus datos de SQL Server a SQL Azure, planee generar índices agrupados para las tablas que no los tienen.

4. Tipos de datos

SQL Azure admite todos los tipos de datos admitidos por SQL Server, incluidos los especializados, como los tipos de datos espaciales. Sin embargo, Azure no es compatible con la indexación XML y el XML escrito.

Bases de datos y clustering de failover

SQL Azure no es compatible con la creación de reflejo de la base de datos y la agrupación de conmutación por error. Si se pregunta por qué, es porque SQL Azure se basa en la plataforma de Windows Azure que proporciona alta disponibilidad. Entonces, cada base de datos de usuario se replica dos veces en dos nodos diferentes. Cuando el nodo primario se cae, una de las dos réplicas se hará cargo. Es por eso que no necesita un clúster de conmutación por error explícito como SQL Server.

Sin respaldo y restauración

SQL Azure no proporciona soporte para realizar operaciones de copia de seguridad y restauración. Los usuarios de Azure argumentan que la base de datos se basa en una plataforma de alta disponibilidad, por lo que no hay dudas sobre la pérdida de datos o la corrupción de la base de datos. ¡Pero entonces, siempre hay una posibilidad de errores de aplicación! Y esto podría causar la pérdida de datos.

Una solución es utilizar el asistente de migración de SQL Azure para copiar bases de datos críticas, pero esta herramienta no forma parte de SQL Azure.

Data Manipulation Language

Data Manipulation Language (DML) es un lenguaje utilizado para realizar operaciones básicas CRUD (create, update y delete) en cualquier aplicación. SQL Azure no es compatible con ciertos comandos CRUD que están disponibles en el servidor SQL, y son:

  • MAXDOP siempre es 1
  • PAGLOCK
  • REMOTE
  • No admite la búsqueda de texto completo con CONTAINS y FREETEXT
  • No es compatible con BULK INSERT
  • No admite funciones de conjunto ROW como CONTAINSTABLE, FREETEXTTABLE, OPENQUERY y OPENXML.

Despliegue

Dado que SQL Azure es una entidad lógica en lugar de física, la arquitectura de implementación es diferente en comparación con el servidor SQL. En esta base de datos en la nube, hay tres entidades: suscripción, servidor y base de datos.

  • La suscripción es su plataforma de Windows Azure y los servicios que forman parte de ella. Esta entidad determina el contexto para la facturación.
  • Servidor significa una agrupación lógica de bases de datos que comparten un centro de datos común.
  • La base de datos es una representación lógica de una base de datos, que existe como una partición dentro de una base de datos del servidor SQL.

Funciones no admitidas

También hay muchas características de SQL Server que no son compatibles con SQL Azure, y son:

  • Servicios de datos maestros
  • Adjuntar una base de datos
  • Cambiar captura de datos
  • Auditoría de datos
  • Gobernador de recursos
  • Servicio de calidad de datos (DQS)
  • Instantáneas de la base de datos
  • Compresión de datos
  • Navegador de servidor SQL
  • Transacciones distribuidas
  • Procedimientos almacenados extendidos
  • Filestream
  • Registro mínimo en la importación masiva
  • Polybase
  • Gestión basada en políticas
  • Búsqueda semántica
  • Servicios de informes del servidor SQL
  • Banderas de rastreo

De la discusión anterior, está claro que SQL Azure es un subconjunto de SQL Server y viene con muchas limitaciones debido a su arquitectura.

Entonces, ¿por qué en el mundo alguien lo usaría en lugar de SQL Server con todas las funciones?

Fuente: Techgenix.com

Tweets

RT @cdrconsultores: El networking es una práctica común en el mundo empresarial y emprendedor. Aquí en CDR Consultores ofrecemos las soluc…
El networking es una práctica común en el mundo empresarial y emprendedor. Aquí en CDR Consultores ofrecemos las s… https://t.co/pLsGFRep1b

Productos

Servicios

servicios off
website off
desarrollo off
formacion off
negocios off

Publicaciones

« Septiembre 2018 »
Lun Mar Mier Jue Vie Sáb Dom
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Facebook

end-logo

 

Nestor M. Carreño T. - Todos los Derechos Reservados
Rescindir de Dios y de los valores morales, lleva no sólo al empobrecimiento espiritual, sino también al empobrecimiento material
Gracias a Usted, Muchas Gracias por Consultarnos, Dios le Bendiga!

Diseño y Desarrollo Nestor M. Carreño T. - CDR Consultores, C.A.