Este documento introduce los grafos en SQL Server 2017. Explica que un grafo está compuesto de nodos y aristas que representan entidades y sus relaciones. SQL Server 2017 permite modelar grafos almacenando nodos y aristas como tablas tradicionales y usar el lenguaje Cypher para consultarlos. Aunque proporciona esta nueva funcionalidad, todavía tiene limitaciones como la falta de soporte para actualizaciones en aristas y algoritmos básicos de grafos.
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0SolidQ
Excel es un formato ampliamente utilizado por los usuarios, y que nos encontramos habitualmente cuando realizamos procesos ETL. Comentaremos sus peculiaridades, así como problemas habituales con los que nos hemos encontrado al tratar con este formato y las soluciones que hemos ido aportando. ¿Has tenido problemas con los drivers?, ¿con truncamientos de cadenas?, ¿con tipos de datos?, ¿con cambios en los nombres de libros y hojas? Expondremos soluciones para estos y otros problemas.
ETL: Nuestras experiencias con Excel en procesos ETL. SolidQ 1 – Excel 0SolidQ
Excel es un formato ampliamente utilizado por los usuarios, y que nos encontramos habitualmente cuando realizamos procesos ETL. Comentaremos sus peculiaridades, así como problemas habituales con los que nos hemos encontrado al tratar con este formato y las soluciones que hemos ido aportando. ¿Has tenido problemas con los drivers?, ¿con truncamientos de cadenas?, ¿con tipos de datos?, ¿con cambios en los nombres de libros y hojas? Expondremos soluciones para estos y otros problemas.
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
http://bit.ly/SQSummit
Aprende que puede aportar SSIS en las labores diarias de un DBA, desde las tareas más simples hasta cómo administrar fácilmente el servicio.
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
http://bit.ly/SQSummit
Con el creciente despliegue de modelos tabulares y servicios de tiempo real conectados a ellos, nos surge siempre una misma pregunta: ¿Cómo controlo quien puede acceder a determinados datos en esos modelos y arquitecturas modernas? Abordaremos distintos escenarios de conexión de Power BI y modelos tabulares, su implementación, mantenimiento y buenas prácticas.
Más contenido relacionado
Similar a SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? Demos la bienvenida a los grafos en SQL Server 2017
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
http://bit.ly/SQSummit
Aprende que puede aportar SSIS en las labores diarias de un DBA, desde las tareas más simples hasta cómo administrar fácilmente el servicio.
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
http://bit.ly/SQSummit
Con el creciente despliegue de modelos tabulares y servicios de tiempo real conectados a ellos, nos surge siempre una misma pregunta: ¿Cómo controlo quien puede acceder a determinados datos en esos modelos y arquitecturas modernas? Abordaremos distintos escenarios de conexión de Power BI y modelos tabulares, su implementación, mantenimiento y buenas prácticas.
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
http://bit.ly/SQSummit
A través de ejemplos vamos a ver porque las herramientas actuales de integración de datos han de experimentar una evolución significativa, tanto en su forma como en su fondo.
http://bit.ly/SQSummit
En el último año el ecosistema de herramientas de visualización de Microsoft ha crecido, desarrollado y combinado entre sí. ¿Qué camino está tomando? ¿qué puedo hacer con Reporting Services que no pueda hacer con Power BI, Report Server o viceversa? Haremos un análisis de la característica que diferencian cada una, de forma muy rápida.
Vale, SQL Server 2017 corre en Linux, ¿me interesa? Sí, ¿por qué? Porque no hablamos simplemente de que corra un nuevo sistema operativo...sino que se pueden utilizar para despliegues rápidos en entornos escalables basados en docker, kubernetes, etc. Daremos un repaso a cómo aprovecharnos de los nuevos escenarios de despliegue en nuestras empresas, aunque sean tradicionalmente entornos Microsoft.
En la vida real, columnstore puede aplicar bien o mal. En esta sesión veremos qué podemos hacer para conseguir un verdadero real-time operational analytics en nuestros entornos OLTP.
En un mundo que se mueve rápido, la capacidad de reacción ante la toma de decisiones es primordial. Te enseñaremos a llevar tus datos allá donde vayas, visualizarlos como necesites y tomar el control. Para ello PowerApps permite visualizarlos como necesites y tomar el control. Para ello PowerApps permite integrar la suite de aplicaciones de Microsoft, de una manera ágil e intuitiva.
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
¿Alguna vez has intentado invertir? ¿Te fiaste de un amigo? ¿De un soplo del mercado? En esta sesión veremos cómo aproximamos la predicción del mercado de valores y las diferentes opciones que nos planteamos en proyectos similares (predicción de ventas, stocks, compras...).
Cuando tomamos control de un servidor SQL Server en Flex Services, nosotros como operadores tenemos que sentirnos seguros con lo que estamos asumiendo. Para ello, hacemos un análisis del servidor donde revisamos elementos importantes del servidor como configuración del SQL, planes de mantenimiento, etc. En esta sesión, te enseñaremos lo importante de los diversos elementos básicos que revisamos para asegurarnos que tomamos el control de un servidos SQL Server que no nos va a dar sorpresas.
¿Hola? ¿Alguien por ahí? Hoy en día no es raro encontrarse con un Bot como medio para interactuar con una plataforma online. La creciente implantación de esta tecnología en el mercado, nos invita a conocer Azure Bot Framework. Repasaremos las herramientas disponibles, el proceso de creación, buenas practicas, casos de uso y muchos más. Acompáñanos ¡cuando hacer bot ya no hay stop!
Las necesidades de análisis en los diferentes escenarios de negocio se vuelven cada vez más complejas. Dato histórico, dato en tiempo real, dato desde diferentes fuentes, dato predictivo, todo a la vez y en el mismo punto centralizado. ¿Nos hemos vuelto locos? ¿Es imposible? ¿No seremos capaces? Nada de eso, con Azure y una buena planificación conseguiremos una arquitectura con la última tecnología y que, sobre todo, cubre nuestras necesidades de análisis por complejas que sean.
La nube ha abierto en los últimos años escenarios de análisis que antes eran impensables. Sistemas BI levantados y corriendo en minutos en vez de meses, alta disponibilidad al alcance de un botón, pagar únicamente por lo que consumimos... En esta sesión veremos las diferentes opciones que tenemos en Azure para conseguir mover nuestra infraestructura BI a la nube y aprovecharnos de sus ventajas.
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
El 25 de mayo entró en vigor el nuevo reglamento de protección de datos, en esta presentación te vamos a explicar qué es lo que tienes que tener en cuenta como un DBA para cumplir.
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
A raíz de un caso real, el equipo de SolidQ ha estado buscando la mejor manera de implementar una jerarquía padre-hijo de cuentas contables con un operador unitario que tuviera un buen rendimiento, a pesar de la gran cantidad de datos a la que tenía que enfrentarse. Veremos cómo aplanar la jerarquía, cómo implementarlo con SSAS, con una alternativa MDX, cómo añadir ordenación a las cuentas basadas en otro atributo, Time Balance Average y algún otro truco de tuning.
Por medio de distintas demos, mostraremos de forma interactiva, las novedades que nos ofrece SSAS tabular, además de exponer como sacar provecho de las nuevas funcionalidades.
En este documento analizamos ciertos conceptos relacionados con la ficha 1 y 2. Y concluimos, dando el porque es importante desarrollar nuestras habilidades de pensamiento.
Sara Sofia Bedoya Montezuma.
9-1.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
4. Grafos
Un grafo está compuesto de nodos y aristas
Nodos: Entidades principales (empleados, clientes, productos…)
Aristas: Relaciones entre entidades (vendidoPor, JefeDe, conoceA…)
Puede ser dirigido o bidireccional
A veces el sentido se gestiona vía roles/permisos
Suelen tener propiedades asociadas
Nombres, descripciones
fecha, cantidad, coste…
6. Bases de datos
Triples – TripleStores
Flexibilidad de esquema
Enfoque parecido al EAV (Entity- Attribute-Value)
Recomendaciones de la W3C: https://www.w3.org/RDF/
Lenguaje SPARQL: https://www.w3.org/TR/sparql11-query/
PREFIX ex: <http://example.com/exampleOntology#>
SELECT ?capital ?country
WHERE {
?x ex:cityname ?capital ;
ex:isCapitalOf ?y .
?y ex:countryname ?country ;
ex:isInContinent ex:Africa .
}
ORDER BY ?capital ?country
7. Bases de datos
Desde finales de los 90’s
Relativa poca relevancia
https://db-engines.com/en/ranking_categories
https://db-engines.com/en/ranking/graph+dbms
8. Grafos en SQL Server 2017
Crear nodos
Se almacenan como tablas tradicionales
CREATE TABLE [dbo].[Persona](
[PersonaId] [int] PRIMARY KEY,
[Nombre] varchar(100),
[Apellidos] varchar(200)
) AS NODE
GO
INSERT INTO Persona
(PersonaId,Nombre,Apellidos) VALUES
(1,'Francisco', 'García Rodríguez'),
(2,'Antonio','Ruiz Martínez')
9. Grafos en SQL Server 2017
Crear aristas
Se almacenan como tablas tradicionales
CREATE TABLE conoceA AS EDGE;
-- Todos conocen a todos
INSERT INTO conoceA
SELECT p1.$node_id origen,p2.$node_id
destino FROM dbo.Persona p1,
dbo.Persona p2
SELECT * FROM conoceA
10. Grafos en SQL Server 2017
Navegar grafos
Lenguaje Cypher: http://www.opencypher.org/
T-SQL Cláusula MATCH
SELECT
Persona1.Nombre AS Persona1_Nombre,
Persona2.Nombre AS Persona2_Nombre,
FROM
Persona Persona1, conoceA, Persona Persona2
WHERE
MATCH (Persona1-(conoceA)->Persona2)
AND Persona1.apellidos LIKE ‘García%’
AND Persona2.apellidos LIKE ‘Ruiz%’
13. Grafos en SQL Server
Algunas limitaciones
No se permiten UPDATEs en las aristas
UPDATE DELETE + INSERT
No se pueden hacer cargas BULK directamente
Falta de soporte nativo de algoritmos básicos de grafos
Camino más corto
Cláusula transitiva/cierre transitivo
Sentencias MATCH no soportan OR/NOT
No se soporta referenciar a tablas derivadas en la cláusula MATCH
Utilizar los $node_id,$from_id y $to_id directamente si necesitamos recursividad
No se pueden hacer consultas entre distintas bases de datos
1 grafo = 1 base de datos
14. Workaround para BCP…
CREATE UNIQUE NONCLUSTERED INDEX
[GRAPH_UNIQUE_INDEX_87ED59FFDE2546C2BF0F504C9BFA7E59] ON
[dbo].[Persona] ($node_id)
ALTER INDEX
GRAPH_UNIQUE_INDEX_87ED59FFDE2546C2BF0F504C9BFA7E59
ON dbo.Persona DISABLE
-- BCP in
ALTER INDEX
GRAPH_UNIQUE_INDEX_87ED59FFDE2546C2BF0F504C9BFA7E59
ON dbo.Persona REBUILD
15. NOT MATCH
SELECT DISTINCT P1.Nombre
FROM Persona AS P1, Gusta AS G1, Gusta AS G2,
Perro AS P2, Gato AS G
WHERE MATCH(P1-(G1)->P2)
AND NOT MATCH(P1-(G2)->G);
Msg 13905, Level 16, State 1, Line 86
A MATCH clause may not be directly combined with other expressions using OR or NOT.
16. NOT MATCH NOT EXISTS
SELECT DISTINCT P1.Nombre
FROM Persona AS P1, Gusta AS G1, Perro AS P2
WHERE MATCH(P1-(G1)->P2)
AND NOT EXISTS(
SELECT * FROM Gusta AS G2, Gato AS G
WHERE MATCH (P1-(G2)->G)
)
19. Grafos vs Relacional
Ejemplos de casos donde puede ser más natural:
Gestión de contenidos, CMSs
Redes sociales
Recomendaciones de carrito de la compra
Modelados de procesos complejos con iteraciones
Entornos de relaciones futuras desconocidas entre entidades
No se respeta la integridad como si fuesen FKs
No se pueden insertar aristas contra nodos no existentes pero sí
podemos borrar nodos y dejar aristas “huérfanas”
20. Conclusiones
Funcionalidad reducida
MATCH puede ayudar a la legibilidad y a código más intuitivo
Limitaciones en sintaxis, tablas derivadas, etc.
El soporte por parte de herramientas de desarrollo, análisis,
etc. es bastante pobre
En un futuro puede cambiar
Riesgos de mala aceptación ¿y si MS no se anima a mejorarlo?
Realmente poco probable Cosmos DB + Graph API