Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Novedades para desarrolladores en sql server 2019

SQL Server 2019 incluye novedades a nivel de desarrollo y t-sql que nos ayudarán a la mejora en el rendimiento de nuestras aplicaciones. En esta sesión nos centraremos en las nuevas posibilidades que tenemos como desarrolladores de Bases de datos.

  • Be the first to comment

  • Be the first to like this

Novedades para desarrolladores en sql server 2019

  1. 1. MAD · NOV 22-23 · 2019 Mejoras y novedades para desarrolladores en SQL Server 2019 Enrique Catalá Bañuls Data platform modernization team leader at SolidQ ecatala@solidq.com | @enriquecatala
  2. 2. MAD · NOV 22-23 · 2019 Enrique Catalá Bañuls  Ingeniero informatico  Microsoft Data Platform MVP  DPM team leader en SolidQ  Performance tuning, HA, ∘ Modernizaciones de plataforma ∘ … ecatala@solidq.com @enriquecatala
  3. 3. MAD · NOV 22-23 · 2019 Agenda “Sabores” SQL Server 2019 SQL Server, contenedores y novedades Data Virtualization Silent data truncation Clasificacion de datos sensibles Variables de tipo tabla Funciones escalares UTF8 Extensiones de lenguaje Grafos
  4. 4. MAD · NOV 22-23 · 2019 Data platform modernization SQL SQL
  5. 5. MAD · NOV 22-23 · 2019 SQL Serverless: Una alternativa interesante Solo recomendable para entornos DEV Permite definir vCores (min,max) y que fluctúen según carga Coste por segundos Autopausa Si pausado, compute cost = 0 Ideal para DevOps e integración continua https://docs.microsoft.com/es-es/azure/sql-database/sql-database-serverless
  6. 6. MAD · NOV 22-23 · 2019 SQL Server 2019, Linux y contenedores New Features for Linux Replication Change Data Capture Distributed transactions Machine Learning Polybase Tempdb files auto-config Containers Microsoft Container Registry Red Hat Images Non-root Containers SQL Server on Windows Containers (Private Preview)
  7. 7. MAD · NOV 22-23 · 2019 SQL Server, Linux containers and windows 1. Contenedores Linux corren ya “nativos” en W10 y WS2019 con LCOW 1. Simultaneamente si se quiere (*kubernetes todavía no) 2. Necesitamos kernel 1903 (Oct-2019) 2. SQL Server 2019 corre en contenedor non-root 1. SQL Server 2017 corre en contenedor root
  8. 8. MAD · NOV 22-23 · 2019 SQL Server, Linux containers and windows 1. Lanzar imagen non-root como usuario root docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyStrongPassword" -u 0:0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest 2. Lanzar imagen non-root con usuario de tu máquina docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyStrongPassword" --cap-add SYS_PTRACE -u $(id -u myusername):0 -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest 3. Lanzar imagen como usuario cualquiera docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=MyStrongPassword" --cap-add SYS_PTRACE -u (id -u myusername):(id -g myusername) -v /path/to/mssql:/var/opt/mssql -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
  9. 9. MAD · NOV 22-23 · 2019 Demo +++++[>++[>+>+ ++>++++>++++>++++>++++++ >++++++>+++++++ ++>+++++++++<<<<<<<<<-]>> >+>+>+> >>>+[<]< -]>> >++>-->>+>>++>+ >--<<<< <<<..... .> ....<...... ...>... <<.>.... >.>>>>>.<. <<<<.. ..<.... >..>>>>>.< .<<<<. >>>.<<. >>>>>.<.< <<<<< <.>...> >>>.>>>. <<<.< <<<..>> .>>>>>.< <.<<< <<...>> >>>.<<< <..<. ...>... <<.>..>. >>.<.<<...>>...<<...>>...< <....>>.. .<<<.>.>>..>.<<.......<.... .....>... <<.>... .....>... <...... .>>>.<<.. <<.>... .....>...<......>.>>.<.<<< .>...... ..>>...<<....>>.....>.<..>. • Dockerfile and compose • Azure data studio notebooks • Silent data truncation • Data classification • Variables tipo tabla • Funciones escalares • UTF8
  10. 10. MAD · NOV 22-23 · 2019 Extensiones de lenguaje en SQL Server SQL Server 2019 incorpora extensibilidad de lenguaje En el marco de machine learning services Primera implementación: JAVA Funciona en Windows y Linux (excluidos contenedores por ahora)
  11. 11. MAD · NOV 22-23 · 2019 Extensiones de lenguaje en SQL Server: Input Definido con “CREATE EXTERNAL LANGUAGE” Por ahora solo desplegado JAVA R y Python no son extensibles en este momento
  12. 12. MAD · NOV 22-23 · 2019 Extensiones de lenguaje en SQL Server: Input InputDataCol almacena los valores de datos de entrada por columna. N es el número de columnas. inputNullMap Se utiliza para la gestión de valores nulos en la aplicación java que desarrollemos y es rellenada por SQL Server antes de la ejecución de la función de usuario.
  13. 13. MAD · NOV 22-23 · 2019 Extensiones de lenguaje en SQL Server: Output outputDataColN Similar a inputDataSet, para cada columna de salida que el programa de Java envía a SQL Server, se debe declarar una variable outputDataCol numberofOutputCols SQL Server asigna a esta variable el número de columnas de datos de salida que espera tener cuando finaliza la ejecución de la función de usuario. outputNullMap Mapa de NULL se utiliza la extensión para indicar qué valores son nulos. Se requiere esto, ya que los tipos primitivos no son compatibles con null. Los valores NULL se indican mediante "true".
  14. 14. MAD · NOV 22-23 · 2019 Ejemplo de uso con JAVA DECLARE @myClassPath nvarchar(50) DECLARE @n int SET @n = 3 SET @myClassPath = N'C:SummitpkgNgram.jar' EXEC sp_execute_external_script @language = N'Java' , @script = N'pkg.Ngram.getNGrams' , @input_data_1 = N'SELECT id, Text FROM reviews' , @parallel = 0 , @params = N'@CLASSPATH nvarchar(30), @param1 INT' , @classpath= @myClassPath , @param1 = @n with result sets ((ID int, ngram varchar(20)))
  15. 15. MAD · NOV 22-23 · 2019 Polybase v2  Engine de procesamiento distribuido integrado en SQL Server  Consulta el dato allá donde esté (olvída ETL)  Rendimiento distribuido y escalable de consultas  Despliegue manual con SQL Server  Auto despliegue/optimizacion con Big Data Clusters
  16. 16. MAD · NOV 22-23 · 2019 Polybase a hdfs, Oracle, mongodb,… CREATE EXTERNAL DATA SOURCE mydatasource_rc WITH ( TYPE = HADOOP, LOCATION = 'hdfs://xxx.xxx.xxx.xxx:8020' ); CREATE EXTERNAL FILE FORMAT myfileformat_rc WITH ( FORMAT_TYPE = RCFILE, SERDE_METHOD = 'org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe' ); CREATE EXTERNAL TABLE ClickStream_rc ( url varchar(50), event_date date, user_ip varchar(50) ) WITH ( LOCATION='/webdata/employee_rc.tbl', DATA_SOURCE = mydatasource_rc, FILE_FORMAT = myfileformat_rc ) ; -- Querying table SELECT TOP 10 (url) FROM ClickStream_rc WHERE user_ip = 'xxx.xxx.xxx.xxx'
  17. 17. MAD · NOV 22-23 · 2019 Grafos en SQL Server 2019 Permiten por fin constraints de aristas
  18. 18. MAD · NOV 22-23 · 2019 Demo +++++[>++[>+>+ ++>++++>++++>++++>++++++ >++++++>+++++++ ++>+++++++++<<<<<<<<<-]>> >+>+>+> >>>+[<]< -]>> >++>-->>+>>++>+ >--<<<< <<<..... .> ....<...... ...>... <<.>.... >.>>>>>.<. <<<<.. ..<.... >..>>>>>.< .<<<<. >>>.<<. >>>>>.<.< <<<<< <.>...> >>>.>>>. <<<.< <<<..>> .>>>>>.< <.<<< <<...>> >>>.<<< <..<. ...>... <<.>..>. >>.<.<<...>>...<<...>>...< <....>>.. .<<<.>.>>..>.<<.......<.... .....>... <<.>... .....>... <...... .>>>.<<.. <<.>... .....>...<......>.>>.<.<<< .>...... ..>>...<<....>>.....>.<..>. • Novedades grafos SQL 2019
  19. 19. MAD · NOV 22-23 · 2019 Gracias! ■ “Sabores” SQL Server 2019 ■ SQL Server, contenedores y novedades ■ Data Virtualization ■ Silent data truncation ■ Clasificacion de datos sensibles ■ Variables de tipo tabla ■ Funciones escalares ■ UTF8 ■ Extensiones de lenguaje ■ Grafos ecatala@solidq.com @enriquecatala

×