2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
Wszystkie artykuły
2024
Sep 25: Microsoft Fabric: Using Workspace Identity for Authentication
One of the newest features available in Microsoft Fabric is the ability to use Workspace Identity to authenticate with external Data Lake Storage Gen2. I find this to be one of the most important features because it significantly simplifies the entire process of authentication and authorization. Workspace Identity is not a new concept; it was […]
Sep 16: Terraforming Databricks #2: Catalogs & Schemas
In the first post of this series, we discussed the process of creating a metastore, which is essential for enabling workspaces for the Unity Catalog. In this part, I would like to cover the provisioning process of key elements in Unity Catalog’s object model – specifically, catalogs and schemas. The goal of this article is […]
Sep 04: Terraforming Databricks #1: Unity Catalog Metastore
Over the past two years, we have participated in numerous projects where Azure Databricks was implemented from the ground up. Each of these deployments allowed us to learn something new, verify previous solutions, and ultimately develop a methodology that allows us to deploy Azure Databricks in a standardized, enterprise-scale-ready manner. As a result, the newly […]
Aug 28: Executing SQL queries from Azure DevOps using Service Connection credentials
Executing SQL queries on Azure SQL Database using Azure Devops can be a complex and challenging task, particularly when it comes to establishing a secure and reliable connection. This option can be valuable in numerous scenarios. For instance, you can insert pipeline metadata into the database to track deployment information or changes. This technique also […]
Aug 24: Utilizing YAML Anchors in Databricks Asset Bundles
We all know what YAML is – it’s like JSON, just with indentation instead of brackets. Easier to write and read. That’s it, isn’t it? In most situations… yes. But if we look a little deeper, we’ll find features that many people have no idea exist. And let me emphasize right away, I’m not judging […]
Aug 21: Setup Git credentials for Service Principal in Azure Databricks
Introduction Databricks Jobs can execute code stored locally (1 on the picture below) or stored in a remote Git repository (2). Second approach simplifies the creation and management of production jobs while enabling automated continuous deployment. It eliminates the need to create and maintain a separate production repository within Azure Databricks, reducing the burden of […]
Aug 17: Databricks: MERGE WITH SCHEMA EVOLUTION
Anyone who has ever designed an ETL process involving more than a few tables of data has likely encountered the need to build a metadata-driven framework. By ‘framework,’ I mean any solution that standardizes this process and allows for scaling through configuration changes. Regardless of whether it involved BIML, SSIS packages generated from C#, dynamic […]
Aug 11: Terraforming ADF: Shared Self-Hosted Integration Runtime
In one of our previous posts, we explained what self-hosted integration runtimes are and how to fully configure them using Terraform. Today, we’ll take it a step further by discussing the sharing mechanism that allows us to reuse the same runtime across multiple Azure Data Factories. Multiple Integration Runtimes Let’s consider the following scenario: our […]
Aug 08: Microsoft Fabric 101 Episode 3: Pausing and Scaling using portal and Powershell
Welcome to Microsoft Fabric 101 series – your comprehensive guide to mastering Microsoft Fabric. This series of articles and videos is designed to help you understand and effectively use Microsoft Fabric, whether you’re a beginner or looking to deepen your knowledge. We’ll cover everything from the basics of setting up and configuring your Fabric tenant […]
Aug 05: Terraforming ADF: Credentials & Linked Services
Azure Data Factory is almost never created as an isolated resource. In nearly every project where we have used this service, it was provisioned alongside a Key Vault and a Storage Account. In the following article, I’ll describe the standard method for authenticating between these services using managed identities. As indicated by the title, I’ll […]
Aug 02: Terraforming ADF: Create & Configure Self-Hosted Integration Runtimes
Git and mandatory CI/CD have become widely accepted standards, and an increasing number of people are advocating for defining cloud resources using IaC tools. Many are coming to understand that quality, reliability, and scalability in modern cloud data projects are simply unattainable without embracing the DevOps culture and proper automation. The ClickOps resistance movement is […]
Jul 27: Microsoft Fabric 101 Episode 2: Creating Fabric Capacity using portal and Terraform
Welcome to Microsoft Fabric 101 series – your comprehensive guide to mastering Microsoft Fabric. This series of articles and videos (can be found in the end of this article) is designed to help you understand and effectively use Microsoft Fabric, whether you’re a beginner or looking to deepen your knowledge. We’ll cover everything from the […]
Jul 21: Microsoft Fabric 101 Episode 1: Enabling Microsoft Fabric
Welcome to Microsoft Fabric 101 series – your comprehensive guide to mastering Microsoft Fabric. This series of articles and videos (can be found in the end of this article) is designed to help you understand and effectively use Microsoft Fabric, whether you’re a beginner or looking to deepen your knowledge. We’ll cover everything from the […]
Jul 13: Upsert operation in Azure Data Factory Copy Activity
Some time ago, without much fanfare, a very interesting update to the Copy Activity operation within Azure Data Factory appeared. Specifically, it’s about the fact that this activity can now not only simply insert data but also compare it with the target table and, if necessary, insert new rows or update existing ones, i.e., perform […]
Jul 11: Elevate your Databricks development workflow with SHALLOW CLONE
In this post, I would like to present how the SHALLOW CLONE functionality can be utilized to streamline your development process by accelerating the creation of dedicated development environments and enabling comprehensive data testing in your CI/CD pipeline. One more time, what exactly is SHALLOW CLONE? Let’s start with a quick recap of Delta Lake […]
Jun 16: Executing Databricks custom query from Azure Data Factory
Today, we’re going to talk about using Azure Data Factory to run a custom query in Databricks. Why we need dedicated article about it? Well, Azure Data Factory helps us move and change data and in some scenarios Databricks can be treated as a source from which we want to move data. When we use […]
Jun 02: Run multiple notebooks in parallel using runMultiple in Microsoft Fabric
Orchestration is about organizing and controlling many computer systems, apps, and/or services, linking together many tasks to carry out a bigger workflow or process. These processes can have many tasks that are automated and can include many systems. The aim of orchestration is to make regular, repeatable processes run smoother and faster, helping data teams […]
Apr 26: githooks and pre-commit framework in the daily work of a Data Engineer
Do you recall a situation when, at the beginning of the project, your team, after many days of intense discussions, finally established coding standards that everyone agreed to follow? You thoroughly discussed rules regarding capitalization, spacing, indentation, line lengths, etc. You nearly came to blows over whether the comma should be placed at the beginning […]
Mar 05: Azure Policy – an underrated component of a scalable data platform (part2)
In the first part of the article, we discussed the basics of the Azure Policy service and provided examples of using definitions with audit and deny effects, or in simpler terms, policies that block the creation of incorrect resources. In this part, we will focus on a slightly more advanced concept: remediation, which involves automatically […]
Mar 03: How to determine if Direct Lake dataset is falling back to Direct Query in Microsoft Fabric
When you create a Direct Lake semantic model, it typically operates in Direct Lake mode. This means it directly accesses the delta table from the OneLake. This is the preferred scenario because it helps queries run fast, sometimes as fast as import mode. In Power BI, when utilizing Direct Lake mode, the semantic models directly […]
Mar 01: Understanding CLONE Functionality in Databricks for Delta Tables
Introduction Databricks offers great functionality in the form of table CLONING, which works not only for Delta Tables but also for Parquet Table and Iceberg Tables. In this article we will focuse on Delta Tabels. Please note that in this article, whenever I mention: Source Table: This refers to the original table used as the […]
Feb 26: Azure Policy – an underrated component of a scalable data platform (part1)
Recently, we’ve been encountering an increasing number of projects where a complete data platform has to be designed and built almost from scratch. In such projects, in addition to the typical duties and tasks in the data area, such as data modeling, designing and implementing pipelines, or the final reporting layer, there is a growing […]
Feb 25: Why should I ‘refresh’ Direct Lake models in Microsoft Fabric?
You’ve probably heard about a new mode for datasets/semantic models called Direct Lake. This mode combines the advantages of existing modes: the performance of Import mode and the lack of need to refresh or cache data from Direct Query. It works by directly accessing files from a one lake without requiring extra steps. This means […]
Feb 18: Notebook orchestration in Microsoft Fabric made easy
When I meet with customers, we discuss how to efficiently organize notebook execution via orchestration mechanism. They often mention managing it manually using tools like Azure Data Factory. On the other hand, they sometimes express that Data Factory is too simplistic and they require other tools to address their needs. Similar questions arise regarding Microsoft […]
Jan 21: Retrieve execution query history in Databricks
Collecting the history of query and command executions in Azure Databricks is essential for troubleshooting, optimizing performance, and ensuring robust security measures. This practice establishes an audit trail for swift issue resolution, aids in creating a usage baseline for objects, and contributes to maintaining a secure data processing environment. The historical data becomes a valuable […]
Jan 15: Easy way to retrieve metadata from loaded files in Azure Databricks
As you continue adding more files to your table, it keeps growing larger. One day, while reviewing it, you notice some records in the middle that contain mistakes. To troubleshoot this in an easy way, it’s essential to have proper metadata about the files you have already loaded. How can you obtain this information? Another […]
Dec 20: Processing stream data with Microsoft Fabric Event Streams (part2)
In my earlier article (link), I initiated a discussion on the functionality of Microsoft Fabric Event Streams. I provided an overview of the tool and covered the steps for connecting to data sources. In this follow-up article, I will guide you through the process of data processing and demonstrate how to efficiently store it in […]
Dec 18: Incrementally loading files from SharePoint to Azure Data Lake using Data Factory
Introduction Companies store a lot of useful data in SharePoint, OneDrive (which is essentially SharePoint), and MS Teams (also based on SharePoint). If you want to enhance your data platform with information that is usually stored in various file formats (Excel, MS Access, CSV, and others), you’ll need to save it to a more user-friendly […]
Dec 10: Processing stream data with Microsoft Fabric Event Streams (part1)
As you probably know Microsoft Fabric addresses most data analytics scenarios but one of the most important ones is Real-Time Analytics: What does it mean? It means that Fabric gives us set of services where we can process our streaming data. We can del with such data in many different ways like: streaming datasets/push datasets […]
Nov 19: Azure Automation – Run As Account migration plan
If you’re utilizing an Azure Automation account in your data project, you’ve likely come across this information: Azure Automation Run As Account will retire on 30 September 2023 If not, now you’re aware of it. If you’re using it in your code, it will cease to function. Microsoft has provided an excellent article outlining migration […]
Oct 29: Why you should be careful with Microsoft Fabric Row Level Security?
Today, companies collect a lot of important information that keeps their businesses running and helps them make big decisions. But here’s the problem: the more data they have, the harder it is to keep it safe. Whether it’s dealing with sneaky online threats or deciding who can see what is inside the company, it’s a […]
Oct 22: Delta Lake 101 Part 4: Schema evolution and enforcement
Today, I would like to write a few words about schema enforcement and schema evolution in Delta Lake. Both concepts are quite crucial if we want to implement lakehouse solutions in Microsoft Fabric, Databricks, or any other tools that work with Delta Lake. Before we delve deeper into the details, let’s briefly explain our topic […]
Oct 11: Connect Power BI and Spark notebooks with Microsoft Fabric Semantic Link
One of the most exciting pieces of news that has emerged in recent days is the availability of the Semantic Link feature in Microsoft Fabric. What exactly is it, and what makes it so thrilling? Let’s delve into it. The Semantic Link feature empowers you to establish a connection between Power BI datasets and Synapse […]
Oct 02: Loading Files with Spark Structured Streaming in Microsoft Fabric
The concept of a lakehouse typically relies on the loading of raw data in native formats such as JSON, Parquet, Avro, etc., into the Delta format. A similar procedure is observed in Microsoft Fabric, where our initial task involves extracting files from source systems (utilizing tools such as Data Factory) and placing them in the […]
Sep 10: Six common mistakes made by Power BI developers
Power BI is a great platform that helps companies understand their data. However, it’s easy to make mistakes when using it. In this article, I will show six common mistakes made by Power BI developers, and most importantly, how to avoid them. Let’s get started! Skipping Documentation and Code Comments Alright, folks, here’s a mistake […]
Sep 06: Delta Lake 101 Part 3: Optimize ZOrdering and File Pruning
Today I would like to write few words about one of the most important techniques used to improve performance in your Lakehouse – two specific keywords: OPTIMIZE and ZORDER. Let’s start by introducing those two terms. The OPTIMIZE command in Delta Lake helps tidy up how data files are stored in a Delta table. It […]
Jun 12: Introduction to Lakehouses in Microsoft Fabric
In my latest post, I wrote a few words about the warehouses available within Fabric. Today, I would like to show you an end-to-end analytical scenario with the second most important item available on the platform, which is the Lakehouse. Microsoft’s Fabric Lakehouse serves as a cutting-edge data architecture platform that consolidates the storage, management, […]
Jun 04: Introduction to Warehouses in Microsoft Fabric
One of the key components of Microsoft Fabric is Synapse Data Warehouse. This entity within the Fabric is specifically designed to facilitate the storage of data within the OneLake concept. It provides a seamless interface for interacting with the data through TSQL commands. If you were to consider Synapse SQL pools, such as Dedicated SQL […]
May 28: SQLDAY 2023 – slide deck and summary
SQLDay is an annual conference that brings together professionals and enthusiasts from the field of relational databases and SQL. As a participant in this event, I can confidently say that SQLDay was an exceptional conference that exceeded all expectations and left a lasting impression on me. The conference, held over multiple days, showcased a diverse […]
May 24: Introduction to Microsoft Fabric: What You Need to Know
Today at the Build conference, Microsoft announced Microsoft Fabric, a unified analytics solution. What is it? It is a real game-changer, and in today’s article, I would like to share with you a general idea that comes with Fabric and how it can help you with your growing analytical needs. Let’s start! To begin, please […]
May 01: Pyspark – cheatsheet with comparison to SQL5
I think I should not convince you to learn PySpark. There is multiple reasons why we should do that, first of all PySpark is one of the most widely used big data processing frameworks, providing support for large-scale data processing using the Apache Spark framework that currently dominated Big Data world. How to learn it? […]
Apr 24: Delta Lake 101 Part 2: Transaction Log
Let’s continue our series on Delta Lake. In the first article, I covered the basics of the Delta format itself. Today, I would like to share with you some essential information about the Transaction Log. As you know, after our first article, Delta consists of a set of Parquet files that hold the data itself […]
Apr 16: Using variables in loops in Data Factory – why it’s not worth it
Loops are well-known constructs and they are a fundamental and necessary element of programming. This is no different in ADF, where loops play a standard role related to storing values fetched or calculated in a specific location of the data flow. The schema of Data Factory is rather well-known and involves nesting specific calls, etc. […]
Apr 02: Allow Azure Services and resources to access this server – How it works in Azure SQL Database?
One of the first options that Azure SQL Database users encounter when creating this resource is the “Allow Azure Services and resources to access this server” option, along with other network settings related to our server. While allowing traffic from a specific IP address or range of IP addresses to our server is fairly intuitive […]
Mar 26: Refreshing a Power BI Dataset using Azure Data Factory
As you probably know, Power BI datasets can be refreshed using the built-in schedule in the Power BI service. Depending on whether we’re talking about Premium Capacity or Shared Capacity, we have a certain number of refreshes available per day. Of course, the schedule is not the only option when it comes to refreshing the […]
Feb 25: Delta Lake 101 – Part 1: Introduction
Delta Lake is becoming more and more popular. It is right now the default storage format used by Spark engine so when you will not specify it differently it will be used by Synapse Analytics Spark Pools or Azure Databricks. Why it become so popular? Before we will start let’s say what was the problem […]
Feb 21: Dynamic SQL Lineage in Microsoft Purview
Purview is one of the most needed services in the Azure cloud. It gives us the opportunity to scan, classify, and govern data assets within our organization. This service is constantly developing, so we can notice more and more valuable tools. One of the main questions that I hear from my customers is about data […]
Feb 12: Scanning Databricks local hive metastore from Microsoft Purview
One of the latest news related to Purview is the announcement of a new Databricks connector that will aid in gaining insights from the Hive metastore within the Databricks instance. In this article, I have prepared a short tutorial to demonstrate how to use the connector, what it looks like, and the benefits you will […]
Jan 20: Lakehouse – What is it, and why is it so popular?
Over the years, many different concepts related to systems dedicated to data analysis have appeared on the market. For those interested in the topic, concepts such as data lake, data warehouse, or data mesh are likely familiar. Some of these concepts disappeared faster than others, while others have become standards and have been implemented for […]
Jan 08: Load Synapse Analytics SQL Pool with Azure Databricks
In many projects, we have different tools that must integrate with each other. These scenarios are common when we talk about Synapse Analytics and Azure Databricks. Integrating those platforms can be beneficial in several ways. By combining the capabilities of Azure Synapse’s SQL pool with Azure Databricks’ Apache Spark cluster, you can analyze and transform […]
Nov 21: Dealing with ParquetInvalidColumnName error in Azure Data Factory
Data Factory or Integrated Pipelines under Synapse Analytics suite can be very useful as an extracting and orchestrating tool. It is a common scenario when we extract data from the source system and save it in a dedicated landing zone located in Azure Data Lake Storage Gen 2. The only question that can appear is […]
Nov 13: Provisioning AAD users and groups in Azure Databricks using SCIM
If you have services like Azure Databricks and you have to synchronize identities inside the tool with those that exist in Azure Active Directory then how you can do it? Creating it manually is not the case because it is time-consuming and maintenance overhead is not acceptable. The best solution will be to use SCIM […]
Oct 31: Most needed ideas from ideas.powerbi.com
Power BI is growing as a tool and as a platform. When you compare what we have now and what we had a few years ago you will see a completely different set of tools with a different set of capabilities. Some time ago in 2018, I wrote an article about top ideas that in […]
Oct 11: Connecting to Azure Storage from Synapse Analytics using Private Endpoint
Security is a very important aspect of every cloud-based project. Synapse Analytics ecosystem allows us to configure many different options including networking and connectivity. In this article, I will try to demonstrate how to set up a private endpoint from Synapse Analytics to external Data Lake storage. First of all, I would like to explain […]
Sep 18: 8 Power BI features that every architect should know
In this article, I would like to mention 8 Power BI features that every data architect should know when building analytical systems on a bigger scale including not only reports themselves but also data warehousing solutions like Synapse Analytics. Synapse Analytics itself is integrated with Power BI – for example, you have a unified experience […]
Aug 29: Pausing and Resuming Synapse Dedicated SQL Pool with Data Factory
Costs are crucial aspects of every cloud project. One of the basic savings options available in Synapse Analytics is pausing and resuming. This activity can be done manually using a graphical user interface but also programmatically. In this article, I would like to show you how to do it via Data Factory/Integrated Pipelines and REST […]
Jul 24: Loading stream data into Synapse with Event Hub and Stream Analytics
Azure contains multiple services that can handle stream data. I can mention just few of them: Stream Analytics Data Explorer Synapse Spark Databricks The above list is not everything that you can use. If you want to have a solution that will minimize maintenance and simplify the entire process you can use PaaS services like […]
Jul 08: Azure Synapse Resultset caching – how it works?
Dedicated SQL Pool in Azure Synapse has a very interesting feature called result set caching. This mechanism is very specific to Synapse and it can significantly increase the performance of a query. In a nutshell, we can say that result set caching when enabled automatically cache query results for repetitive use. Because of this, any […]
Jun 11: Loading Azure Synapse Dedicated SQL Pool with COPY INTO
One of the hottest topics in the world of the Microsoft data platform is without any doubt Azure Synapse Analytics. It is a service that evolved from Azure Datawarehouse and is currently based on several pillars, where on the one hand we are dealing with Dedicated SQL Pool, i.e. a relational SQL engine operating in […]
Jun 02: Azure Synapse Link for SQL – how it works?
One of the most exciting things that have been announced during Microsoft Build conference was Azure Synapse Link for SQL. Previously there was the possibility to connect using Synapse Link to Azure Cosmos DB and Dataverse database but guess what – now it is available also for Azure SQL Database and SQL Server 2022. Let’s […]
May 23: Moja sesja na Microsoft Build 2022!
Nadszedł czas na kolejną konferencję poświęconą technologiom Microsoft – tym razem mowa o tegorocznej edycji Microsoft Build, która odbędzie się 24 i 25 maja. Czym jest ta konferencja? Myślę, że nie trzeba jej przedstawiać ale dla tych co nie wiedzą jest to coroczne darmowe wydarzenie organizowane przez Microsoft dla deweloperów. Podczas tego eventu z całą […]
May 15: SQLDay 2022 – podsumowanie oraz slajdy
SQLDay 2022 za nami! Po dwóch latach online w tym roku wszystko odbyło się na miejscu co dla wszystkich było niebywałym plusem – chciałoby się rzecz nareszcie! Moim celem na ten rok wcale nie było zgłębienie najnowszych tajników technologicznych, a przede wszystkim networking i możliwość spotkania z wieloma interesującymi ludźmi. Tak jak w poprzednich latach […]
May 11: SQL Day 2022 prezentacja – 10 mitów oraz błędów związanych z Power BI – mit nr 10
W trakcie SQL Day 2022 miałem okazję zaprezentować kilka mitów i błędów związanych z wykorzystaniem Power BI podczas sesji zatytułowanej 10 mitów oraz błędów związanych z Power BI. W rzeczywistości przedstawiłem 9 różnych tematów, a ostatni dziesiąty postanowiłem opisać na blogu. Ostatnim błędnym stwierdzeniem na jakie chciałem zwrócić uwagę brzmi następująco “Wystarczy, że nauczę się […]
May 03: SQLDay 2022!
Mamy maj zatem na horyzoncie pojawiła się kolejna edycja SQLDay czyli największej polskiej konferencji poświęconej danym, a w szczególności takim tematom jak bazy danych, big data, cloud czy też Business Intelligence. Wydarzenie organizowane jest przez Data Community czyli grupie zrzeszającej pasjonatów technologii przetwarzania danych. Jak w każdym roku tak i teraz mamy okazję uczestniczyć w […]
Apr 18: Azure Synapse Dedicated SQL Pool – hurtownia na miarę
Azure Synapse Analytics (ASA) jest kluczowym elementem jeśli chodzi o rozwiązania analityczne dostępne w chmurze Azure. Dlatego też postanowiłem napisać kilka słów o tej niezwykle interesującej platformie, wskazać istotne elementy, zastosowania oraz kilka technicznych aspektów związanych z codzienną pracą z tym narzędziem. W ramach dzisiejszego artykułu zrobimy krótki wstęp oraz wytłumaczymy podstawowe pojęcia architektoniczne związane […]
Apr 10: Warszawskie Dni Informatyki 2022 – nagranie + prezentacja
Kolejna edycja Warszawskich Dni Informatyki za nami. Ogólnie rzecz biorąc samo wydarzenie oceniam zdecydowanie na plus. Z mojego punktu widzenia wydarzenie to odróżnia się od innych tego typu dbałością o szczegóły i różnorodnością tematyki dzięki czemu każdy znadzie coś dla siebie. Na szczególne uznanie zasługują sami organizatorzy, którzy zawsze służą pomocną ręką, a kontakt jest […]
Mar 20: Warszawskie Dni Informatyki 2022 – Azure SQL Database – skalowalna baza w świecie chmury
Serdecznie zapraszam na moją sesję zatytułowana”Azure SQL Database – skalowalna baza w świecie chmury” która odbędzie się na początku kwietnia podczas kolejnej edycji Warszawskich dni informatyki. Podczas sesji postaram się opowiedzieć o bazie Azure SQL w tym m.in o cechach, charakterystykach oraz scenariuszach użycia w świecie aplikacyjnym oraz analitycznym. Poniżej krótki opis: Relacyjne bazy danych […]
Mar 18: Azure Storage dla inżynierów danych – wszystko co powinieneś wiedzieć
Azure Storage jest jedną z najpopularniejszych usług w chmurze Azure. Jest tak dlatego, że świetnie spełnia ona swoje zadanie. Szczególne miejsce Azure Storage zajmuje w projektach związanych z analityką czy też przetwarzaniem danych. W ramach niniejszego artykułu chciałbym przedstawić kilka cech opisywanej usługi, które w moim odczuciu powinien znać każdy kto zawodowo zajmuje się danymi […]
Feb 23: Kilka sposobów na oszczędności w Azure
Chmura Azure daje niezwykłe możliwości implementacji wszelkiego rodzaju rozwiązań przy stosunkowo mniejszych nakładach finansowych. Wszystko oczywiście zależy od konkretnego projektu jendakże w większości przypadków wykorzystanie swoich własnych środowisk on-premise bardzo często wiąże się z zakupem sprzętu, licencji oraz zatrudnieniem szeregu ludzi, którzy będą się tym opiekowali co zdecydowanie mnoży koszty CapEx. W chmurze natomiast mamy […]
Jan 30: Azure Data Factory – Upsert w Copy Activity
Kilka dni temu bez większego szumu pojawiła się bardzo ciekawa aktualizacja działania Copy Activity wewnątrz Azure Data Factory. Chodzi mianowicie o fakt, iż aktywność ta potrafi już nie tylko w prosty sposób wstawić dane, ale również porównać je z tabelą docelową i w razie konieczności wstawić nowe wiersze lub uaktualnić istniejące czyli wykonać klasyczny UPSERT. […]
Jan 17: Osadzanie kompontentów Power BI wewnątrz Power Apps
Jeżeli mówimy o elementach Microsoft Power Platform to najczęściej przychodzi nam do głowy Power BI, który sam w sobie jest dosyć rozbudowaną platformą pozwalającą osiągnąć wiele różnych rzeczy od pobierania danych i ich modelowania, aż po wizualizację i dystrybucję. Gdy spojrzymy na sytuację nieco szerzej to wtedy obok Power BI na pierwszy plan wychodzą dodatkowe […]
Jan 06: Azure Databricks – orkiestracja notebooków z Multi-task jobs
Jednym z głównych zadań przy budowie wszelkiego rodzaju rozwiązań ETL czy innych procesów zasilających dane jest odpowiednia orkiestracja wykonań poszczególnych elementów procesu. Pod pojęciem orkiestracji kryje się w skrócie sekwencja zadań do wykonania oraz szereg zależności pomiędzy nimi. W przypadku chmury Azure i platformy Databricks mamy kilka możliwości implementacji tego typu procesu. Jednym z nich […]
Dec 12: Regeneracja kluczy Azure Storage przy pomocy REST API i Data Factory
Azure Storage jest jedną z najpopularniejszych usług wewnątrz chmury Azure. W przypadku rozwiązań analitycznych bez względu na dobór poszczególnych usług to właśnie Azure Storage zaimplementowany jako hierarchiczna struktura zoptymalizowana pod workload analityczny (Data Lake) niemal zawsze występuje na diagramach analitycznych tworzonych przez nas rozwiązań. Sposobów uwierzytelnienia do tej właśnie usługi jest kilka od tych najbardziej […]
Nov 28: Odpytywanie Azure SQL z poziomu Databricks
Istnieje wiele scenariuszy gdzie z poziomu jednego narzędzia chcemy tworzyć zapytania federacyjne tzn. takie które łączą dane z kilku źródeł. W różnych narzędziach można ten cel osiągnąć na wiele różnych sposobów. W SQL Server szeroko stosowana była funkcjonalność Linked Server (link), w Azure SQL możemy odpytywać dane z różnych baz poprzez Elastic Query (link). Ja […]
Nov 16: Data Science Summit – prezentacja Azure Synapse SQL Serverless
Cześć! Rok 2021 zbliża się ku końcowi, a ja mam przyjemność zaprosić Was na moją sesję zatytułowaną Azure Synapse SQL Serverless – jak to działa? Będę mógł powiedzieć parę słów na temat tej niezwykle ciekawej technologii na najbliższym Data Science Summit, któe w tym roku będzie odbywało się w formule hybrydowej (online + onsite). Podczas […]
Nov 14: Używanie zmiennych w pętli w Azure Data Factory – dlaczego nie warto
W ostatnim czasie miałem możliwość powiedzenia kilku słów na m.in. na temat użycia zmiennych w Azure Data Factory podczas kolejnego spotkania Data Community. Patrząc na odzew po sesji, który otrzymałem wiele osób było zaskoczonych faktem, że zmienne wewnątrz pętli wykonywanej równolegle zachowują się właśnie w taki sposób. Z tego też powodu postanowiłem napisać kilka słów […]
Oct 31: Data Community Online #19 – materiały i nagranie
Dosyć niedawno miałem przyjemność powiedzieć parę słów na temat Azure Data Factory oraz wzorców i antywzorców związanych z tym narzędziem w ramach koljnego spotkania Data Community. Dla zainteresowanych odsyłam do nagrania z tego spotkania oraz zamieszczam prezentację – pozdrawiam! Nagranie: Prezentacja: Data community online 19 azure data factory patterns and antipatterns from SeeQuality.net
Oct 20: Data Community Online #19 – Azure Data Factory Wzorce i Antywzorce
Cześć! Dziś mam przyjemność zaprosić Was na moją sesję zatytułowaną Azure Data Factory Wzorce i Antywzorce. Spotkanie odbędzie online się wramach Data Community – całe wydarzenie jest oczywiście darmowe. Zapraszam serdecznie! Poniżej krótki opis sesji oraz link do rejestracji na meetup: ADF jest jedną z najpopularniejszych usług związanych z przetwarzaniem danych w chmurze. Mnogość opcji […]
Oct 17: Czy unikalność indeksów w SQL ma znaczenie?
Dziś o temacie, który w moim mniemaniu nie jest do końca znany chodzi mianowicie o tradycyjne indeksy zgrupowane, które nie są unikalne. W zdecydowanej większości przypadków indeksy klastrowane wiążą się z założeniem klucza głównego na tabeli (ang. Primary Key) lub chociażby ograniczenia unikalności (ang. Unique constraint). Czym zatem różnią się indeksy unikalne od nieunikalnych? Czy […]
Oct 12: 11 rzeczy których należy unikać przy pracy z Azure Data Factory
Azure Data Factory jest jednym z najczęściej wykorzystywanych serwisów związanych z danymi wewnątrz chmury Azure. Mimo swej popularności nadal istnieją elementy związane z ADF, które albo nie są w stu procentach zrozumiałe albo po prostu są wykorzystywane intuicyjnie na podstawie doświadczeń z innych narzędzi co nie zawsze skutkuje najlepszymi efektami. W ramach niniejszego artykułu postanowiłem […]
Sep 26: Co oznacza Allow Azure Services and resources to access this server w Azure SQL Database?
Jedną z pierwszych opcji Azure SQL Database na jaką natrafiają użytkownicy podczas tworzenia tego zasobu jest opcja Allow Azure Services and resources to access this server wraz z innymi ustawieniami sieciowymi związanymi z naszym serwerem. O ile przepuszczanie ruchu z określonego adresu lub zakresu adresów IP do naszego serwera jest dosyć intuicyjne i proste w […]
Sep 19: Uruchamianie notebooka Databricks z poziomu Azure Data Factory
Databricks posiada swoje własne możliwości orkiestracji procesów poprzez wywoływanie jednych notebooków z poziomu innych co możemy osiągnąć przy pomocy komendy %run lub dbutils.notebook.run. Często jednak zdarza się tak, że notebook jest jedynie częścią większego procesu i wtedy orkiestrację musimy przekazać do innego narzędzia takiego jak np. Azure Data Factory. Na szczęście oba narzędzia integrują się […]
Sep 12: 500 tysięcy odwiedzin bloga – Kilka słów o aktywnościach i szeroko pojętym community
Czas leci nieubłaganie, zdajemy sobie z tego sprawę bardzo często przy okazji wspomnień określonych zdarzeń z przeszłości. Nie inaczej było w moim przypadku, gdy zwróciłem uwagę na licznik odwiedzin na niniejszym blogu, który niedawno przekroczył 500 tysięcy wyświetleń. Liczba ta zrobiła na mnie niemałe wrażenie, w jednym momencie zdałem sobie sprawę, że mnóstwo osób celowo […]
Aug 29: Przechwytywanie zmian z Change Data Feed w Azure Databricks
Częstym problemem na jaki napotykamy przy pracach związanych z budową hurtowni danych jest fakt przechwytywania zmian zarówno z systemów źródłowych jak i z poszczególnych warstw wchodzących w skład naszej architektury systemu. Tego typu operacja jest w większości przypadków obligatoryjną częścią procesu ładowania ponieważ ładowanie za każdym razem całego zbioru danych jest albo nieefektywne albo wręcz […]
Aug 22: Pobieranie danych z Azure Active Directory przy pomocy Data Factory i Microsoft Graph
Bywają przypadki w których chcemy wyciągnąć dane z Active Directory. Może się to zdarzyć z wielu różnych powodów np. chcemy stworzyć zestawienie czy też raport na podstawie określonych danych lub zaimplementować coś takiego jak Dynamic Security w Power BI tzn. filtrować dane na podstawie tabeli security zawierającej użytkowników i ich przypisanie do konkretnej grupy. Tego […]
Aug 15: GREATEST oraz LEAST – nowe funkcje TSQL w Azure SQL i Synapse Serverless
Nie tak dawno temu w świecie TSQL pojawiły się dwie nowe funkcje, a mianowicie GREATEST oraz LEAST. Obie z nich są obecnie dostępne w Azure SQL Database, Managed Instance oraz w Synapse Serverless – dodatkowo dostaliśmy informację o tym, że będą one również dostępne w najnowszej wersji SQL Server. Czym te funkcje są i w […]
Aug 08: Odświeżanie Power BI Dataset z poziomu Azure Data Factory
Jak zapewne wiecie datasety w Power BI mogą być odświeżane przy pomocy wbudowanego w serwis Power BI harmonogramu. W zależności czy mówimy o Premium Capacity czy też może o Shared Capacity mamy do dyspozycji określoną liczbę odświeżeń na dobę. Sam harmonogram nie jest oczywiście jedyną opcją jeśli chodzi o odświeżenie, operację tą możemy również wykonać […]
Aug 01: Azure Data Factory – wywoływanie przepływów z wykorzystaniem triggerów
Azure Data Factory jest w moim odczuciu jednym z najpowszechniej wykorzystywanych serwisów w chmurze Azure. Niezwykłe możliwości skalowania i prostota konfiguracji pozwala ładować, transformować oraz orkiestrować różnego rodzaju przepływy danych nawet w skali Big Data. Na swoim blogu poświęciłem już kilka artykułów temu narzędziu (znajdziecie je tutaj) jednakże nie powiedziałem jeszcze w jaki sposób możemy […]
Jul 27: SQLDay 2021 – Synapse SQL Serverless jak to działa? Prezentacja
SQLDay 2021 już dawno za nami jednakże chciałbym udostępnić moją prezentację z tego wydarzenia o nazwie Synapse SQL Serverless – jak to działa? Zapraszam do zapoznania się z materiałami. Dla chcących nieco bardziej zgłębić wiedzę zawartą na prezentacji zapraszam do kilku nagrań, które udało mi się opublikować na Youtube (link). Pozdrawiam! SQLDay 2021 – […]
Jul 18: Skalowanie Azure SQL Database przy pomocy TSQL i REST API
Jedną z niezaprzeczalnych zalet bazy Azure SQL Database jak i wielu innych usług Platform As a Service wewnątrz chmury Azure jest to, że jesteśmy w stanie dostosować poziom wydajności do określonych wymagań naszych aplikacji czy też procesów. Skalowanie, bo o nim tutaj mowa może odbywać się całkowicie automatycznie bez naszej ingerencji lub też na żądanie […]
Jul 09: Azure Data Factory – Integracja z Azure Key Vault
Definiowanie połączeń do różnych źródeł danych jest nieodłącznym elementem pracy każdego kto zajmuje się systemami analitycznymi. Samo uwierzytelnienie do źródła może przebiegać na wiele różnych sposobów zależnych między innymi od typu źródła, zdefiniowanej polityki bezpieczeństwa itd. Bardzo ważnym aspektem jest to aby wszelkie dane wrażliwe przechowywać w bezpieczny sposób tak aby nie trafiły one w […]
Jul 02: Azure Data Factory – przechwytywanie błędów przy pomocy REST API
Azure Data Factory jest kluczowym serwisem pozwalającym tworzyć skalowalne przepływy danych. Nawet najlepiej zaplanowany przepływ musi mieć zaimplementowaną logikę na wypadek wystąpienia błędu, w tym również możliwość przechwycenia konkretnego komunikatu związanego z błędem. Implementacja takiego mechanizmu może zostać wykonana na kilka różnych sposobów – jednym z nich jest odpytanie serwisu z poziomu żądania REST API, […]
Jun 27: [Youtube] Synapse SQL Serverless – kolejne trzy odcinki!
Cześć, na wstępie kilka słów wytłumaczenia związanych z mniejszą ilością publikowanych materiałów na blogu. Jest to związane z wieloma czynnikami między innymi z tym, że zmieniliśmy hosting i mamy kilka problemów związanych z całym procesem jak chociażby brak certyfikatu SSL co zapewne większość z was zdążyła zauważyć. Jest to proces czasochłonny i zapewne jeszcze jakiś […]
Jun 27: Azure SQL Elastic Database Jobs – uniwersalny scheduler na miarę potrzeb
Chmura Azure charakteryzuje się tym, że oferuje nam mnóstwo różnych usług, które możemy wykorzystać w naszych projektach. Co ciekawe mając jakąś konkretną potrzebę mamy do dyspozycji kilka różnych narzędzi czy serwisów, które wykonają powierzone zadania. Oczywiście wybór konkretnego narzędzia nie zawsze jest prosty ponieważ opiera się on na wielu czynnikach jak chociażby budżet, sposób użycia […]
Jun 21: Azure SQL Elastic Query – Linked server w świecie chmury
Mimo licznych problemów Linked Server jest bardzo popularną funkcjonalnością w świecie SQL Server. Pozwala ona w prosty sposób połączyć się z jednego serwera bazodanowego do innego i używać SQLa do łączenia czy też przerzucania danych pomiędzy serwerami. Ze względu na fakt, iż chmura Azure już na dobre zadomowiła się w wielu przedsiębiorstwach, deweloperzy którzy upodobali […]
Jun 02: Ładowanie Azure Synapse przy pomocy COPY INTO
Jednym z najgorętszych tematów w świecie platformy danych Microsoft jest bez wątpienia Azure Synapse Analytics. Jest to usługa która wyewoluowała z Azure Datawarehouse i obecnie opiera się na kilku filarach gdzie z jednej strony mamy do czynienia z Dedicated SQL Pool czyli relacyjnym silnikiem SQL działającym w technologii MPP (Massive Parallel Processing), SQL Serverless gdzie […]
May 23: [Youtube] Synapse SQL Serverless Rozpoczecie Pracy
Cześć, chciałbym Was zaprosić do zapoznania się z najnowszym wideo dotyczącym Synapse SQL Serverless, które opublikowałem na Youtube. Wideo ma charakter wstępu do technologii jaką jest Azure Synapse Serverless i jest pierwszym wideo z serii poświęconej temu właśnie narzędziu. Mam nadzieję, że się ta forma przekazu przypadnie Wam do gustu.
Feb 01: Iterowanie przy pomocy ms_foreachtable i pętli WHILE
W naszej codziennej pracy z bazami danych bardzo często zdarza się sytuacja gdy musimy wykonać różnego rodzaju zadania związane ze sprawdzeniem większej ilości tabel. Na przykład chcemy sprawdzić ilość wierszy w tabelach co wymaga od nas napisania zapytania, które w jakiś sposób “przejrzy” większość bądź wszystkie tabele. Oczywiście możliwości rozwiązania takiego zadania jest naprawdę wiele: […]
Jan 17: Azure Data Factory – Lookup i Foreach
Wraz z nowym rokiem rozpoczynamy publikację nowych artykułów. Kolejnym tematem jaki chciałbym przedstawić są dwie bardzo ważne funkcjonalności związane z Azure Data Factory – chodzi mianowicie o aktywności Lookup oraz Foreach. Ci którzy nie znają ADFa polecam zapoznać się z poprzednimi artykułami na ten temat w celu wprowadzenia w tematyką: Azure Data Factory – Mapping […]
Dec 29: Nagrania naszych sesji z SQLDay 2019!
Rok 2020 zbliża się ku końcowi co wykorzystujemy do naładowania baterii przed zbliżającym się rokiem 2021. O planach na przyszły rok raczej nie będziemy informować ale możecie mi wierzyć na słowo, że mamy kilka ciekawych pomysłów które chcielibyśmy zrealizować zarówno na blogu jak i poza nim tak więc zachęcam do polubienia nas na Facebooku oraz […]
Nov 28: SQLDay 2020!
Rok 2020 dla każdego pod wieloma względami jest specyficzny. O tym, że pandemia pokrzyżowała plany nie tylko piszącym na tym blogu jak i organizatorom różnych konferencji mówić raczej nie muszę ponieważ jest to rzecz oczywista. Tym bardziej jest mi miło zaprosić Was na coroczną konferencję organizowaną przez stowarzyszenie Data Community o nazwie SQLDay, która tym […]
Nov 16: Azure Data Factory – Mapping Data Flow
Dziś kolejny wpis o Data Factory w którym powiemy sobie o tym jak wykorzystać komponent Mapping Data Flow, który pozwala za pomocą graficznego interfejsu użytkownika budować procesy ETL. Jeśli dla kogoś ADF to całkiem nowe narzędzie to przed przeczytaniem tego artykułu odsyłam do poprzednich dwóch, które miały charakter wprowadzający do narzędzia (link1, link2). Zachęcam również […]
Nov 11: Azure Data Factory – Activities i Copy Data Activity
Kontynuujemy nasz przygodę z Azure Data Factory. W ramach dzisiejszego artykułu powiemy sobie kilka słów o tym czym są tzw. Activities dostępne w ramach narzędzia i nieco bliżej przyjrzymy się jednemu z najważniejszych jakim bez wątpienia jest Copy Data Activity. Dla zainteresowanych tematyką ADF, którzy nie czytali poprzedniego artykułu (link) polecam się z nim zapoznać […]
Oct 25: Azure Data Factory – Copy Data Wizard
Technologie chmurowe to bez wątpienia temat niezwykle istotny dla każdego kto jest związany z branżą IT. Bez względu na to czy jesteś developerem, administratorem czy też managerem powinieneś być na bieżąco z najnowszymi trendami panującymi na rynku. W projekcie w który aktualnie jestem zaangażowany prym wiedzie polityka cloud first dlatego też coraz więcej produktów chmury […]
Sep 27: C_tech [LIVE] – spotkajmy się 30 września na Facebooku!
Jesteście zainteresowani nowymi technologiami i analizą danych? Mamy dobrą wiadomość! Już w najbliższym czasie tj. 30 września 2020 będziecie mogli posłuchać prelekcji w ramach trzeciej edycji C_tech czyli cyklu darmowych spotkań technologicznych organizowanych przez firmę Connectis. Z oczywistych względów wydarzenie odbędzie się online. Jedną z sesji poprowadzę ja i postaram się opowiedzieć kilka słów o […]
Sep 06: Deployment modeli tabelarycznych przy pomocy ALM Toolkit i BISM Normalizer
Deployment wszelkiej maści modeli tabelarycznych może przebiegać w przeróżny sposób. W przypadku modeli zbudowanych przy pomocy Power BI Desktop cały proces jest nieco uproszczony i sprowadza się do opublikowania raportu w określonym obszarze roboczym, a następnie opublikowaniu tzw. Power BI App. Oczywiście mieliśmy i ciągle mamy pewne możliwości automatyzacji poprzez wykorzystanie np. REST API lub […]
Aug 30: Deployment projektu bazodanowego SQL Server przy pomocy SQLPACKAGE.EXE
Kontynuujemy naszą przygodę z projektem bazodanowym Visual Studio. Dziś przyjrzymy się narzędziu sqlpackage.exe, które pozwoli nam na automatyzację deploymentu projektu na serwer docelowy, serdecznie zapraszam i z tego miejsca zachęcam do subskrypcji aby być na bieżąco z naszymi materiałami. Zanim przejdziemy do przedstawienia tego narzędzia to pokażmy w jaki sposób w ogóle go zdobyć. Jeśli […]
Aug 16: Build oraz Deployment modelu tabelarycznego Analysis Services
Nieodłącznym elementem pracy z modelami tabelarycznymi Analysis Services jest potrzeba ich wdrożenia na serwer docelowy. Kwestia ta dotyczy nie tylko standardowych modeli tego typu, ale również modeli Power BI opartych o tą samą technologię, które od jakiegoś już czasu mogą być budowane przy użyciu Visual Studio. Z tego też powodu postanowiłem napisać parę słów o […]
Aug 02: Power BI – pobieranie danych z wielu arkuszy Excela
Witam Was po krótkiej wakacyjnej przerwie, dziś wracamy do tematu Power BI i powiemy sobie jak w prosty sposób załadować dane z wielu arkuszy Excela – zapraszam do lektury. Jakiś czas temu pokazywałem prostą metodę ładowania wielu plików z określonej lokalizacji (link), dziś temat kontynuujemy i pokażemy jak sobie poradzić w sytuacji gdy musimy załadować […]
Jul 13: Power BI – ekstrakcja zapytań wysyłanych przez wizualizacje i Power Query
Power BI jako narzędzie raportowe opiera się na dwóch językach. Pierwszym z nich jest oczywiście język DAX służący do definiowania miar oraz obiektów kalkulowanych w tworzonym przez nas modelu. Drugim natomiast jest język M będący kluczowym elementem procesu ekstrakcji i transformacji danych w Power Query. Podczas gdy użytkownicy będą korzystać z raportów nasze modele mogą […]
Jun 22: Data Community – Online meeting #11
Mam przyjemność zaprosić Was na kolejną moją sesję w ramach Data Community 25.06.2020 o godzinie 18:00 , która tym razem odbędzie się online. Podczas tego wydarzenia będę opowiadał o transformowaniu danych w Power BI (i nie tylko) przy pomocy Power Query oraz języka M. Wydarzenie jest oczywiście całkowicie darmowe jednak prosimy o rejestrację: https://www.meetup.com/PLSSUG/events/271375354/ Abstrakt […]
Jun 21: Power BI Deployment Pipelines (preview) – nowy sposób na wdrażanie raportów
O tym, że procesy continuous integration oraz continuous deployment (CICD) stanowią coraz bardziej istotną i popularną metodę wdrażania rozwiązań informatycznych pomiędzy środowiskami deweloperskimi, a produkcyjnymi raczej nie trzeba mówić. Tego typu podejście nie tylko usprawnia sam proces wdrażania, ale również w połączeniu z różnego rodzaju testami automatycznymi pozwala w dużej mierze ograniczyć błędy występujące w […]
Jun 14: JOIN Elimination czyli kilka słów o upraszczaniu zapytań przez SQL Server
W ostatnim czasie dostałem dosyć ciekawe pytanie w którym jego autor zapytał mnie o przykład zapytania w którym SQL Server nie łączył ze sobą tabel mimo, że takie złączenie zostało wyspecyfikowane w treści zapytania. Oczywiście coś takiego może mieć miejsce i nosi nazwę JOIN Elimination i może wystąpić w specyficznych warunkach. O tym kiedy i […]
Jun 07: Kopiowanie plików na Azure Storage przy pomocy AzCopy
Jednym z podstawowych zadań z jakimi musimy się zmierzyć pracując z Azure jest umieszczenie przeróżnych plików w Azure BLOB Storage lub Azure Data Lake Storage Gen 2. Niezależnie od tego czy są to pliki kopii zapasowych, multimediów czy też pliki przeznaczone do analizy to musimy poznać metody i narzędzia służące do transferu tyche do Azure. […]
May 24: Referencje pomiędzy bazami w projekcie bazodanowym Visual Studio
W dzisiejszym artykule po krótkiej przerwie wracamy do tematyki projektu bazodanowego w Visual Studio. Dziś powiemy sobie kilka słów na temat referencji pomiędzy projektami bazodanowymi. Jeśli ktoś jest zainteresowany tym tematem polecam zapoznać się z innymi wpisami poświęconymi Visual Studio, które znajdziecie tutaj. Jak zapewne wielu z Was wie, często spotyka się rozwiązania oparte o […]
May 11: Pobieranie danych ze stron www do Power BI – odświeżanie na portalu
W poprzednim artykule (link) pobraliśmy sobie zestawienie filmów komediowych ze strony IMDB przy pomocy konektora Web, funkcjonalności Add table from examples oraz funkcji języka M. Wszystko działało zgodnie z oczekiwaniami jednakże problemy pojawiły się w momencie gdy wrzuciliśmy dane na portal gdzie przy próbie odświeżenia otrzymaliśmy niezbyt miło wyglądający komunikat błędu “Unable to refresh the […]
May 04: Pobieranie danych ze stron www do Power BI przy pomocy konektora Web
Jedną z niezwykle ciekawych funkcjonalności dostępnych w Power BI jest możliwość pobierania danych znajdujących się na stronach internetowych bez konieczności pisania dodatkowego kodu. Konektor Web który jest kluczowym elementem opisywanej funkcjonalności, pozwala w prosty sposób pobrać dane tego typu. W ramach niniejszego artykułu chciałbym napisać parę słów na ten temat i pokazać jak w prosty […]
Apr 20: Docker dla amatora danych – Tworzenie środowiska (VM) w Azure i VirtualBox (skrypt)
Kontynuując serię wpisów o Dockerze chciałbym podzielić się skryptem do tworzenia nowego środowiska pracy i/lub nauki. W dzisiejszym wpisie skrypt, który umożliwia stworzenie maszyny wirtualnej z Ubuntu, Dockerem, SSH oraz Samba zarówno na VirtualBox jak i w Azurze. Automatycznie. Kod nie do produkcyjnego zastosowania, ale do własnej nauki może być przydatny, Dlaczego i po co? […]
Apr 15: Porównywanie danych z narzędziem Data Comparison w Visual Studio
Jednym z zadań stojących przed wszelkiego rodzaju deweloperami czy też analitykami danych, którzy pracują z bazami danych SQL Server lub Azure SQL Database jest porównywanie danych. Porównywanie zbioru testowego ze zbiorem testowanym jest podstawową metodą sprawdzania poprawności i raczej nikomu nie trzeba tłumaczyć, że to zadanie możemy wykonać na mnóstwo różnych sposobów. Jednym z rozwiązań […]
Apr 06: Kilka słów o SQLCMD Mode w Visual Studio i Management Studio
SQLCMD jest narzędziem linii komend pozwalającym na połączenie do instancji SQL Server, wykonywanie na niej szeregu poleceń wzbogaconych o funkcjonalności wbudowane w to narzędzie. Zarówno w Management Studio jak i Visual Studio mamy możliwość wykonywania standardowych komend języka TSQL, które mogą być wzbogacone o komendy SQLCMD w ramach tego samego okna zapytań. Jest to bardzo […]
Mar 30: WSEI – Szkoła programowania moduł Business Intelligence
Jakiś czas temu pisałem o szkole programowania działającej przy Wyższej Szkole Ekonomii i Informatyki w Krakowie i module Business Intelligence który miałem okazję współtworzyć. Chciałbym serdecznie zaprosić do drugiego etapu tego przedsięwzięcia z którym startujemy już w kwietniu. Jest to w moim odczuciu dosyć fajny sposób do nauki technologii związanych z bazami danych, systemami analitycznymi […]
Mar 23: Skrypty Pre-deployment i Post-deployment w projekcie bazodanowym Visual Studio
Kontynuujemy naszą przygodę związaną z projektem bazodanowym w Visual Studio. W pierwszej części powiedzieliśmy sobie jak stworzyć projekt bazodanowy, dodawać do niego zmiany oraz publikować je na serwer docelowy. Dziś rozszerzymy nieco tę koncepcję i powiemy jak wykorzystać skrypty przedwdrożeniowe (Pre-deployment) oraz powdrożeniowe (Post-deployment) – zapraszam do lektury. Wspomniane we wstępie skrypty to nic innego […]
Mar 15: Tworzenie projektu bazodanowego SQL Server w Visual Studio
Dziś powiemy sobie w jaki sposób stworzyć projekt bazodanowy w Visual Studio. W obecnych czasach standardem stało się tworzenie rozwiązań bazodanowych w oparciu o SQL Server przy wykorzystaniu Visual Studio i dodatku Data Tools. Narzędzie to w połączeniu z systemami kontroli wersji takimi jak GIT daje nam nie tylko stabilne ale również efektywne środowisko pracy. […]
Mar 07: Wizualizacja danych administracyjnych Polski z wykorzystaniem Power BI Shape Map
Na 102 spotkaniu grupy Data Community w Krakowie miałem przyjemność wysłuchać sesji Jacka Nosala o mapach w Power BI. Jacek pokazał kilka problemów związanych z obsługą nazw geograficznych przez mapy Binga dostępne w standardowej formatce wbudowanej w Power BI. Zainspirowało mnie to do napisania niniejszego artykułu i przetestowania nieco zapomnianego komponentu którym jest Shape Map […]
Feb 17: Data Community Kraków #102 oraz Data Community Katowice #93 – Odświeżanie danych w Power BI
Serdecznie zapraszam wszystkich zainteresowanych tematyką Power BI na moją prelekcję zatytułowaną Odświeżanie danych w Power BI która odbędzie się w Krakowie ramach 102 spotkania Data Community Kraków już 26 lutego o 17:30. Oprócz mnie sesję o tytule Power BI a Mapa Polski powiatowej poprowadzi Jacek Nosal. Więcej szczegółów znajdziecie pod poniższym linkiem gdzie jeśli chcielibyście […]
Feb 10: Wczytywanie plików płaskich z BLOB Storage do SQL przy wykorzystaniu OPENROWSET
Ładowanie danych z określonych lokalizacji do bazy danych jest procesem stosunkowo prostym i możliwym do wykonania na niezliczoną liczbę sposobów. Możemy tego dokonać zarówno programistycznie jak i z poziomu gotowych narzędzi dedykowanych do tego typu operacji jak np. Integration Services czy Data Factory. Dziś chciałbym pokazać jak załadować dane z Azure BLOB Storage do bazy […]
Feb 05: Power-up your BI project with PowerApps – materiały
Materiały do prezentacji “Power-up your BI project with PowerApps” dostępne są już na GitHub (github.com/sdrzymala/power-up-your-bi-project-with-powerapps-demos). Zapraszam do zapoznania się zarówno z samą prezentacją jak i kodem źródłowym. W materiałach znajduje się wszystko co powinno umożliwić uruchomienie aplikacji, które były pokazane podczas prezentacji oraz odtworzenie całego środowiska potrzebnego do ich działania. W repozytorium znajdują się: Prezentacja, […]
Feb 03: Power BI – wszystko co powinieneś wiedzieć o Incremental Refresh
Jedną z możliwości odświeżania danych w Power BI jest tzw. Incremental Refresh czyli odświeżanie przyrostowe. Funkcjonalność ta obecnie jest dostępna jedynie dla użytkowników Power BI Premium i polega na tym, że w przeciwieństwie do standardowych metod opiera się na tym, że odświeżane będą tylko dane, które albo się zmieniły albo pochodzą z wybranego okresu czasu. […]
Jan 27: Power Platform Saturday 2020 – podsumowanie
Minął 25 stycznia przyszedł zatem czas na podsumowanie konferencji Power Platform Saturday w Warszawie. Dla tych którzy nie wiedzą była to konferencja poświęcona Microsoft Power Platform czyli narzędziom takim jak Power BI, Power Automate, Power Apps oraz Power Virtual Agents. Z funkcjonalnego punktu widzenia zakres tematyczny pokrywał zainteresowania specjalistów z wielu dziedzin. Dlatego też organizacją […]
Jan 19: Detekcja zmian w SQL SERVER przy pomocy funkcji haszującej HASHBYTES
Ładowanie większej ilości danych na potrzeby hurtowni danych lub innego repozytorium danych jest czynnością powszechną i stanowi swego rodzaju standard. Tworząc procesy ładujące zazwyczaj powinniśmy starać się robić to w sposób przyrostowy czyli wybierać ze źródeł tylko te dane, które się zmieniły od ostatniego ładowania. Aby coś takiego osiągnąć pomocny może być szereg dodatkowych mechanizmów […]
Jan 13: Konferencja Power Platform Saturday Warsaw
Miło nam oznajmić, że już 25 stycznia w Warszawie w siedzibie Microsoft Polska mieszczącej się przy al. Jerozolimskich 195A odbędzie się konferencja Power Platform Saturday! Jak sama nazwa wskazuje, będzie możliwość posłuchania o tzw. Power Platform czyli zestawie technologii skupiających się na Power BI, Power Apps, Power Automate oraz Power Virtual Agent. Wydarzenie organizowane jest […]
Jan 06: Czym jest i jak działa XMLA Endpoint w Power BI?
Jakiś czas temu (marzec 2019) Microsoft ogłosił, że użytkownicy Power BI Premium będą mogli wykorzystywać XMLA Endpoint. Co to jest XMLA Endpoint, jak działa i do czego możemy ten mechanizm wykorzystać? O tym i o kilku dodatkowych rzeczach chciałbym opowiedzieć w ramach niniejszego artykułu do lektury którego serdecznie zapraszam. Na wstępie powiedzmy sobie czym jest […]
Dec 30: SQL Server – Resumable Online Index Rebuild & Creation
Utrzymanie bazy danych to ciągły proces który wymaga odpowiedniego zaplanowania. Zazwyczaj wygląda to tak, że administratorzy baz danych czy też ktokolwiek kto zajmuje się bazą ma odpowiednie okno czasowe gdzie jest możliwe wykonanie określonych operacji. Jedną z takich operacji jest przebudowa indeksów, która defragemtnuje indeksy. Operacja ta była o tyle problematyczna, że często zajmowała dużo […]
Dec 23: SQL Server 2019 – Intelligent Query Processing – Table Variable Deferred Compilation
Trzeci artykuł z serii poświęconej SQL Server 2019 i jego rodziny usprawnień znany jako Intelligent Query Processing. Dziś powiemy sobie o funkcjonalności znanej jako Table Variable Deferred Compilation czyli tłumacząc na nasz ojczysty język Opóźniona kompilacja zmiennych tabelarycznych – zapraszam do lektury. Problemów ze zmiennymi tabelarycznymi raczej nie trzeba przedstawiać ale w skrócie powiem, że […]
Dec 16: SQL Server 2019 – Intelligent Query Processing – Batch Mode on Rowstore
W dzisiejszym artykule kontynuujemy testy związane z Intelligent Query Processing – ostatnio udało się opisać testy związane ze Scalar Function Inlining dziś natomiast powiemy sobie parę słów o równie ciekawym mechanizmie jakim bez wątpienia jest Batch Mode on Rowstore. Zanim przejdziemy do demonstracji kilka faktów wprowadzających w omawianą funkcjonalność. Batch mode to nic innego jak […]
Dec 09: INSERT WHERE NOT EXISTS i minimalne logowanie
W ostatnim okresie w projekcie który aktualnie realizuję natrafiłem na dosyć ciekawy i specyficzny przypadek. Wiązał się on z procedurą napisaną w TSQL, która ładowała nowe rekordy do tabeli docelowej. Co w tym takiego ciekawego? A no to, że zachowywała się ona w dosyć nieprzewidywalny sposób i razem z kolegą (pozdrawiam Krzysiek!) próbowaliśmy rozszyfrować to […]
Dec 04: Microsoft 365 User Group Poland Kraków #3 – Transformowanie danych przy pomocy Power Query i języka M
Rok 2019 powoli zbliża się ku końcowi, a ja serdecznie chciałbym Was zaprosić na spotkanie grupy Microsoft 365 User Group Kraków gdzie będę miał przyjemność przedstawić sesję zatytułowaną Transformowanie danych przy pomocy Power Query i języka M. Opis: Power Query jako technologia przeznaczona do budowania procesów ekstrakcji i przetwarzania danych na stale zagościła w stosie […]
Nov 30: SQL Server 2019 – Intelligent Query Processing – Scalar Function Inlining
Premiera SQL Server 2019 za nami, a wraz z nią pojawił się cały szereg nowych funkcjonalności. Jedną z nich jest rozszerzenie koncepcji Adaptive Query Processing czyli zestawu technologii, które umożliwiają dostosowanie sposobu wykonania zapytania podczas jego wykonania. Obecnie cała rodzina tych technologii nazywana jest Intelligent Query Processing, a jej schemat poglądowy możecie zobaczyć na poniższej […]
Nov 18: Docker dla “amatora” danych – kod źródłowy do prezentacji
Bardzo miło mi poinformować, ze demo do prezentacji “Docker dla amatora danych” jest już dostępne na GitHub. Linki do repozytorium jak i do przykładowych wyników działania aplikacji dostępne są poniżej. Dla osób, które nie miały okazji (jeszcze) obejrzeć prezentacji chciałbym krótko wytłumaczyć ideę aplikacji, która posłużyła jako przykład. Głównym problemem jaki stara się ta aplikacja […]
Nov 13: Data Community Katowice #92 – Docker dla amatora danych
Zapraszam wszystkich bardzo serdecznie na kolejne spotkanie Data Community Katowice na którym będę mieć przyjemność poprowadzić jedną z sesji. Ja będę opowiadał o Dockerze, natomiast Tomasz Krawczyk poprowadzi sesję o Azure Data Lake. Podczas mojej prezentacji opowiem czego nauczyłem się przez już niemalże dwa lata poznawania Dockera oraz w jaki sposób z niego korzystam i […]
Nov 10: Power BI – OneDrive refresh czyli sposób na odświeżanie i synchronizację raportów
Dane w Power BI mogą być odświeżone na kilka sposobów. Najpopularniejszym z nich jest bez wątpienia odświeżenie na podstawie harmonogramu (lub na żądanie) danych zaimportowanych do pliku Power BI opublikowanego w serwisie powerbi.com. W przypadku gdy łączymy się bezpośrednio do modelu Analysis Services (Live Connnection) lub do bazy danych (Direct Query) odświeżanie jako takie nie […]
Oct 28: DAX – Calculation groups
Jedną z nowości jakie w ostatnim czasie pojawiły się w języku DAX są tzw. Calculation Groups. Na ten moment możemy je zobaczyć w Analysis Services 2019 ale z całą pewnością można powiedzieć, że coś podobnego prędzej czy później pojawi się również w Power BI i Azure Analysis Services. Czym są Calculation Groups, jakie nowe konstrukcje […]
Oct 16: Power BI – eksport raportów z portalu przy pomocy Powershell
W ramach dzisiejszego wpisu powiemy sobie jak w prosty sposób wyeksportować na dysk wszystkie raporty opublikowane na powerbi.com za pomocą skryptu Powershell. Zapraszam do lektury! Może się zdarzyć sytuacja, że będziemy chcieli wyeksportować raport lub raporty z powerbi.com. O tym jak to zrobić raczej nie trzeba mówić, wystarczy zalogować się do serwisu i tam w […]
Oct 07: Power BI – Measure groups i foldery
Część z Was z całą pewnością pracowała z kostkami wielowymiarowymi Analysis Services. Mimo, że w dzisiejszych czasach nieco większą popularnością cieszą się modele tabelaryczne to część funkcjonalności kostek nadal jest czymś co dobrze byłoby widzieć chociażby w Power BI. Jedną z takich funkcjonalności są tzw. grupy miar które pomijając całkowicie aspekt techniczny dawały swoistego rodzaju […]
Sep 22: Streaming danych z Power Apps do Power BI przy pomocy Microsoft Flow
Nie tak dawno pisałem o Streamingu danych do Power BI z poziomu skryptu Powershell. Oczywiście to nie jest jedyna słuszna droga postępowania, możemy wykorzystać nie tylko kod napisany w takim albo innym języku ale również gotowe komponenty takie jak Microsoft Flow oraz Power Apps. Tak więc zapraszam was do lektury artykułu w którym opiszę jak […]
Sep 09: Power BI + Power Apps – wprowadzanie danych na raporcie
To o czym często się zapomina to fakt, że Power BI oprócz tego, że sam w sobie jest dosyć rozbudowaną platformą to również jest częścią jeszcze większej architektury zwanej Power Platform. Ten twór z kolei składa się z trzech podstawowych elementów, a mianowicie: Power BI, Power Apps, Microfosft Flow. Jak powszechnie wiadomo komponenty te są […]
Sep 02: Azure Data Studio – tworzenie własnych Notebooków
Kontynuujemy nasz serię o Azure Data Studio – tym razem powiemy sobie parę słów o tym jak stworzyć swój własny interaktywny notebook – zapraszam do lektury. Pozostałe części niniejszej mini-serii znajdziecie pod poniższymi linkami: Azure Data Studio – wstęp i pisanie zapytań w TSQL Azure Data Studio – Widgety i własny Dashboard Na samym wstępie […]
Aug 29: SQL Saturday #914 Toruń
Zbliża się wrzesień, a wraz z nim kolejna, druga w tym roku polska edycja SQL Saturday. Wydarzenie to będzie miało miejsce w Toruniu i odbędzie się 28 września na Uniwersytecie Mikołaja Kopernika przy ul. Chopina 12/18. Myślę, że wiele osób wie lub chociaż kojarzy czym jest to wydarzenie ale dla jasności przypomnę, że SQL Saturday […]
Aug 19: Power BI – Performance Analyzer
Wydajność rozwiązań analitycznych w szczególności opartych o Power BI bardzo często jest czynnikiem decydującym o akceptacji raportu bądź jej braku. Tuning wydajnościowy jest o tyle trudny, że mierzenie wydajności poszczególnych składników jest zadaniem nietrywialnym i często wiąże się z dosyć złożonym procesem, którego znajomość nie jest powszechna. Na szczęście od jakiegoś czasu mamy do dyspozycji […]
Aug 12: Docker dla “amatora” danych – cz. 3 Dostęp z kontenera do plików na przykładzie skryptu Python
Wstęp Kontenery to temat na pewno nie nowy, natomiast w ostatnich latach bijący chyba rekordy popularności. Podczas tej rosnącej fali ja również postanowiłem sprawdzić, z czym to się je i w czym Docker może pomóc mi. W niniejszym serii postów chciałbym podzielić się z własnymi doświadczeniami, notatkami, fragmentami kodów oraz pokazać, w jaki sposób można […]
Aug 05: Power BI Desktop – eksport modelu do csv przy pomocy Powershell
Prowadząc różnego rodzaju szkolenia i treningi często słyszę pytanie o to czy jest możliwość eksportu danych z Power BI Desktop do Excela lub plików csv. Dotyczy to zarówno danych zaimportowanych z różnych źródeł jak i tych wprowadzonych bezpośrednio poprzez “Enter Data”. Jak dobrze wiemy natywnie coś takiego możemy osiągnąć poprzez zbudowanie tabeli na warstwie wizualizacji […]
Jul 29: Docker dla “amatora” danych – cz. 2 Przekazywanie parametrów do kontenera na przykładzie skryptu Python
Wstęp Kontenery to temat na pewno nie nowy, natomiast w ostatnich latach bijący chyba rekordy popularności. Podczas tej rosnącej fali ja również postanowiłem sprawdzić, z czym to się je i w czym Docker może pomóc mi. W niniejszym serii postów chciałbym podzielić się z własnymi doświadczeniami, notatkami, fragmentami kodów oraz pokazać, w jaki sposób można […]
Jul 22: Docker dla “amatora” danych – cz. 1 Dockerfile i build na przykładzie skryptu Python
Wstęp Kontenery to temat na pewno nie nowy, natomiast w ostatnich latach bijący chyba rekordy popularności. Podczas tej rosnącej fali ja również postanowiłem sprawdzić, z czym to się je i w czym Docker może pomóc mi. W niniejszym serii postów chciałbym podzielić się z własnymi doświadczeniami, notatkami, fragmentami kodów oraz pokazać, w jaki sposób można […]
Jul 15: Docker dla “amatora” danych – cz. 0 Wprowadzenie
Wstęp Kontenery to temat na pewno nie nowy, natomiast w ostatnich latach bijący chyba rekordy popularności. Podczas tej rosnącej fali ja również postanowiłem sprawdzić, z czym to się je i w czym Docker może pomóc mi. W niniejszym serii postów chciałbym podzielić się z własnymi doświadczeniami, notatkami, fragmentami kodów oraz pokazać, w jaki sposób można […]
Jun 27: SQL Server – minimalne logowanie
Na to czy nasze rozwiązanie jest dostatecznie wydajne ma wpływ bardzo dużo różnych czynników. W przypadku procesów ładujących ETL czy też ELT jednym z kluczowych aspektów na jakie trzeba zwrócić uwagę jest minimalne logowanie. Co to jest i jak należy to testować? Postaram się to wytłumaczyć w ramach niniejszego artykułu – serdecznie zapraszam. Jak wszyscy […]
Jun 25: Data Community Kraków #97 – Performance Tuning dla specjalistów Business Intelligence
Serdecznie zapraszam wszystkich zainteresowanych tematyką SQL Server na moją prelekcję zatytułowaną Performance Tuning dla specjalistów Business Intelligence która odbędzie się w ramach 97 spotkania Data Community Kraków już 26 czerwca o 18:00. Celem sesji jest pokazanie możliwości tuningu: W świecie Business Intelligence i hurtowni danych wydajność jest niezwykle ważnym aspektem. Skończony czas potrzebny na dokonanie wszelkiego rodzaju transformacji […]
Jun 17: SQL Server -indeks kolumnowy + partycjonowanie
W świecie hurtowni danych niezwykle istotnym czynnikiem jest wydajność zarówno wstawiania danych jak i ich odczytu. W SQL Server 2012 wprowadził niezwykle istotną konstrukcję, która pomaga nam osiągnąć złoty środek jeśli chodzi o INSERT jak i SELECT jaką jest bez wątpienia indeks kolumnowy czyli COLUMNSTORE. Jeszcze wcześniej wprowadzona w naszym ulubionym silniku bazodanowym została technologia […]
Jun 05: Data Community Katowice #84 – Performance Tuning dla specjalistów Business Intelligence
Serdecznie zapraszam wszystkich zainteresowanych tematyką SQL Server na moją prelekcję zatytułowaną Performance Tuning dla specjalistów Business Intelligence która odbędzie się w ramach 84 spotkania Data Community Katowice już 06 czerwca o 18:00. Celem sesji jest pokazanie możliwości tuningu: W świecie Business Intelligence i hurtowni danych wydajność jest niezwykle ważnym aspektem. Skończony czas potrzebny na dokonanie wszelkiego rodzaju transformacji […]
Jun 02: SQL Server – parę słów o TABLOCK
Dziś nieco zmienimy tematykę i chwilowo zostawiamy Azure Data Studio, ale nie ma czym się martwić bo powiemy sobie o niezwykle interesującej wskazówce jaką jest TABLOCK. Użycie tego konkretnego hinta jest powszechne jednakże w tak zwanym międzyczasie narosło na jego temat kilka mitów. Ponadto wiedza na ten temat nie jest zbyt powszechna dlatego też postanowiłem […]
May 23: SQLDay 2019 – Web scraping praktycznie
Środek maja już od wielu lat kojarzy mi się przede wszystkim z konferencją SQL Day. Podczas tegorocznej edycji – SQLDay 2019 – miałem okazję poprowadzić sesję zatytułowaną “Web scraping praktycznie“. Podczas prezentacji największy nacisk starałem się postawić na aspekt praktyczny oraz dużą ilość demonstacji. Głównym przykładem był skrypt do parsowania jednej z najpopularniejszych stron plotkarskich […]
May 17: SQLDay 2019 – Performance Tuning dla specjalistów Business Intelligence
Kolejna edycja SQLDay za nami. Miałem wielką przyjemność być częścią tego wydarzenia i z tego miejsca chciałbym podziękować organizatorom za zaproszenie. Moja sesja zatytułowana “Performance Tuning dla specjalistów Business Intelligence” zgromadziła naprawdę mnóstwo ludzi na sali co jest dla mnie dowodem na to, że tematyka ta nadal budzi zainteresowanie i jest na nią zapotrzebowanie. Mam […]
May 06: Azure Data Studio – Widgety i własny Dashboard
Po pierwszym artykule wprowadzającym nas w tematykę kontynuujemy poznawanie nowego narzędzia jakim jest Azure Data Studio. Dziś powiemy sobie w jaki sposób działają Dashboardy oraz dodamy do nich swoje własne elementy, zaczynajmy! Dashboard w zamierzeniu ma być miejscem gdzie zaglądamy zaraz po włączeniu narzędzia. To właśnie w tym miejscu możemy zobaczyć podstawowe informacje na temat […]
Apr 28: SQLDay 2019!
Jak co roku na wiosnę wielkimi krokami zbliża się największa konferencja związana z platformą danych Microsoft w tej części Europy czyli SQLDay. Tegoroczna edycja odbędzie się od 13 do 15 maja w tej samej lokalizacji co w poprzednich latach czyli w Hali Stulecia we Wrocławiu. Tematyka tego wydarzenia jest szeroko znana i pokrywa się z […]
Apr 23: Azure Data Studio – wstęp i pisanie zapytań w TSQL
Azure Data Studio zwane wcześniej SQL Operations Studio jest narzędziem zdobywającym coraz większą popularność. W zamierzeniu jest ono alternatywą dla popularnego Management Studio, które w niektórych scenariuszach może zostać zastąpione, a w niektórych (o czym warto pamiętać) niekoniecznie. Postanowiłem zatem stworzyć krótką serię tutoriali na ten temat, która mam nadzieję, że okaże się przydatna nie […]
Apr 14: Trzy sposoby na eksport obrazów z SQL Server
Dziś powiemy sobie nieco o tym jak eksportować obiekty takie jak zdjęcia czy też ogólnie pojęte obiekty BLOB przechowywane w bazie danych do rzeczywistych fizycznych plików. Do tego celu wykorzystamy trzy różne techniki w postaci narzędzia bcp, skryptów OLE DB Automation oraz pakietów Integration Services. W tym miejscu chciałbym zaznaczyć, iż nie będziemy teorii ani […]
Apr 04: Adaptive Query Processing – Memory Grant Feedback
Kontynuujemy naszą małą serię związaną z Adaptive Query Processing czyli elastycznym dostosowaniu zapytania w trakcie jego wykonania. Do tej pory udało mi się opisać dwa mechanizmy wchodzące w skład AQP i były to Interleaved Execution oraz Adaptive Join, dziś opowiemy sobie o kolejnym, który został wprowadzony w SQL Server 2017 i ulepszony w wersji SQL […]
Mar 17: Adaptive Query Processing – Adaptive Join
Jakiś czas temu pisałem już o tym, że SQL Server 2017 wprowadził (a raczej zapoczątkował) sporo zmian jeśli chodzi o wykonywanie zapytań z wydajnościowego punktu widzenia. Chodzi mianowicie o rodzinę mechanizmów nazwanych Adaptive Query Processing. Pod tą nazwą kryją się możliwości dostosowania planu zapytania w zależności od okoliczności podczas wykonywania zapytania. Technologia ta z produkcyjnego […]
Mar 11: Trellis/Small Multiples w Power BI
W ramach dzisiejszego artykułu chciałbym pokazać Wam w jaki sposób możemy osiągnąć efekt w postaci wizualizacji typu Trellis zwanego również Small multiples w Power BI. Wizualizacja ta nie jest wprost dostępna jako dedykowany visual jednakże mamy pewne możliwości pozwalające nam stworzyć tą niezwykle użyteczną graficzną reprezentację danych, zapraszam serdecznie do lektury. Na wstępie chciałbym powiedzieć […]
Mar 05: Power-up your BI project with PowerApps – materiały z prezentacji
Początkiem lutego miałem przyjemność prowadzić sesję na temat technologi Microsoft PowerApps podczas konferencji SQL Saturday Kraków (sqlsaturday.com/824). Sesja poświęcona była przede wszystkim jej wykorzystaniu w projektach typu Business Intelligence, a oprócz zalet i możliwości starałem się również przedstawić wady i problemy na które napotkałem w ostatnim roku pracy z tą technologią. Miło mi poinformować, że […]
Feb 25: Power Query Source w Integration Services
W ostatnich dniach pojawiła się świetna wiadomość! Chodzi mianowicie o fakt integracji języka M aka Power Query z Integration Services! Jest to o tyle istotna informacja, że postanowiłem przetestować samą funkcjonalność i przedstawić ją na blogu, dlatego też z tego miejsca zapraszam Was do lektury niniejszego artykułu. Na wstępie kilka faktów na temat samej funkcjonalności. […]
Feb 18: Power BI – formatowanie warunkowe oraz ranking z funkcją UNICHAR
Jedną z najważniejszych funkcjonalności związanych z raportowaniem w ogóle jest formatowanie warunkowe. Wyświetlanie odpowiednich kolorów czy też znaków w zależności od stanu określonej miary lub kolumny pojawia się w wymaganiach biznesowych niezwykle często ze względu na łatwość użycia i interpretacji. Nie inaczej jest również w przypadku naszego ulubionego narzędzia raportowego jakim jest Power BI, gdzie […]
Feb 04: Power BI – Current Selection Box
W dzisiejszym artykule chciałbym powiedzieć Wam parę słów na temat tego w jaki sposób zbudować Current Selection Box czyli miejsce gdzie będą wyświetlane nasze bieżące selekcje. Serdecznie zapraszam do lektury. Seleciton Box jest znanym tworem szczególnie w narzędziach takich jak np. QlikView gdzie funkcjonalność ta jest dostępna natywnie. W Power BI nie mamy takiej wizualizacji […]
Jan 28: Power BI – dynamiczna zmiana osi z DAX i M
Jakiś czas temu napisałem artykuł gdzie tłumaczyłem w jaki sposób stworzyć dynamiczną zamianę osi z wykorzystaniem Bookmarków (artykuł znajduje się tutaj). Dziś chciałbym nieco rozszerzyć ten temat i pokazać Wam jak osiągnąć pożądany efekt w prosty sposób przy użyciu języka DAX i transformacji języka M, serdecznie zapraszam do lektury. Korzystając z AdventureWorksDW przypuśćmy, że chcemy […]
Jan 20: SQL Saturday #824 – Kraków
Niezmiernie miło nam poinformować, że będziemy mieli okazję wystąpić ze swoimi sesjami na najbliższym SQL Saturday, który odbędzie się już 9 lutego w Qubus Hotel Kraków, ul. Nadwiślańska 6, Kraków! Dla niewtajemniczonych SQL Saturday to seria wydarzeń poświęconych platformie danych Microsoft, które odbywają się cyklicznie na całym świecie pod egidą Professional Association of SQL Server […]
Jan 15: Power BI – modyfikacja relacji z funkcją CROSSFILTER
Bardzo często filtracja krzyżowa jest tym czego oczekujemy od nowoczesnego narzędzia przeznaczonego do budowy modelu analitycznego. W Power BI i ogólnie rzecz biorąc w modelu tabelarycznym opcja ta była dostępna już od dawna pod postacią różnych technik jak na przykład specjalnego kodu DAX lub jako np. ustawienie kierunku relacji. Jedną z najbardziej pożytecznych funkcji pomocnych […]
Jan 08: Power BI – czy Assume referential integrity w Direct Query ma znaczenie?
Power BI posiada kilka trybów działania takich jak Import, Direct Query, Live Connection czy też Dual. Każdy z nich charakteryzuje się innymi cechami czy też ograniczeniami i przy wyborze należy przeanalizować wszystkie za, przeciw i wybrać ten tryb, który najlepiej sprawdzi się w naszym przypadku. Dziś powiemy sobie trochę o trybie Direct Query czyli sytuacji […]
Jan 02: Power BI DAX – Detekcja poziomu hierarchii z ISINSCOPE
DAX ciągle się rozwija co do tego nie ma wątpliwości. Na moment pisania niniejszego artykułu najnowszym ucieleśnieniem tych słów jest ISINSCOPE. Funkcja ta została dodana do Power BI w aktualizacji November 2018 i wprowadza niemałą rewolucję. Ci którzy pracowali lub nadal pracują z kostkami analitycznymi i językiem MDX z całą pewnością kojarzą funkcję SCOPE i […]
Dec 29: Power BI DAX – Agregowanie zagregowanych danych
DAX jest naprawdę potężnym językiem. Mimo początkowo złudnego przekonania, że jest on trywialny po pewnym czasie ukazuje swoje prawdziwe oblicze na podstawie którego możemy dojść do wniosku, że bardziej wyrafinowane kalkulacje wymagają czasu i wielu testów. Budując liczne kalkulacje spędziłem sporo czasu próbując wypracować pewne wzorce, które mógłbym używać w określonych sytuacjach. Jednym z takich […]
Dec 08: Data Community Kraków #84 – Wykorzystanie mechanizmów In-memory w SQL Server
Serdecznie zapraszam wszystkich zainteresowanych tematyką SQL Server na moją prelekcję zatytułowaną Wykorzystanie In-memory w SQL Server która odbędzie się w ramach 84 spotkania Data Community Kraków już 12 grudnia o 17:30. Celem sesji jest pokazanie możliwości In-memory OLTP oraz Columnstore Indexes: Wykorzystanie mechanizmów In-memory w SQL Server – Z każdym dniem danych, które trzeba analizować […]
Dec 04: Power BI – DAX KEEPFILTERS vs FILTER
Niektórzy specjaliści mówią, że język DAX jest kluczem do sukcesu raportów w Power BI. Z całą pewnością się zgadzam z tym stwierdzeniem ponieważ nawet jak mamy najlepszy i najbardziej dopracowany model to bez odpowiedniej implementacji miar trudno osiągnąć jakikolwiek sukces. O tym, że funkcja CALCULATE ze względu na swój charakter nadpisujący kontekst filtra jest najpotężniejsza funkcją […]
Nov 27: WSEI – Szkoła programowania moduł Business Intelligence
Coraz bardziej zmieniający się świat i coraz większa konkurencja w świecie biznesu zwiększa wartość umiejętności związanych z analizą danych. W świecie IT analiza danych jest reprezentowana m.in. przez różnego rodzaju systemy przetwarzania danych takie jak tradycyjne bazy relacyjne czy też bazy umożliwiające przetwarzanie kolumnowe. Bardzo ważnym ogniwem są również narzędzia skupiające się na wizualizowaniu danych […]
Nov 14: Power BI – analiza What-If
Power BI wyposażony jest w mechanizm parametrów o którym miałem już okazję pisać w ramach niniejszego bloga. Parametry te związane są raczej z fazą ładowania danych niż z ich kalkulacją/wyświetleniem na raporcie. Jednakże część z Was zapewne zauważyła na wstążce Power BI Desktop przycisk “New Parameter” w sekcji What If. Do czego to służy i […]
Nov 10: Power BI – Data profiling oraz Fuzzy Matching
Do tej pory jeśli ktoś mówił o takich jak funkcjonalnościach jak Data Profiling czy Fuzzy Matching w stosunku do narzędzi ze stosu technologicznego platformy danych Microsoft, zapewne miał na myśli wchodzące w skład SQL Server oprogramowanie Integration Services. Sytuacja ta zmienia się wraz z ostatnią (październik 2018) aktualizacją Power BI gdzie obie funkcjonalności zostały dodane […]
Oct 15: Power BI – streaming danych z Powershell
Dziś wracamy do tematu Power BI i powiemy sobie parę słów o przesyłaniu danych w czasie rzeczywistym tworząc tak zwany stream dataset. Zapraszam serdecznie do lektury! Power BI wyposażony jest w kilka scenariuszy przesyłu danych do usługi inicjowanych od strony aplikacji klienckiej takich jak: Push dataset Streaming dataset PubNub streaming dataset W ramach niniejszego artykułu […]
Oct 11: Wykorzystanie mechanizmów In-memory w SQL Server – BI Connected
Pierwsza edycja konferencji BI Connected za nami! Miałem okazję być częścią tego wydarzenia i z tego miejsca chciałbym podziękować organizatorom za zaproszenie. Mimo debiutu organizatorzy spisali się bardzo dobrze, a różnorodność tematów przyciągnęła rzesze ludzi żądnych wiedzy. Można było usłyszeć o Qlik Sense, Data Vault czy moich ulubionych technologiach Microsoftowych. Moja sesja zatytułowana “Wykorzystanie mechanizmów […]
Oct 04: C_tech #3 In-memory w SQL Server / Web scraping praktycznie
Jesteście zainteresowani nowymi technologiami i analizą danych? Mamy dobrą wiadomość! Już w najbliższym czasie tj. 18 października 2018 w Katowicach będziecie mogli posłuchać prelekcji w ramach trzeciej edycji C_tech czyli cyklu spotkań technologicznych organizowanych przez firmę Connectis. Jedną z sesji poprowadzę ja i postaram się opowiedzieć kilka słów o Wykorzystanie mechanizmów In-memory w SQL Server. […]
Oct 01: Porównywanie struktury i wykrywanie zmian pomiędzy bazami danych
Wprowadzenie Porównywanie struktury i wykrywanie zmian pomiędzy bazami danych wydaje się problemem dość powszechnym. Motywacja może być skrajnie różna, ale jako przykład można podać: Sprawdzanie zmian pomiędzy projektem bazy danych oraz samą bazą danych przed jej aktualizacjom Sprawdzenie zmian pomiędzy dwiema różnymi bazami danych Sprawdzanie aktualnej struktury bazy danych z projektem w celu wykrycia manualnych […]
Sep 27: In-memory OLTP – Memory Optimized Table Variables
Użycie zmiennych tabelarycznych i tabel tymczasowych w SQL Server jest niezwykle popularne. Ludzie na co dzień pracujący z kodem czy to TSQL czy też innym językiem dedykowanym do wytwarzania oprogramowania przywykli do konceptu zmiennej. Obiekt tego typu oprócz przechowywania danych skalarnych pozwala również zachować rezultat w postaci tabeli. W SQL Server tabelaryczna forma zmiennych okryta […]
Sep 17: Power BI – Aggregations
Do tej pory jeśli ktoś mówił o agregacjach w kontekście narzędzi Business Intelligence spod znaku Microsoft to zapewne miał na myśli prekalkulowane wartości w kostkach wielowymiarowych w Analysis Services Mutlidimensional lub specjalne tabele w hurtowni wypełniane agregatami podczas ETL, ewentualnie widoki zmaterializowane pełniące dokładnie tą samą rolę. Od niedawna pojęcie to wiąże się również z […]
Sep 06: BIConnected – konferencja poświęcona Business Intelligence we Wrocławiu
Już w październiku będzie miała miejsce pierwsza edycja konferencji BIConnected organizowana przez firmę SII. Konferencja jak sama nazwa wskazuje będzie poświęcona zagadnieniom z obszaru Business Intelligence. Jest to unikalna możliwość posłuchania ciekawych prelekcji z perspektywy różnych narzędzi i odmiennych podejść architektonicznych od Power BI i SQL Server po Qlik Sense i architekturę Data Valut. Ponadto […]
Sep 03: Power BI – Composite models i relacje wiele do wielu
W ostatnim czasie Power BI otrzymał kolejną potężną aktualizację wprowadzającą do usługi szereg udogodnień i nowych funkcjonalności. Najbardziej przydatnymi funkcjonalnościami, które zostały wprowadzone są bez wątpienia możliwość tworzenia raportów w tzw. Mixed mode czyli w ramach pojedynczej aplikacji raportowej możemy łączyć tabele podłączone w trybie Direct Query wraz z tymi podłączonymi w trybie Import. Ponadto […]
Aug 20: Power BI – wykrywanie błędów na opublikowanych raportach
Praca z Power BI jest stosunkowo szybka, prosta i przyjemna. Niestety jak każdy produkt Power BI posiada również wady. Według mnie jedną z największych bolączek pracy developera z raportami Power BI oraz platformą powerbi.com jest administracja. Im większy projekt i liczba raportów, tym trudniej zapanować nad publikowaniem raportów oraz zapewnieniu ciągłości ich działania. W tym […]
Aug 13: Adaptive Query Processing – Interleaved execution
Wraz z SQL Server 2017 wprowadzono szereg ulepszeń w przetwarzaniu zapytań. Jedną z najbardziej spektakularnych jest bez wątpienia tzw. Adaptive Query Processing czyli tłumacząc na nasz język możliwość dostosowywania przez optymalizator sposobu wykonania zapytań w trakcie przetwarzania. Adepci optymalizacji zapytań powinni w tej chwili się zastanowić i zadać pytanie czy to w ogóle możliwe? Przecież […]
Aug 07: Raport Schema Changes History i default trace w SQL Server
Szeroko pojęte operacje DDL (Data Definition Language) w SQL Server czyli wszelkiego rodzaju CREATE, DROP, ALTER powinny być używane z rozwagą szczególnie jeśli chodzi o serwery produkcyjne. Stwierdzenie to jest oczywiste dla niemal każdego, a ja przytoczyłem go ze względu na tematykę niniejszego artykułu, którym jest wbudowany w SSMS raport Schema Changes Hsitory pozwalający nam […]
Aug 02: SQL Server – wstawianie danych a kompresja stron na stertach
Już jakiś czas nie pisałem na niniejszym blogu niczego na temat bazy danych SQL Server dlatego postanowiłem to zmienić i opisać dosyć ciekawy mechanizm. Chodzi mianowicie o kompresję, tak tę tradycyjną kompresję stron, która jest powszechnie znana ale charakteryzuje się wieloma właściwościami, które mogą nas nieco zaskoczyć. Jedną z takich właściwości jest “współpraca” kompresji i […]
Jul 23: Power BI – wykluczające i uzupełniające slicery
Każdy z nas zdaje sobie sprawę jak istotną funkcjonalnością Power BI są slicery. Pozwalają one przefiltrować pozostałe wizualizacje i są tym co użytkownicy nazywają “filtrami” i z całą pewnością nie budzą żadnych zastrzeżeń co do zastosowania. Standardowo każdy slicer pełni rolę filtra działającego na podstawie funkcji logicznej AND, a wybrane wartości są przekazywane jako obowiązujące […]
Jul 16: Udostępnianie danych do pracy z Power BI
Power BI to, oprócz normalnych wdrożeń, doskonałe narzędzie do przygotowywania wstępnej analizy jakiegoś zestawu danych czy też projektów typu Proof of Concept. Takie projekty często kończą się po prostu prezentacją lub na takim etapie, że klient końcowy jest w stanie otworzyć plik w Power BI Desktop oraz przyjrzeć się danym samodzielnie. Raport może zostać przygotowany […]
Jul 09: Power BI – dynamiczna zmiana osi z wykorzystaniem Bookmarks
Power BI jest narzędziem, które zapewnia dosyć wysoką dawkę interakcji z użytkownikiem. Zdarza się jednak, że użytkownicy chcą abyśmy dodali coś niestandardowego co nada większego dynamizmu do naszych wizualizacji. Bardzo często jednym z takich wymogów jest dynamiczne podstawianie konkretnych wartości pod osie wykresów. O co właściwie chodzi? Postaram się to przedstawić w dalszej części niniejszego […]
Jun 18: Power BI – mechanizm wydajnościowy Query Folding
Podstawowym mechanizmem wydajnościowym wbudowanym w Power Query jest Query Folding. Mimo, że wiele osób o nim słyszało nie każdy rozumie czym on tak naprawdę jest i jak duży ma wpływ na wydajność procesów ETL w Power BI. Z tego też powodu postanowiłem napisać na ten temat parę słów i podzielić się paroma ciekawymi aspektami związanymi […]
Jun 10: Continuous Integration dla kostek wielowymiarowych (SSAS Multidimensional)
Tematy DevOpsowe w ostatnim czasie dość mocno zadomowiły się w przypadku pracy z danymi. Używanie systemu kontroli wersji dla projektów bazy danych czy też rozwiązań klasy Business Intelligence (SSIS, SSRS, SSAS dla technologii Microsoft) nie powinno już nikogo dziwić, natomiast implementacja Continuous Integration (CI) czy Continuous Delivery (CD) dla tych usług wydaje mi się, że jest znacznie […]
Jun 04: Power BI – ładowanie struktur typu matrix
Tabele przestawne w Excelu są jednym z najukochańszych narzędzi analityków. Dane z tych właśnie struktur często kopiowane są z takich struktur i tworzą postać matrixa, który z kolei często jest dla nas źródłem. Jak zatem pobrać dane ułożone w ten charakterystyczny sposób do Power BI? Postaram się wyjaśnić ten wcale nietrudny proces w ramach niniejszego […]
May 28: Power BI – pobieranie plików z określonej lokalizacji
Częstym wymogiem jaki jest stawiany przed narzędziami odpowiedzialnymi za procesy ETL jest ładowanie bliżej nieokreślonej liczby plików o tej samej strukturze znajdujących się w określonej lokalizacji. Większość poważnych narzędzi transformujących posiada takie możliwości, czy wśród nich znajduje się Power BI/ Power Query? Z całą pewnością! Zapraszam na lekturę poniższego artykułu gdzie pokażę jak w bardzo […]
May 24: SQLDay 2018 – Kostki SSAS zoptymalizowane dla dużych hurtowni danych
Podczas konferencji SQL Day 2018 miałem okazję opowiedzieć o moich doświadczeniach z pracą z kostkami wielowymiarowymi, a szczególnie z doświadczeniami z pracy z dużymi kostkami danych. Zapraszam do zapoznania się z prezentacją z tego wydarzenia. SSAS Multidimensional optimized for large DWH from SeeQuality.net Chciałbym również dodać, że bardzo ucieszyła mnie pełna sala i bardzo duża […]
May 22: Data Community Kraków – Transformuj swoje dane w Power BI
Siema! Kto nie miał okazji posłuchać mojej sesji pod tytułem “Transformuj swoje dane w Power BI” podczas SQLDay będzie miał możliwość ją zobaczyć na najbliższym spotkaniu Data Community w Krakowie, ktore odbędzie się już jutro 23 maja 2018. Zapraszam serdecznie! “Dla większości użytkowników biznesowych i deweloperów Power BI to przede wszystkim świetne narzędzie do wizualizacji […]
May 20: SQLDay 2018 – Transformuj swoje dane w Power BI
SQLDay 2018 za nami. Z roku na rok widzimy pewien progress jeśli chodzi o to największe i najlepsze wydarzenie związane z platformą danych Microsoft. W tym roku dodatkowo miałem niezwykłą przyjemność wygłosić swoją własną sesję zatytułowaną “Transformuj swoje dane w Power BI”. O samym wydarzeniu jak i o mojej sesji z całą pewnością będziecie mogli […]
Apr 07: Power BI – Tooltips oraz podgląd danych pod wizualizacją
Kontynuujemy serię artykułów o Power BI. Tym razem powiemy sobie o nowej funkcjonalności o wszystko mówiącej nazwie tj “Tooltip”. Powiemy sobie również o tym jak zobaczyć jakie dane złożyły się na określoną wizualizację – zapraszam do lektury. Zaczniemy od Tooltipów – jest to świeża sprawa ponieważ pojawiła się w aktualizacji Marzec 2018. Pozwala ona na […]
Mar 31: Power BI – najbardziej wyczekiwane idee i pomysły
Jako użytkownicy Power BI wiemy, że narzędzie to jest ciągle ulepszane i z miesiąca na miesiąc staje się ono bardziej dopracowane. Jednakże cały czas istnieje duże pole do popisu i ogromna ilość rzeczy może zostać dodana lub rozszerzona. Konkretne pomysły nie są ustalane wyłącznie wewnętrznie przez grupę deweloperską Power BI ale również przez nas – […]
Mar 22: Power BI – parametry, szablony i słów kilka o połączeniach bezpośrednich
Z miesiąca na miesiąc widzimy jak Power BI staje się coraz lepszym narzędziem pozwalającym na budowanie różnego rodzaju wizualizacji oraz zestawień. Ze względu na moje poprzednie doświadczenia związane z raportowaniem na potrzeby przeróżnych organizacji mogę stwierdzić, że jednym z pierwszych wymogów wobec narzędzia tego typu jest parametryzacja zapytań do źródła danych. Mam tutaj na myśli […]
Mar 16: SQLDAY 2018!
Majówka już coraz bliżej, a co za tym idzie kolejna konferencja SQLDay przed nami. Tak jak w poprzednich latach tak i tym razem całe wydarzenie odbędzie się we Wrocławiu w hali stulecia między 14 a 16 maja. Całej konferencji raczej nie trzeba nikomu przedstawiać , ja jednakże podsumuje ją w trzech dosyć jasno brzmiących słowach: […]
Mar 01: Niebezpieczeństwa w C# dla programisty hurtowni danych
Mimo, iż nie jest to blog poświęcony programowaniu w języku C#, częściej lub rzadziej programista hurtowni danych jest zmuszony do napisania kilku linijek kodu w tym języku lub sprawdzenia jakiegoś istniejącego fragmentu kodu. Zwykle będzie to miało miejsce podczas pracy z SSIS i wykonaniu pewnych mniej standardowych transformacji lub logiki, ewentualnie w przypadku czytania z […]
Feb 25: Power BI – filtrowanie między stronami czyli globalne filtry i akcje DRILLTHROUGH
Część z Was pamięta zapewne narzędzie raportowe czy też technologię o dźwięcznej nazwie Power View. Na samym początku była ona związana z Power Pivot for Sharepoint, by następnie przenieść się do Excela gdzie pozostaje po dziś dzień. Narzędzie to mimo, że dawało pewne możliwości to miało również szereg różnego rodzaju ograniczeń w tym również jeśli […]
Feb 18: Time Intelligence w Power BI
Daty to dosyć specyficzny typ danych, który w narzędziach raportowych powinien dawać ciekawe możliwości raportowe. Często spotyka się anglojęzyczne pojęcie Time Intelligence, które opisuje możliwości filtrowania i obsługiwania dat w modelu analitycznym lub narzędziu raportowym. To właśnie tym funkcjonalnościom dostępnym w Power BI przyjrzymy się w ramach niniejszego artykułu. Zapraszam do lektury. Na wstępie pokażmy […]
Feb 03: Data Community Kraków – Ukryte Aspekty pracy z SQL Server
Siema! W najbliższym czasie będę miał przyjemność wystąpić ze swoją sesją na Data Community, tym razem jednak nie będą to Katowice,a Kraków. Sesja, którą będę miał okazję wygłosić to Ukryte aspekty pracy w SQL Server – opis sesji wygląda następująco: “W dobie super wydajnych i samo-optymalizujących się serwerów nasze zapytania czasem działają w sposób nieprzewidywalny. […]
Jan 22: Hierarchie Parent-Child w DAX
Hierarchie parent-child są bardzo popularne w modelowaniu procesów biznesowych, ponieważ w bardzo łatwy sposób potrafią przedstawić wielopoziomową strukturę o znanej lub nieznanej liczbie poziomów. Skoro jest ona tak popularna to narzędzia analityczne powinny ją wspierać i tak też jest w przypadku Analysis Services. W tradycyjnym trybie multidimensional (czyli kostkach wielowymiarowych) mamy bardzo szerokie wsparcie tychże […]
Jan 15: Przełomowa funkcjonalność w Power BI czyli parę słów o Bookmarks
Od samego początku byłem fanem Power BI. Technologia ta była odpowiedzią na to co się na rynku narzędzi raportujących działo od dawna – podejście z raportami statycznymi przeznaczonymi do druku już nie robiło takiego wrażenia jak kiedyś. Narzędzia takie jak QlikView czy Tableau wiodły prym dając takie możliwości jak efektowne wizualizacje wraz z technologią asocjacyjnego […]
Jan 08: Bliższe spotkanie z Power BI Report Server
Power BI już od dłuższego czasu stało się jedną z wiodących technologii raportowych dostępnych na rynku. Jego popularność systematycznie wzrasta i jest to spowodowane kilkoma czynnikami takimi jak bogactwo wizualizacji, stosunkowo prosty interfejs budowy raportów, co miesięczne aktualizacje i wiele innych aspektów, które w ostatecznym rozrachunku zbudowały sukces całej usługi. Oprócz licznych zalet związanych z […]
Jan 04: Artykuł “Analityka biznesowa w przemyśle – najważniejsze trendy”
W ramach serii artykułów eksperckich JCommerce pojawił się tekst mojego autorstwa o tytule “Analityka biznesowa w przemyśle – najważniejsze trendy”. Artykuł znajdziecie tutaj – zapraszam do lektury.
Jan 02: Co w 2018? czyli parę słów o planach na następny rok
Rok 2017 jest był dla mnie bardzo intensywny niemal w każdej sferze życiowej również w aspekcie technologii. Zauważyłem, że dosyć popularny stał się trend dzielenia się na blogu swoimi celami i planami na nadchodzący rok dlatego też również postanowiłem to zrobić – zapraszam do lektury. Rok 2017 Mijający rok pod kątem technologicznym był dla mnie […]
Dec 31: Podsumowanie roku grupy MMDPUG oraz kilka słów o społeczności w ogóle
Grudzień to czas podsumowań. Ja w tym poście zamierzam podsumować rok działalności Malta Microsoft Data Platform User Group (MMDPUG), którą zapoczątkowałem i prowadziłem w 2017 oraz dodać kilka swoich przemyśleń odnośnie do grup społecznościowych w ogólności… Otwarcie powiem, że od dawna jestem wielkim fanem grup społecznościowych, jak i dzieleniem się wiedzą z innymi. Jestem członkiem […]
Dec 27: SQL Server objects ownership oraz Ownership Chain
Widoki bardzo często dają możliwość wyświetlenia odpowiednich danych określonym użytkownikom. Podobną rolę mogą spełniać procedury składowane czy też tabelaryczne funkcje użytkownika. Jak można przypuszczać obiekty te bardzo często są wykorzystywane jako mechanizm bezpieczeństwa co wydaje się naturalne i nie ma w tym nic złego. Czy jednak nadanie praw do odpytania widoku czy wykonania procedury gwarantuje, […]
Dec 17: Modyfikacja planu wykonania przy wykorzystaniu Plan Guide
Do napisania niniejszego artykułu skłoniło mnie pytanie jakie usłyszałem na jednym ze spotkań Data Community. Chodziło w nim mianowicie o to, że zadający miał problem z zapytaniem, którego nie mógł zmodyfikować, a plan wykonania jaki wybierał SQL Server jest całkowicie nieakceptowalny i niewydajny. Dodam jeszcze, że osoba ta nie miała do dyspozycji Query Store i […]
Dec 03: 10 złych praktyk i niebezpiecznych nawyków w SQL Server
W swojej karierze miałem okazję oglądać już całkiem dużą liczbę mniejszych lub większych implementacji z wykorzystaniem SQL Server. Zdarza mi się również oglądać rozwiązania pisane według myśli technicznej innych deweloperów. Bardzo często spotykam się z kodem TSQL, który jest nie tylko bardzo dobrze napisany pod kątem składni, ale również poukładany według pewnych konwencji nazewniczych. Niestety […]
Nov 26: Tworzenie harmonogramów zadań SQL Server w Task Scheduler
SQL Server Agent jest powszechnie używany jako narzędzie służące do tworzenia tzw. jobów czyli określonych zadań do wykonania w zadanym harmonogramie. Co jednak gdy nie mam do dyspozycji SQL Server Agent lub z różnych przyczyn nie możemy go użyć (np. SQL Server Express w ogóle go nie zawiera)? W swojej karierze spotkałem kilka implementacji używających […]
Nov 24: Wyszukiwanie zmiennych tabelarycznych w bazie danych
Zmienne tabelaryczne to powszechnie znany twór, które bardzo często powoduje problemy wydajnościowy i powinien być stosowany tylko i wyłącznie w wyjątkowych sytuacjach – przykładowo było to wspomniane w poście o zmianie trybu kompatybilności (https://pl.seequality.net/zmiana-compatibility-level/). Problem jest jednak dość szeroko opisany i przedyskutowany i w tym poście zakładam, że jesteśmy w sytuacji, kiedy chcemy sprawdzić, które […]
Nov 17: Zmiana compatibility level w SQL Server – wskazówki
Ostatnimi czasy wspierałem administratora baz danych podczas zmiany “compatibility level” dla jednej z baz hurtowni danych. Konkretnie zmiana dotyczyła przejścia z trybu 110 (zgodny z SQL Server 2012) na tryb 120 (zgodny z SQL Server 2014). Baza działała w trybie zgodnym z SQL Server 2012, natomiast Server został już wcześniej “upgradowany” do SQL Server 2014. W […]
Nov 15: Columnstore Index – mechanizmy kompresji
Indeksy kolumnowe to jeden z kilku moich ulubionych tematów związanych z SQL Server. Na przestrzeni kilku ostatnich wersji SQL Server zmieniły się one nie do poznania i wywarły bardzo duży wpływ na to jak z technicznego punktu widzenia budujemy hurtownie danych. Ich premiera odbyła się wraz z Denali, czyli SQL Server 2012 gdzie były pierwszą […]
Nov 10: SQL Server Hash Match – jak to działa
Nadszedł czas opisać ostatni algorytm złączenia dostępny w SQL Server, którym po Nested Loops oraz Merge Join jest Hash Match. Pierwszy z nich sprawdza się doskonale przy małych zbiorach danych, drugi to świetny algorytm łączący posortowane zbiory danych, bohater niniejszego artykułu sprawdza się z kolei bardzo dobrze przy dużych, nieposortowanych zbiorach wejściowych. Jak to wszystko […]
Nov 07: Power BI w praktyce – odcinek 24 – Microsoft Ignite, co tam się działo…. [Nagranie]
Analiza konferencji Microsoft Ignite doczekała się również narracji. W ostatnim odcinku “Power BI w praktyce” gościnnie zaprezentowałem opisywaną wcześniej tutaj analizę tej konferencji. Dla tych z Was, którzy jeszcze nie wiedzą “Power BI w praktyce” jest to kanał współtworzony przez Bartłomieja Graczyka oraz Pawła Potasińskiego na YouTubie, w którym pokazują Power BI od strony praktycznej. Polecam […]
Nov 02: Partition switching w SQL Server
W przypadku hurtowni danych podczas ładowań danych do tabeli faktów bardzo często zdarza się, że chcemy zastąpić dane za określony okres (np. miesiąc) świeżymi danymi z systemów źródłowych. Może to być wykonane na wiele sposobów, dla przykładu możemy usunąć z tabeli ostatni miesiąc komendą DELETE i wstawić nowe dane. Wiąże się to z wieloma niedogodnościami, […]
Oct 27: Dlaczego mój plan zapytania nie jest równoległy?
SQL Server od już bardzo dawna potrafi wykonywać zapytania wykorzystując wiele wątków. O całym mechanizmie równoległości (ang. parallelism) opowiedziano już naprawdę wiele podczas różnego rodzaju prezentacji i artykułów, jednakże mam wrażenie, że nadal nie do końca jest to temat znany. W ramach niniejszego artykułu postanowiłem zebrać kilka faktów na ten temat oraz wypunktować kilka przyczyn, […]
Oct 25: Analiza danych pochodzących z Twittera z wykorzystaniem C# i Power BI
Poprzedni post, “Podsumowanie Microsoft Ignite 2017 – analiza wydarzenia na Twitterze z wykorzystaniem Power BI”, pokazywał konkretny przykład analizy wybranego hashtagu w Power BI. Mimo, że Power BI wspiera naprawdę dużo źródeł danych, nie ma niestety bezpośredniego połczenia do portalu Twitter. Owszem, można skorzystać z oficjalnego API dostarczanego przez Twitter i wykorzystać, nawet bezpośrednio, z poziomu […]
Oct 20: Partycjonowanie tabel a wydajność zapytań w SQL Server
Partycjonowanie jest szeroko znaną techniką użyteczną w bardzo wielu aspektach pracy związanych z tabelami i indeksami w SQL Server. Zanim zostanę posądzony o herezje to chciałem zaznaczyć, że techniki tej nie należy traktować jako stricte funkcjonalności poprawiania wydajności, jednakże sam sposób jej działania może pozytywnie wpłynąć również na przetwarzanie naszych zapytań odczytujących oraz ładujących. Z […]
Oct 16: Podsumowanie Microsoft Ignite 2017 – analiza wydarzenia na Twitterze z wykorzystaniem Power BI
Końcem września firma Microsoft organizowała konferencję Microsoft Ignite 2017. W dniach od 25 do 29 Orlando na Florydzie było jednym z najważniejszych miejsc na ziemi dla każdego entuzjasty technologi tej firmy. Konferencja według mnie nie zawiodła i zobaczyliśmy mnóstwo zapowiedzi w różnych obszarach. Lista nowości jest dość szeroko dostępna oraz opisana w Internecie, a większość […]
Oct 12: Równoległe wstawianie danych do tabel tymczasowych
Z tabel tymczasowych korzysta niemal każdy związany w swojej pracy zawodowej z SQL Server. Są one pomocne w przypadku czasowego przechowywania rezultatów zapytań i często mogą być również techniką optymalizacyjną. Nie inaczej jest w przypadku ładowań większych tabel wchodzących w skład hurtowni danych gdzie tabelki z hashem pojawiają się nagminnie czy to w procedurach składowanych […]
Oct 03: Dwa sposoby na uzyskanie Batch Mode na planie zapytania
Indeksy kolumnowe są jedną z moich ulubionych technologii wbudowanych w SQL Server. Oprócz oszałamiających zysków wydajnościowych związanych z kompresją czy też eliminacją kolumn i segmentów przyniosły one ze sobą nowy tryb przetwarzania zwany Batch Mode. Alternatywą dla tego przetwarzania było tradycyjne przetwarzanie wierszowe. Jak zapewne wiecie poszczególne “klocki” planu zapytań są iteratorami i w dużym […]
Sep 26: Indeksy filtrowane – jak to działa
W tematyce baz danych podstawową techniką przyspieszania czy też zwiększania wydajności zapytań są indeksy. Jestem niemal pewny, że zdecydowana większość czytelników niniejszego bloga wie czym jest indeks bazodanowy i zdaje sobie sprawę jak go użyć. Każdy rozróżnia indeksy klastrowane i nieklastrowane, nowe indeksy kolumnowe itd. Natomiast zdecydowanie mniej osób zdaje sobie sprawę z istnienia tzw. […]
Sep 22: Data Community – Ukryte Aspekty pracy z SQL Server
[Aktualizacja] Spotkanie już za nami! Świetna sesja Paula Randala na temat statystyk oczekiwań pokazuje, że nie tak diabeł straszny jak go malują. Później miałem przyjemność powiedzieć parę słów i pokazać kilka problematycznych scenariuszy – mam nadzieję, że ten eksperyment przypadł Wam do gustu i mieliście okazję nauczyć się czegoś nowego bo taki właśnie był cel […]
Sep 20: SSIS IServerExec vs MsDtsSrvr
We wcześniejszym poście (https://pl.seequality.net/ssis-execution-process-iserverexec/) omówiliśmy architekturę Integration Services oraz proces “IServerExec”. W tym poście przypomnimy sobie co to jest usługa SSIS Service (MsDtsSrvr) oraz czy rzeczywiście potrzebujemy zarówno tej usługi, jak i wcześniej opisanego procesu. Usługa SSIS Zgodnie ze schematem z wcześniejszego postu usługa SSIS Service jest jedną ze składowych Integration Services. Usługa ta […]
Sep 18: Porównanie trzech sposobów na PIVOT w TSQL
Dane w relacyjnych bazach danych posiadają formę tabelaryczną tj. składają się z kolumn oraz wierszy. Zdarza się jednak dosyć często, że chcemy wiersze zamienić na kolumny lub kolumny na wiersze – operację taką zwyczajowo nazywamy piwotowaniem. W ramach tego artykułu chciałbym przedstawić trzy różne sposoby na osiągnięcie zamierzonego rezultatu. Oczywiście nie są to wszystkie możliwe […]
Sep 14: SSIS Execution process – IServerExec
SQL Server 2012 przyniósł wiele zmian dla Integration Services. Do największych można zaliczyć wprowadzenie bazy danych SSISDB (SSIS Catalog) oraz nowy model publikowania projektu, czyli Project Deployment Model”. Wraz z tymi zmianami pojawił się również IServerExec, czyli proces, który odpowiedzialny jest za faktyczne wykonywanie operacji na pakietach w tym ich uruchamianie. Jako, że od tamtej pory […]
Sep 11: Management Studio 17.2 – przeszukiwanie graficznych planów zapytań
Stosunkowo nie dawno bo w sierpniu tego roku (2017) wydana została nowa wersja Management Studio oznaczona numerem 17.2. Nie było w tym nic nadzwyczajnego gdyby nie fakt, że przynosi ona kilka bardzo przydatnych funkcjonalności i o jednej z nich, a mianowicie o wyszukiwaniu informacji na planach zapytania opowiemy sobie w ramach tego artykułu – zapraszam […]
Sep 09: Weryfikowanie opublikowanego pakietu SSIS
SQL Server Integration Services od wersji SQL Server 2012 pozwala na korzystanie z “Project Deployment Model”, który umożliwia wygodne publikowanie pakietów na serwer. Korzystając z tego modelu wszystkie pakiety w jednym projekcie są kompilowane do jednego pliku wynikowego (ISPAC) i następnie mogą zostać opublikowane do SSIS Catalogu, lub mówiąc konkretnie do bazy danych SSISDB (od […]
Sep 05: OFFSET FETCH w TSQL – czyli jak stronicować rezultat zapytania TSQL
Z każdą kolejną wersją TSQL jest wzbogacany o nowe funkcjonalności. Jedne z nich są długo oczekiwanymi nowościami (jak np. funkcje okna) inne z kolei przechodzą bez większego echa jak bohater dzisiejszego artykułu tj. funkcjonalność OFFSET FETCH pozwalająca osiągnąć ciekawe rezultaty w bardzo prosty sposób. Funkcjonalność ta została wprowadzona w Denali czyli w SQL Server 2012, […]
Aug 29: Database Verification Framework (POC)
Wstęp Hurtownie danych to systemy, które, w dużym uproszczeniu, pobierają dane z wielu systemów źródłowych, a następnie przy pomocy różnych transformacji konsolidują je do jednej bazy danych zwanej właśnie hurtownią danych. Na podstawie tak zgromadzonych informacji biznes otrzymuje pełny zestaw danych o całej organizacji zwaną jedną wspólną wersją prawdy. Dane zgromadzone w ten sposób dają możliwość […]
Aug 29: Seequality na Facebook!
Dziś trochę nietypowo, bo jedynie administracyjno-informacyjnie. Po krótkim namyśle postanowiliśmy pojawić się jako Seequality na Facebooku i od dziś funkcjonujemy na tym portalu społecznościowym! Zapraszamy Was do polubienia strony, gdzie będziemy publikować treści te które pojawią się na blogu, ale to oczywiście nie wszystko! Mamy w planach udostępniać inne ciekawe materiały pisane i nagrania (nie […]
Aug 28: Kompresja stron i wierszy a wstawianie i odczytywanie danych w SQL Server
Kompresja w SQL Server istnieje już bardzo długo pod różnymi mechanizmami i funkcjonalnościami. Pierwsze co nam przychodzi na myśl jak mówimy o tym temacie to kompresja stron i wierszy, w dalszym planie pojawia się kompresja słownikowa dostępną w indeksach kolumnowych oraz kompresja funkcjami TSQL takimi jak COMPRESS. Oczywiście jeśli byśmy głębiej poszukali moglibyśmy dorzucić tutaj […]
Aug 24: Wykres Gantt aktywności SQL Server
Wstęp Narzędzi oraz sposobów monitorowania poszczególnych obiektów w SQL Server jest wiele i wiele zostało już na ten temat napisane. W tym poście chciałbym pokazać jeden ze sposobów graficznej analizy aktywności różnych obiektów działającej na serwerze Microsoft SQL Server, który – mam nadzieję – nie jest tak bardzo oczywisty. Idea tego postu to przygotowanie […]
Aug 22: Parę faktów o funkcjach okna cz.3: Optymalizacja ROWSTORE
Po dwóch artykułach tłumaczących działanie i zastosowanie funkcji okna przyjrzyjmy się temu co się dzieje pod spodem i jak możemy zwiększyć wydajność naszych zapytań opartych o funkcje okna na strukturach opartych o ROWSTORE czyli tradycyjne tabele bez indeksów kolumnowych, których temat poruszymy w kolejnym artykule. Dziś będziemy korzystać tradycyjnie z bazy transakcyjnej OLTP WideWorldImporters której […]
Aug 17: TSQL – warunki filtrujące w WHERE czy w JOIN ON?
Na przestrzeni ostatnich lat było mi dane oglądać dużą ilość kodu TSQL napisanego przez kogoś innego. W dużej ilości przypadków spotykałem się z dosyć ciekawymi konstrukcjami, które raz działały lepiej, a raz gorzej. Jedną z takich konstrukcji było umieszczanie warunków filtrujących w sekcji złączenia ON. Czy ma to jakiekolwiek znaczenie? Czy ma to wpływ na […]
Aug 14: Row Level Security – luka w bezpieczeństwie?
Row Level Security był jedną z najbardziej wyczekiwanych funkcjonalności w SQL Server. Wraz z SQL Server 2016 dostaliśmy do dyspozycji ten mechanizm – wielu z nas po pierwszych demonstracjach wyobrażało sobie ogrom możliwości jakie on oferuje. Jednakże póki co posiada on kilka pomniejszych luk na które trzeba zwrócić uwagę – jedną z nich postaram się […]
Aug 10: SSISDB i SSIS catalog od środka [Nagranie]
Podczas konferencji SQL Day 2017 (http://sqlday.pl/) miałem przyjemność poprowadzić sesję pod tytułem “SSISDB i SSIS catalog od środka”. Podczas prezentacji starałem się skupić na mniej trywialnych aspektach działania SSIS Catalog oraz jego architekturze. O samej konferencji pisaliśmy sporo w poście z relacją z tego wydarzenia (https://pl.seequality.net/sqlday-2017-relacja-na-biezaco/) , natomiast na channel9 można już znaleźć nagrania z niektórych […]
Aug 07: Parę faktów o funkcjach okna cz.2: Agregacja wartości i ramki
Kontynuujemy naszą serię dotyczącą funkcji okna (poprzednią część znajdziecie tutaj). Dziś podejdziemy do tematu z nieco innej strony i przyjrzymy się ich zastosowaniu związanemu z agregacją danych. To właśnie dzięki funkcjom okna możliwa jest agregacja danych z użyciem standardowych funkcji takich jak SUM czy AVG bez konieczności używania GROUP BY na zdefiniowanym przez nas podzbiorze(oknie) […]
Aug 03: Analiza użycia poszczególnych obiektów bazy analitycznej SSAS
Wstęp Analysis Services, jak już wspomniano we wcześniejszych postach (zobacz: https://pl.seequality.net/monitorowanie-optymalizacja-ssas/), dostarcza wiele użytecznych narzędzi do monitorowania,analizowania oraz sprawdzania serwera i poszczególnych obiektów SSAS. W niniejszym poście omówiony zostanie jeden z widoków systemów, który pomoże nam zrozumieć, które obiekty są rzeczywiście wykorzystywane przez użytkowników. Wizualizacja dla tego widoku została przygotowana w Power BI i można […]
Aug 01: Wykorzystanie C# i PowerShell do monitorowania SSAS
Wprowadzenie Analysis Services, jak już zostało to omówione w poście “Metody monitorowania i optymalizacji SQL Server Analysis Services” (https://pl.seequality.net/monitorowanie-optymalizacja-ssas/), dostarcza wielu różnych opcji za pomocą których możemy monitorować oraz analizować stan serwera, baz danych analitycznych, a nawet poszczególnych obiektów. Czasami zdarza się jednak, że dostępne metody nie dostarczają informacji, których szukamy lub dostarczają informację na […]
Jul 27: SSAS – Analiza plików bazy analitycznej
Wstęp Kolejnym przykładem analizy, który pozwoli nam lepiej zrozumieć projekt bazy wielowymiarowej jest analiza plików, które są nieodłączonym jej elementem. Jak już wspomniano w poście https://pl.seequality.net/monitorowanie-optymalizacja-ssas/ Analysis Services wszystkie dane przechowuje w ogromnej ilości plików. Dla każdego atrybutu, hierarchii, agregacji itp. Wygenerowany zostanie jeden lub kilka plików, które mają za zadanie w efektywny sposób zwrócić dane […]
Jul 24: SSAS – Kto korzysta z kostki?
Pierwszy przypadek wykorzystania danych z logowania kostek i serwera dotyczy analizy użytkowników. Do wizualizacji danych użyty zostanie PowerBI. W ramach przypomnienia dodam tylko, że post opisujący dostępne metody gromadzenia danych oraz analizowania kostek i SQL Server Analysis Services dostępny jest pod adresem https://pl.seequality.net/monitorowanie-optymalizacja-ssas/. Pełny raport oraz projekt SSIS dostępny jest na github: https://github.com/seequality/seequality_ssas Cała idea polega na […]
Jul 20: Parę faktów o funkcjach okna cz.1: ROW_NUMBER, RANK, DENSE_RANK i NTILE
Funkcje okna są jednym z błogosławieństw dla deweloperów pracujących z SQL Server. Pozwalają one na osiągnięcie rezultatów, które wcześniej można było uzyskać tylko i wyłącznie poprzez wykorzystanie podzapytań inline czy różnego rodzaju konstrukcji przetwarzających dane wiersz po wierszu jak np. kursory czy pętle. Dziś powiemy sobie parę słów o tym jak działają funkcje ROW_NUMBER, RANK, […]
Jul 18: Metody monitorowania i optymalizacji SQL Server Analysis Services (SSAS)
Wprowadzenie Każdy system informatyczny, aplikacja, usługa czy też produkt powinien być na bieżąco monitorowany i sprawdzany. Weryfikacja poprawności działania, wydajności czy zadowolenia klientów końcowych. Powodów i celów może być wiele. W tym poście zostaną omówione metody monitorowania usługi SQL Server Analysis Services oraz kostek wielowymiarowych. W kolejnych postach zostaną zaprezentowane konkretne przykłady wykorzystania tych technik. Posty powinny okazać się przydatne do samego […]
Jul 14: NOT EXISTS vs NOT IN – czyli o filtracji wykluczającej
O tym jak odfiltrować dane z jednego zbioru na podstawie danych z innego zbioru powiedziano już bardzo wiele. Mimo, że temat był dosyć mocno eksplorowany to z moich obserwacji wynika, że kwestia ta nie jest do końca zrozumiana. Dlatego też postanowiłem wykonać mój własny test filtracji wykluczającej – porównamy sobie wydajność i efektywność kilku podejść […]
Jul 10: Memory Optimized Tables a wykorzystanie dziennika transakcyjnego
Memory Optimized Tables jako jeden z kluczowych elementów technologii In-memory OLTP pod kątem wydajności potrafi dawać świetne rezultaty. Oprócz całkowicie nowego systemu składowania danych dla tych tabel zmieniony został sposób logowania informacji – to właśnie w MOT mamy możliwość implementacji całkowitej rezygnacji z informacji zawartych w dzienniku transakcyjnym! Chciałbym tutaj podkreślić całkowitego braku logowania, a […]
Jul 05: Hash index w In-memory OLTP – tworzenie i zastosowanie
Wraz z technologią In-memory OLTP wprowadzone zostały dwa nowe indeksy tj. HASH Index oraz NONCLUSTERED Index. Każdy z nich znacznie różni się od tego co mieliśmy do dyspozycji wcześniej i ma jasno sprecyzowane scenariusze użycia. W ramach niniejszego artykułu chciałbym przedstawić Wam koncepcje pierwszego ze wspomnianych indeksów tj. HASH oraz to w jakich przypadkach może […]
Jul 03: Monitoring procedur natywnie kompilowanych w In-memory OLTP
Obiekty natywnie kompilowane z całą pewnością mogą dać nam przyrost wydajności związany z faktem, iż cała faza optymalizacji i kompilacji następuje w momencie ich tworzenia. Wynikiem procesu optymalizacji jest plan wykonania, który będzie wykorzystywany przy każdym wywołaniu procedury, aż do momentu wystąpienia rekompilacji. Mamy do dyspozycji pewne możliwości monitorowania statystyk wywołania procedur natywnie kompilowanych, które […]
Jun 26: Policy Based Management – czyli jak zarządzać obiektami SQL Server
Zdarza się, iż w bazach danych gdzie tworzone są różnorakie obiekty potrzeba wprowadzić pewną nomenklaturę np. chcemy aby nasze procedury zawsze były tworzone z odpowiednim przedrostkiem, obiekty musiały być zawarte w określonym schemacie, a określona właściwość samej bazy danych miała ustawioną taką,a nie inną wartość. Oczywiście każdy z nas może wierzyć na słowo i umówić […]
Jun 19: SQL Server Application Roles – mało popularna funkcjonalność bezpieczenstwa
Czasem istnieje potrzeba niestandardowego podejścia do tematu nadawania uprawnień w SQL Server. Większość ludzi utożsamia kwestie dostępów do zasobów jako sekwencję kroków składającą się uwierzytelnienia opartego o Windows bądź login i hasło SQL Server, a następnie autoryzacji dostępu do określonego zasobu. Otóż jak zapewne wywnioskowaliście z tytułu i niniejszego wstępu to nie jedyne co mamy […]
Jun 13: Jak działa Partially Contained Database w SQL Server
W SQL Server standardowo ścieżka uwierzytelnienia wygląda następująco: użytkownik łączący się do serwera musi mieć tzw. login na poziomie instancji, który może być loginem SQL Server lub użytkownikiem lokalnym/domenowym opartym o Windows (bądź grupę Windows do której określony użytkownik należy). W zależności od potrzeb możemy wybrać uwierzytelnienie Windows bądź SQL Server właśnie. Jednakże posiadanie samego […]
Jun 08: xp_cmdshell – najniebezpieczniejsze narzędzie w SQL Server?
SQL Server jest oprogramowaniem, które pod kątem bezpieczeństwa posiada całą gamę opcji. Każda z tych opcji może być ustawiona w lepszy lub gorszy sposób w zależności od wiedzy i doświadczenia osoby ustawiającej. Niektóre “luki” w złej konfiguracji serwera są mniej niebezpieczne – inne z kolei bardziej. Są jednak pewne granice, których przekraczać nie wolno! Przykładów […]
Jun 05: In memory OLTP – natywnie kompilowane obiekty i typy tabelaryczne
Pare dni temu powiedzieliśmy sobie czym jest In memory OLTP oraz jak stworzyć tabele in-memory (artykuł znajdziecie tutaj). Dziś kontynuujemy naszą przygodę z tą technologią i powiemy sobie czym są natywnie kompilowane obiekty i typy tabelaryczne in memory zapraszam do lektury. Jak już wspomniałem poprzednio cała technologia In-memory opiera się na trzech filarach tj. struktury […]
Jun 01: Power BI a Power Point – czyli eksport do pptx i Power BI Tiles
Najpopularniejszym sposobem prezentacji różnego rodzaju treści podczas spotkań, sesji czy innych prelekcji jest wykorzystanie popularnego Power Pointa wchodzącego w skład Microsoft Office. W przypadku gdy nasze raporty są zbudowane w Power BI Desktop i opublikowane na witrynie powerbi.com mamy pewne możliwości ich przedstawiania w Power Point – chodzi mianowicie o natywnie obsługiwany eksport do pliku […]
May 29: In memory OLTP -Wstęp i Memory Optimized Tables
W ostatnim czasie zainteresowałem się nieco technologią In-memory OLTP zachęcony paroma demonstracjami, które było mi dane zobaczyć na przestrzeni ostatnich miesięcy. Dlatego też postanowiłem podzielić się z czytelnikami wiedzą na temat tej właśnie technologii – ten post jest swoistego rodzaju wstępem do tego aby zacząć zabawę z Hekatonem i ma za zadanie zachęcić Was do […]
May 26: SQL Server 2016 – usprawnienia In-memory OLTP
Seria Poznaj SQL Server 2016! Dziś powiemy sobie parę słów na temat głównego produktu wprowadzonego w SQL Server 2014 tj. In-memory OLTP aka Hekaton aka XTP (eXtreme Transaction Processing), a właściwie o ulepszeniach tej technologii dostępnych w SQL Server 2016. Funkcjonalność ta to nic innego jak kompilowane do kodu maszynowego tabele, procedury składowane, funkcje itp. […]
May 21: Data Community – Hekaton – czyli o co chodzi w in-memory OLTP
Całe wydarzenie związane z kolejnym spotkaniem Data Community mamy za sobą – spotkanie było naprawdę fajne i mam nadzieję, że prezentacja się Wam podobała. Dla zainteresowanych poniżej podrzucam prezentację. Jeśli pojawią się jakieś pytania zapraszam do kontaktu. Data Community – in memory oltp from SeeQuality.net [Aktualizacja 26.06.2017] Jednakże będę miał przyjemność poprowadzić sesję na […]
May 14: SQLDay 2017 – Relacja na bieżąco! Podsumowanie
[Data:13.05.2017 Godzina: 20:00] Cześć! Jutro tj. 15.05.2017 rozpoczyna się SQLDay 2017 czyli największa i najlepsza konferencja poświęcona szeroko pojętej platformie danych Microsoft w tej części Europy! My również jesteśmy obecni na tym wydarzeniu tym razem ja (Adrian) jako słuchacz, a Sławek jako prelegent (na którego sesję o SSISDB w środę serdecznie zapraszam!). Postanowiliśmy podzielić się […]
May 09: SQL Server Maintenance Plans – prosty sposób na utrzymanie bazy danych
Bardzo ważnym zadaniem przy administracji każdą bazą danych jest prawidłowe zadbanie o sprawy utrzymaniowe takie jak reorganizacja, przebudowanie indeksów, tworzenie kopii zapasowych, optymalizacja i szeroko pojęty monitoring baz danych. Zadania te mogą się kojarzyć z pracą administratorów baz danych i w istocie tak jest. Bardzo często jednak jako konsultanci musimy zdawać sobie sprawę, że na […]
May 05: SQL Server Merge Join operator – jak to działa
Stosunkowo niedawno opisałem najprostszy z dostępnych algorytmów/operatorów złączenia wbudowanych w SQL Server – chodzi mianowicie o Nested Loops. dziś chciałbym kontynuować temat i przejść do kolejnego operatora tego typu, którym jest Merge Join – jego znajomość może okazać się kluczowa jeśli chodzi o poprawne zrozumienie planów wykonania i performance tuning. Najważniejszą charakterystyką opisywanego algorytmu jest […]
May 04: Why you will love SSRS in 2016 again [Video]
W zeszłym roku miałem okazję wystąpić na SQLDay czyli największej konferencji poświęconej zagadnieniom platformy danych w Polsce. Tematem prelekcji były nowe możliwości narzędzia SQL Server 2016 Reporting Services, które przeszło nie małą rewolucję dostosowując niektóre funkcjonalności do współczesnych standardów. Sesja była rejestrowana, możecie ją obejrzeć poniżej – miłego oglądania. Przy okazji chciałbym wspomnieć, że już […]
Apr 28: Szybkie budowanie miar w Power BI z Quick Measures
Jedną z funkcjonalności dostępnych w jeden z ostatnich aktualizacji Power BI Desktop są tzw. Quick Measures, dosyć ciekawa funkcjonalność wydająca się całkiem użytecznym mechanizmem dlatego też zdecydowałem się poświęcić temu zagadnieniu krótki artykuł. Quick Measures to nic innego jak możliwość szybkiego generowania miar w języku DAX według określonych reguł. Brzmi kusząco prawda? I tak też […]
Apr 25: DAX – funkcje ISFILTERED oraz ISCROSSFILTERED
W DAX Istnieją dwie specjalne funkcje pozwalające sprawdzić mechanizm propagowania kontekstu filtra chodzi mianowicie o ISFILTERED oraz ISCROSSFILTERED, które chciałbym opisać w niniejszym artykule. Wspomniane funkcje działają następująco: ISFILTERED – zwraca TRUE lub FALSE w zależności czy kolumna przekazana jako argument jest bezpośrednio filtrowana ISCROSSFILTERED – zwraca TRUE lub FALSE w zależności od tego czy […]
Apr 22: SQL Server 2017!
W ostatnim czasie Microsoft w ramach nowego wydarzenia online o nazwie Data Amp ogłosił cały szereg nowości związanych z technologiami platformy danych. Jedną z nich jest to, że oficjalna nazwa SQL Server vNext to SQL Server 2017 i pod taką nazwą mamy do dyspozycji nową wersję Preview (do ściągnięcia tutaj). Co oprócz tego? Kilka bardzo […]
Apr 19: DAX – wstęp do funkcji CALCULATE
Funkcja CALCULATE jest jedną z najważniejszych funkcji dostępnych w języku DAX ponieważ jako jedyna daje nam możliwość zmiany kontekstu filtra. Jak jej używać i dostosowywać miary do własnych potrzeb? Postaram się Wam to przedstawić w ramach niniejszego artykułu. CALCULATE działa w taki sposób, że tworzy nowy kontekst filtra i następnie przetwarza w nim wyrażenia języka […]
Apr 11: Zarządzanie danymi w przedsiębiorstwie z pomocą narzędzi Microsoft [Video]
Kolejne webinarium z cyklu JPro tym razem poświęcone zarządzaniu danymi w przedsiębiorstwie z wykorzystaniem narzędzi Microsoft za nami! Tym którzy uczestniczyli chciałbym serdecznie podziękować za poświęcony czas – jeżeli nie mogliście uczestniczyć zapraszam do zapoznania się z poniższą prezentacją oraz z nagraniem dostępnym po adresem po zalogowaniu na stronie http://www.jcommerce.pl/jpro/webinar/zarzadzaj-danymi-w-firmie-z-pomoca-narzedzi-microsoft
Apr 10: Wirtualne relacje w DAX i funkcja TREATAS
W ostatnim czasie zostało zadane mi dosyć ciekawe pytanie (pozdrawiam kolegów 🙂 ) o relacje wirtualne w DAX i jak sobie z nimi radzić – dosyć ciekawe i niestandardowe pytanie prawda? Troszeczkę mnie zaskoczyło ze względu na fakt, iż ostatnimi czasy nieco bardziej “siedzę” w kostkach wielowymiarowych i silniku bazodanowym niż w modelach tabelarycznych, jednakże […]
Apr 06: Funkcja EARLIER w DAX – kilka słów o zagnieżdżaniu kontekstów
DAX posiada kilka koncepcji, które są nieco trudniejsze w zrozumieniu – jedną z nich bez wątpienia jest funkcja EARLIER i jej pochodna tj. EARLIEST, którą chciałbym omówić w ramach dzisiejszego artykułu – zapraszam do lektury. Iteratory w modelach tabelarycznych to znany i lubiany (chyba) koncept. Wszyscy wiemy, że przykładem typowego iteratora są funkcję z sufiksem […]
Apr 03: Data Quality Serivces – Knowledge Discovery
Kilka dni temu napisałem kilka słów o tym czym jest DQS oraz jak zarządzać domenami (Domain Management) dziś natomiast chciałbym rozszerzyć ten temat o tzw. Knowledge Discovery – dzięki czemu będziemy mogli zainicjować nasze bazy wiedzy i zacząć wykorzystać tworzone przez nas bazy wiedzy w praktyce. Aby nie tracić czasu na tworzenie nowej bazy wiedzy […]
Mar 28: SQL Server 2016 – Tabular bidirectional filtering
Usługi analityczne na przestrzeni ostatnich lat przybrały całkiem nową formę w postaci modelu tabelarycznego. Każda kolejna wersja SQL Server przynosiła mniejsze bądź większe zmiany zarówno w języku DAX jak i w samych strukturach wspomnianego modelu – nie inaczej jest z SQL Server 2016 – w poprzednich wpisach opisałem translacje i tabular model explorer oraz zmienne, […]
Mar 22: Zarządzanie danymi w firmie z pomocą narzędzi Microsoft – webinar
Mam przyjemność zaprosić Was na kolejny darmowy webinar z cyklu JPro o tytule Zarządzanie danymi w firmie z pomocą narzędzi Microsoft, który odbędzie się 29 marca o godzinie 10. Jeśli jesteście zainteresowani zapraszam do rejestracji dostępnej tutaj. Opis: Osiągnięcie sukcesu w biznesie w dużej mierze zależy od sprawnej analizy dostępnych informacji. Większość firm posiada całą gamę bardzo […]
Mar 21: Data Quality Services – Domain management
Każdy z nas zdaje sobie sprawę z tego jak ważna jest jakość danych w organizacjach. Nawet najbardziej wyrafinowane algorytmy nie będą skuteczne jeśli dane wejściowe będą zanieczyszczone – bardzo dobrze podsumowuje to stwierdzenie “garbage in – garbage out” czyli mając śmieciowe dane na wejściu zawsze otrzymamy śmieciowe rezultaty bez względu na to co będzie pomiędzy. […]
Mar 16: SQL Server 2016 Integration Services Package Parts
Do tej pory omówiliśmy już całkiem sporo nowości w ramach naszej serii Poznaj SQL Server 2016. Póki co nie wspomnieliśmy ani słowem o Integration Services – czy to oznacza, że nie pojawiło się tam nic nowego? Wręcz przeciwnie! W najnowszej wersji dostajemy do rąk kilka nowości, jedną z nich są tzw. Package Parts o których […]
Mar 14: Fillfactor – stopień wypełnienia indeksu
O tym jak działają klasyczne indeksy rowstore zarówno zgrupowane jak niezgrupowane powiedziano już niemal wszystko – przynajmniej tak myślałem przez bardzo długi czas. Jak to zwykle bywa z błędnego osądu wyprowadzili mnie klienci u których oprócz lepszej czy gorszej strategii indeksowania bardzo często widzę kompletny brak zrozumienia jednego z kluczowych ustawień indeksów jakim bez wątpienia […]
Mar 10: Access – jako klient do wyświetlania i modyfikacji danych SQL Server
W ostatnim czasie miałem okazję pracować przy dosyć ciekawym przedsięwzięciu – chodziło mianowicie o to aby użytkownicy mogli w szybki i bezbolesny sposób modyfikować dane zawarte w SQL Server. Na myśl przychodzi nam język TSQL i Management Studio – jednakże w tym przypadku takie połączenie nie wchodziło w grę ze względu na to, że użytkownicy […]
Mar 06: Samoobsługowy Business Intelligence – fakt czy nieosiągalna utopia
Podczas licznych wizyt u Klientów i rozmów z nimi bardzo często prędzej czy później pojawia się pojęcie samoobsługowego Business Intelligence. Prawdą jest to, że pojęcie to jest dosyć ciekawym sloganem powtarzanym jak mantra przez kolejnych dostawców oprogramowania mówiących o tym, że ich produkt jest jedynym i najlepszym narzędziem umożliwiającym wydajną analizę danych w taki a […]
Mar 02: Tworzenie KPI na portalu Reporting Services 2016
W wersji SQL Server 2016 Reporting Services przeszło dosyć rewolucyjne zmiany. Oprócz raportów mobilnych (które opisywałem już tutaj) dosyć duże zmiany nastąpiły na portalu Reporting Services – jedną z nich jest możliwość tworzenia wskaźników KPI obrazujących konkretne miary biznesowe – dziś powiemy sobie parę słów jak coś takiego przygotować – zapraszam do lektury. Aby stworzyć […]
Feb 27: Autoparametryzacja SIMPLE i FORCED w SQL Server
Niedawno pisałem o zjawisku Parameter Sniffing i związanym z nim cache’owaniem planów wykonania zapytań. Dziś powiemy sobie o powiązanym mechanizmie automatycznej parametryzacji w SQL Server. Jak powszechnie wiadomo – SQL Server umieszcza w wydzielonej części pamięci operacyjnej plany zapytań w celu ich późniejszego ponownego użycia bez konieczności kosztownej i zasobochłonnej kompilacji. W niektórych przypadkach SQL […]
Feb 24: Jednostki alokacji w SQL Server czyli IN_ROW_DATA, ROW_OVERFLOW_DATA i LOB_DATA
Czym jest tabela w SQL Server wie chyba każdy, o partycjach również wiele już powiedziano i są one znane, jednakże jeden poziom niżej znajduje się przynajmniej jedna dodatkowa warstwa, którą nazywamy jednostkami alokacji o której traktuje dzisiejszy wpis – zapraszam do lektury. Podstawowa struktura obiektów w SQL Server została przedstawiona na poniższym diagramie: Mamy tabelę […]
Feb 21: Co znajduje sie w srodku pliku pbix?
Raporty stworzone za pomocą Power BI Desktop zapisywane są z rozszerzeniem *.pbix Okazuje się, że nie jest to nowy format plików w którym zawarty jest kod źródłowy raportów tylko plik archiwum, który jesteśmy w stanie rozpakować. Zacznijmy od stworzenia bardzo prostego raportu w Power Bi Desktop. Tworzenie raportu Jako źródło danych do raportu posłuży bardzo […]
Feb 21: Parameter Sniffing i cache planów zapytań
Dziś zajmiemy się dosyć ciekawym mechanizmem jakim jest Parameter Sniffing, który mimo iż jest pozytywnym zjawiskiem może czasem nieść ze sobą negatywne skutki – zapraszam do lektury. Zapewne każdy z Was słyszał o planach zapytania oraz o tym, że czas znalezienia wystarczająco dobrego planu jest zróżnicowany i może być znaczący w kontekście całego czasu potrzebnego […]
Feb 13: SQL Server 2016 – Reporting Services Mobile Report Publisher
Kontynuujemy serię opisującą nowości w SQL Server 2016 – dziś powiemy sobie o czymś szczególnym ponieważ doczekaliśmy się dosyć poważnych modyfikacji i ulepszeń w usługach raportujących. Oprócz zmienionego layoutu portalu raportów, nowych możliwości raportów – pojawiła się całkiem nowa opcja czyli tzw. raporty mobilne o których traktuje niniejszy artykuł. Chciałbym zaznaczyć, że przyjrzymy się nowej […]
Feb 10: DIY Business Intelligence [Video]
Niedawno informowałem Was o możliwości uczestniczenia w darmowym webinarium o tytule DIY Business Intelligence w ramach cyklu JPro organizowanym przez firmę JCommerce, który miałem okazję poprowadzić. Dziękuję wszystkim, którzy znaleźli czas aby na żywo uczestniczyć w tym wydarzeniu – dla tych, którzy nie mogli – cała sesja została zarejestrowana i jest możliwa do obejrzenia pod […]
Feb 08: Naiwny klasyfikator Bayesa – Analysis Services Data Mining tutorial
Dziś chciałem się napisać parę słów o tym o czym stosunkowo rzadko piszę, a mianowicie o eksploracji danych aka. Data Miningu. Obecnie pojęcie to niejako “przycichło” zagłuszone przez nowe slogany w stylu “Data Science” czy “Machine Learning” ale czy przestało być aktualne? Z całą pewnością nie ponieważ wszystkie te terminy mają coś ze sobą wspólnego, […]
Feb 05: SQL Server Nested Loops – jak to działa
Łącząc nasze tabele w SQL Server możemy myśleć o samych złączeniach w dwojaki sposób. Po pierwsze zastanawiamy się wysokopoziomowo czy potrzebujemy złączenia wewnętrznego (INNER) czy też zewnętrznego (OUTER) – ich użycie jest determinowane przez logikę jaką chcemy w danym zapytaniu zawrzeć. Z drugiej zaś strony możemy myśleć o tym przy użyciu jakiego algorytmu nasze złączenie […]
Jan 30: BIML i Data Profiling Task – automatyczne profilowanie wszystkich tabel w bazie danych
Data Profiling Task to według mnie jeden z najciekawszych komponentów SQL Server Integration Services, który bardzo często jest pomijany, lub o którym często się nie pamięta. Jest on przydatny na wielu płaszczyznach pracy z danymi od wyszukiwania problemów z danymi podczas tworzenia aplikacji lub hurtowni danych, aż do podstawowej weryfikacji oraz badania danych na potrzeby […]
Jan 27: SQL Server 2016 – zmienne, komentowanie miar oraz tabele kalkulowane w Tabular
Kontynuujemy naszą serię opisującą nowości w SQL Server 2016 – dziś powiemy sobie czym są zmienne w języku DAX, które po Power BI i Excel 2016 zagościły w modelu tabelarycznym Analysis Services. Ponadto poruszymy temat komentowania w miarach oraz tabel kalkulowanych – zapraszam do lektury. Zmienne to prawdopodobnie jedno z najpopularniejszych pojęć w szeroko pojętym […]
Jan 25: Generowanie skryptu zmian czyli Visual Studio Schema Compare
Dziś chciałbym napisać parę słów na temat porównania dwóch baz danych pod kątem różnic w definicji obiektów. Jest to dosyć częsta praktyka gdy chcemy porównać bazy pomiędzy np. środowiskiem deweloperskim i produkcyjnym. Kiedyś do tego typu operacji potrzebowaliśmy narzędzi firm trzecich, obecnie możemy do tego wykorzystać standardową funkcjonalność Visual Studio. Na samym początku musimy mieć […]
Jan 23: Key/RID lookup – co to jest?
Jednym z najprostszych do rozwiązania problemów wydajnościowych w SQL Server są tzw. lookupy o którym chciałbym opowiedzieć w niniejszym artykule – zapraszam do lektury. Jak wiecie optymalizator SQL Server może zdecydować się na użycie indeksu jeżeli tylko będzie to dla niego w odpowiednim stopniu optymalne. Sam indeks może być odpytywany operacją pełnego skanowania (Index Scan) […]
Jan 19: SQL Server 2016 – nowe funkcje tekstowe STRING_SPLIT i STRING_ESCAPE
Dziś krótki artykuł z serii co nowego w SQL Server 2016 (wszystkie posty jakie udało się napisać w ramach tej serii znajdziecie tutaj). Pod lupę weźmiemy dwie nowe funkcje tj. STRING_SPLIT oraz STRING_ESCAPE. STRING_SPLIT jest funkcją o dosyć ciekawej konstrukcji, która zwraca części pojedynczej wartości tekstowej jako odrębne wiersze. Aby lepiej zrozumieć jej działanie lepiej […]
Jan 18: DIY Business Intelligence – webinar
Dziś mam przyjemność zaprosić Was na darmowe webinarium jakie będę miał okazję przeprowadzić w ramach cyklu JPro, które odbędzie się 9 lutego 2017 o godzinie 10. Podczas tego spotkania online postaram się przedstawić jak wykorzystać istniejące oprogramowanie do efektywnego zbudowania systemu Business Intelligence bez ponoszenia dodatkowych kosztów licencyjnych. Podczas webinaru poruszone zostaną następujące zagadnienia: po […]
Jan 17: Uruchamianie instancji SQL Server w minimalnej konfiguracji
Zdarza się, iż problemy konfiguracyjne naszego serwera SQL uniemożliwiają podłączenie się do niego. Wtedy też z pomocą przychodzi nam uruchomienie usługi w tak zwanym trybie minimalnej konfiguracji (ang. minimal configuration mode). Postanowiłem napisać na ten temat parę słów i pokazać jak coś takiego skonfigurować. Zapraszam do lektury. Na samym początku przypuśćmy, że coś źle skonfigurowaliśmy […]
Jan 16: SQLDay 2017 – już niebawem!
Już niedługo bo w maju we Wrocławiu będzie miała miejsce największa konferencja poświęcona platformie danych Microsoft w tej części Europy! O tym jak wartościowe jest uczestnictwo w tym wydarzeniu chyba nie muszę przekonywać. W tym roku konferencja będzie jeszcze większa, jeszcze lepsza i z równie wspaniałymi gośćmi co w zeszłym roku. W tym roku odwiedzi […]
Jan 15: SSIS – niedziałające TRIGGER-y
Zalety oraz wady stosowania TRIGGER-ów w bazach danych, a już w szczególności w przypadku hurtowni danych, to temat na zupełnie inny wpis. W ramach niniejszego wpisu chciałbym opisać co zrobić w sytuacji kiedy chcemy w SQL Server Integration Services wykorzystać obiekt do którego został dodany właśnie TRIGGER. Okazuje się bowiem, że podczas próby załadowania danych […]
Jan 13: Database Snapshots – jak to działa
Ostatnio w pracy miałem okazję dyskutować z moim kolegą Piotrem (autorem bloga msbifun.pl) na temat mechanizmu o nazwie Database Snapshots. Zastanawialiśmy się czy zastosowanie tego mechanizmu będzie odpowiednim podejściem w naszej architekturze przepływu danych. Rozmowa ta zainspirowała mnie do tego aby napisać artykuł na ten temat w ramach niniejszego bloga – dlatego też zapraszam do […]
Jan 09: Power BI – wstęp do języka M czyli LET, IN, listy,rekordy i kilka innych słów kluczowych
Transformacje Power BI dostępne z poziomu interfejsu graficznego są intuicyjne i bardzo proste w użyciu. Jednakże prawdziwa siła tego narzędzia tkwi w języku M pozwalającym osiągnąć niestandardowe funkcjonalności – dziś zrobimy sobie krótkie wprowadzenie do tego języka po to aby rozszerzyć go w kolejnych wpisach – tak więc zapraszam do lektury. Na samym początku warto […]
Jan 08: Power BI – luka bezpieczeństwa?
Usługa powerbi.com pozwala na darmowe utworzenie konta. W celu utworzenia takiego konta należy jednak użyć adresu email, który pochodzi z firmy lub organizacji. W przypadku podania adresu email, który zarejestrowany został u popularnego i publicznego dostawcy dostaniemy stosowny komunikat: Okazuje się jednak, że nie jest (do końca) prawda. Wygląda na to, że Microsoft posiada po prostu listę […]
Jan 06: Kilka słów o tym jak przenieść pliki bazy tempdb
Czasem istnieje potrzeba przeniesienia plików bazy tempdb z jednej lokalizacji do drugiej. Sam osobiście spotkałem się z przypadkiem gdzie pliki tejże bazy znajdowały się w domyślnej lokalizacji na dysku systemowym co jak wiemy nie jest najlepszym rozwiązaniem z kilku powodów. Samo przeniesienie nie jest wybitnie skomplikowane co postaram się przedstawić poniżej. Na samym początku warto […]
Jan 05: Number of Rows Read czyli kilka słów o residual predicate pushdown
Wraz z Service Pack 3 dla SQL Server 2012 oraz Service Pack 2 dla SQL Server 2014 i wyżej otrzymaliśmy pewne udogodnienie w odczytywaniu mechanizmu zwanego Residual Predicate Pushdown, który jest niczym innym jak ukrytym filtrowaniem podczas wykonywania zapytania. Jak to działa? Sprawdźmy to. Na samym początku uruchomimy w bazie AdventureWorksDW2014 następujące zapytanie: SELECT FirstName, […]
Jan 03: Power BI – wyświetlanie wartości zmiennych z wizualizacji języka R
Power BI za pomocą wizualizacji języka R (R script visual) pozwala na wykorzystanie niemalże wszystkich graficznych możliwości pakietu R. W chwili gdy będziemy jednak chcieli wyświetlić wartości pojedynczych zmiennych otrzymamy komunikat z błędem: Zgodnie z komunikatem w Power BI Desktop możemy prezentować wyłącznie wizualizacje, które są generowane przez R Server, a próba wyświetlenia pojedynczej wartości […]
Jan 02: SQL Server – tworzenie sekwencji liczbowych z wykorzystaniem obiektu SEQUENCE
Wśród specjalistów zajmujących się zawodowo bazą danych SQL Server powszechna jest znajomość IDENTITY, czyli pewnej właściwości przypisanej do określonej kolumny tabeli, która ma za zadanie tworzenie automatycznie numerowanej kolumny (więcej o tej właściwości można przeczytać tutaj). Jest jednak obiekt o podobnym zastosowaniu dający w niektórych aspektach nieco więcej możliwości – chodzi mianowicie o obiekt SEQUENCE, […]
Dec 30: Power BI -Merge i Append queries czyli łączenie i unia zbiorów
Kontynuując naszą serię związaną z Power BI dziś powiemy sobie kilka słów na temat łączenia i unii zbiorów, które są jednymi z najpopularniejszych transformacji jakich dokonuje się na danych – zapraszam do lektury. Łączenie danych horyzontalnie (czyli popularny JOIN dostępny w języku SQL) czy też wertykalnie (sqlowy UNION) stało się standardem jeśli chodzi o manipulowanie […]
Dec 29: Power BI – transpose, fill, unpivot czyli czyli ładowanie danych ze struktury typu matrix
Pora zgłębić kolejne możliwości transformacji dostępnych w Power BI. Najlepiej będzie przedstawić ich działanie na “życiowym” przykładzie dlatego też przedstawię jeden z najpopularniejszych problemów z jakimi trzeba się zmierzyć w codziennej pracy. Bardzo często dane które musimy załadować do narzędzia analitycznego nie mają do końca przyjaznej formy tabelarycznej tylko np. matrixa, tabeli przestawnej czy innej […]
Dec 28: Power BI – dynamiczne ładowanie plików z określonej lokalizacji
Dziś pokażemy w jaki sposób pobrać w Power BI dane z plików płaskich o takiej samej strukturze znajdujących się w określonym folderze. Funkcjonalność ta jest bardzo częstym wymogiem – zdarza się, iż z systemów źródłowych generowane są pliki płaskie i narzędzie analityczne musi je załadować. W takiej sytuacji samo ładowanie nie może być ustalone na […]
Dec 27: Power BI – wstęp do Power Query
Power BI wyposażony jest w sprawny mechanizm do tworzenia procesów ETL. Dziś zapoznamy się z interfejsem do tworzenia tychże procesów o nazwie Power Query oraz poznamy kilka podstawowych transformacji dostępnych w tym narzędziu – zaczynajmy! Pierwszym krokiem jest pobranie tych danych ze źródła, którym w naszym wypadku będzie standardowo SQL Server i baza AdventureWorksDW2014. Do […]
Dec 22: Power BI – rozpoczęcie pracy
Power BI ostatnimi czasy jest jednym z najbardziej promowanych narzędzi ze stosu technologicznego Microsoftu. Ogromny nakład pracy jaki jest w niego wkładany spowodował, że zdobywa on coraz większą część rynku konkurując jak równy z równym z takimi narzędziami jak Qlik View czy też Tableau. Sam osobiście bardzo lubię i cenię Power BI gdyż kryje się […]
Dec 21: Hurtownie danych, a narzędzia Self-Service BI
Niedawno miałem okazję napisać parę słów na temat tego czy hurtownie danych są jeszcze potrzebne w erze samoobsługowych narzędzi Business Intelligence takich jak Power BI czy QlikView. Artykuł został opublikowany w ramach serii JPro firmy JCommerce – zapraszam do lektury! http://www.jcommerce.pl/jpro/article/hurtownie-danych-a-narzedzia-self-service-business-intelligence
Dec 18: SQL Server 2016 – translacje w Tabular i Tabular Model Explorer
Od 2012 roku widać pewną tendencję w działaniach Microsoftu jeśli chodzi o zmiany i kierunek rozwoju wbudowanych w SQL Server usług analitycznych. Na przestrzeni czasu usługi te były rozpoznawalne dzięki wielowymiarowym kostkom OLAP, które dawały duże pole do popisu i pozwalały (właściwie nadal pozwalają) osiągnąć bardzo fajne efekty. Jednakże z pewnych względów Microsoft postanowił niejako […]
Dec 04: Wskazówka dnia: Jak sprawdzić zajmowane miejsce przy użyciu sp_spaceused i sys.dm_os_performance_counters
Dziś zajmiemy się dosyć powszechną kwestią, a mianowicie jak sprawdzić rozmiar określonego obiektu w bazie danych – zaczynajmy! Najprostszym sposobem na osiągnięcie pożądanego rezultatu jest użycie wbudowanej w SQL Server funkcji sp_spaceused pełna jej składnia została przedstawiona poniżej: sp_spaceused [[ @objname = ] 'objname' ] [, [ @updateusage = ] 'updateusage' ] [, [ @mode […]
Dec 02: SQL Server 2016 – nowe funkcje daty czasu DATEDIFF_BIG oraz AT TIME ZONE
Każdy z nas zdaje sobie sprawę jak elementarne i ważne w bazach danych są dane daty i czasu. Można powiedzieć, że na przestrzeni kolejnych edycji SQL Server wiele zostało poprawione i udoskonalone – nie inaczej było z SQL Server 2016. W ramach niniejszego artykułu postaram się wskazać nowe funkcjonalności związane z datą i czasem, które […]
Nov 30: Wskazówka dnia: Szybki eksport danych z tabeli SQL Server czyli Import/Export Wizard
Dziś powiemy sobie parę słów na temat możliwości jakie oferuje SQL Server jeśli chodzi o eksport danych w nim zawartych do innych formatów czy też baz danych – chodzi mianowicie o import/export wizard dostępny z poziomu graficznego interfejsu użytkownika w Management Studio. Zaczynajmy! Pierwszym krokiem jaki należy podjąć jest wybór bazy danych z której chcemy […]
Nov 29: SQL Server 2016 – Service Pack 1 czyli rewolucja bazodanowa od Microsoftu
Jakiś czas temu Microsoft wydał Service Pack 1 do swojego flagowego produktu bazodanowego jakim bez wątpienia jest SQL Server 2016. Była to bardzo wyczekiwana aktualizacja naprawiająca zgłaszane przez użytkowników błędy i dodająca parę funkcjonalności. Microsoft oprócz tychże funkcjonalności (które mimo wszystko bardzo pozytywnie zaskoczyły) wywrócił świat bazodanowy do góry nogami. Dlaczego? Otóż wraz z Service […]
Nov 27: Wskazówka dnia: włączenie numerowania linii w Management Studio
Dziś bardzo prosta wskazówka mówiąca o tym jak włączyć numerowanie wierszy w oknie zapytania SQL Server Management Studio. Tak więc otwórzmy Management Studio i nowe okno zapytania i tam z menu głównego wybierzmy Tools, a następnie Options. Naszym oczom ukaże się okno konfiguracyjne Management Studio – na ten moment interesuje nas sekcja Text Editor i […]
Nov 26: Wskazówka dnia: Identyfikacja blokujących transakcji
Dziś zajmiemy się tematem identyfikacji blokujących się sesji. Systemy bazodanowe w wielu przypadkach są mocno obciążone, a co za tym idzie muszą one zapewniać współbieżność transakcji. W momencie gdy nasze zapytania zwalniają i jest to związane z blokadami warto wiedzieć jak ten fakt zidentyfikować. W ramach dzisiejszej wskazówki pokażemy jakie takie informacje znaleźć. Aby zobrazować […]
Nov 25: Wskazówka dnia: SQL Server Error 4064 Cannot open user default database
Witam was w nowej serii na naszym blogu o nazwie “Wskazówka dnia“. Naszym zamierzeniem jest stworzenie “worka” na wszelkiego rodzaju wskazówki, rady czy pojedyncze skrypty, które są za krótkie na osobny artykuł, a w wielu przypadkach mogą okazać się użyteczne – mam nadzieję, że ten nowy format Wam się spodoba szczególnie, że będzie on stosunkowo często […]
Nov 15: Operacje Table/Index Scan oraz Index Seek
Niejednokrotnie byłem świadkiem sytuacji gdy specjaliści IT mniej lub bardziej związani z bazami danych na pytanie o optymalizację zapytań często odpowiadali w stylu “trzeba zrobić tak, żeby był seek”. Stwierdzenie to w niektórych aspektach jest oczywiście prawdziwe, ale generalizowanie w tej sytuacji jest nie tylko niewłaściwe, ale według mnie nieakceptowalne. Temat jest nieco bardziej złożony […]
Nov 13: Linked Server – problemy i możliwości
W ostatnim czasie miałem okazję pracować u jednego z moich klientów nad optymalizacją zapytań. Okazało się, że część z nich działało na bazie transakcyjnej i było uruchamiane cyklicznie aby pobrać dane do bazy służącej jako źródło dla raportów. Zapytania te w dużej mierze opierały się na serwerach połączone (ang. Linked Server) – czy to dobrze? […]
Nov 08: Software development academy – Start@It
Wczoraj tj. 08.11.2016 miałem okazję wygłosić krótką sesję na temat moich początków w branży. Sesja była skierowana do studentów i ludzi stawiających swoje pierwsze kroki w świecie IT. Ogólnie rzecz biorąc zdziwił mnie fakt, iż tak wiele osób przyszło na tego typu spotkanie (dosłownie sala pękała w szwach) mimo to organizatorzy podołali zadaniu i zaprosili […]
Nov 05: Sirius Coding 2016 – podsumowanie
Minęło już trochę czasu odkąd zakończyła się druga edycja hakatonu Sirius Coding, dlatego też postanowiłem napisać parę słów podsumowania. Tak jak wspomniałem była to druga edycja, jednakże dla mnie była to pierwsza w roli organizatora i technologicznego mentora. Już od dłuższego czasu myślałem nad tym aby zorganizować swoistego rodzaju konkurs poświęcony zagadnieniom platformy danych i […]
Nov 02: SQL Server 2016 – Always Encrypted
Bezpieczeństwo danych od zawsze było i jest bardzo istotnym czynnikiem doboru oprogramowania w biznesie. Dostawcy prześcigają się w coraz to nowszych sposobach zabezpieczania i dostępu do danych – nie inaczej jest z SQL Server, który w wersji 2016 wprowadza mechanizm Always Encrypted będący obok opisywanego wcześniej Row Level Security najważniejszą nowością związaną z najnowszą wersją […]
Oct 20: SQL Server 2016 – COMPRESS DECOMPRESS
Kontynuujemy naszą serię w której poznajemy najnowszą odsłonę silnika bazodanowego SQL Server 2016. Tym razem przyjrzymy się nowym funkcjom kompresującym i dekompresującym – zapraszam! Już od dawna SQL Server był wyposażony w mechanizmy kompresujące – na poziomie tabeli czy też indeksu mogliśmy zdecydować o tym czy dany obiekt miał zostać “upakowany” tak aby zajmował mniej […]
Oct 19: SQL Server 2016 – Drop if Exists
Większość z nas spotkała się z przypadkiem gdy chcemy na nowo stworzyć obiekt bez względu na to czy takowy obiekt istnieje czy też nie. Do tej pory musieliśmy radzić sobie używając IF EXISTS – na szczęście w SQL Server 2016 mamy do dyspozycji nową składnię – zapraszam do kolejnego artykułu w którym poznajemy funkcjonalności naszego […]
Oct 16: SQL Server 2016 – Real Time Operational Analytics
W ramach serii “Poznaj SQL Server” omówimy sobie kolejną nowość, która dosyć znacznie zmienia podejście do wszelkiego rodzaju analiz i raportowania w oparciu o SQL Server. Wraz z najnowszą wersją – SQL Server 2016 dostajemy narzędzia dzięki, którym możemy tworzyć analizy czasu rzeczywistego z pominięciem struktur analitycznych takich jak hurtownia danych, kostka OLAP i tym […]
Oct 11: SQL Server 2016 – database scoped configurations
Kontynuujemy naszą serię poświęconą najnowszej wersji SQL Server czyli tej oznaczonej numerem 2016. Tematem dzisiejszego artykułu będą nowe ustawienia bazy danych (ang. Database Scoped Configurations), które wcześniej albo nie były dostępne, albo były możliwe do ustawienia na poziomie instancji lub z użyciem odpowiednich flag- zaczynajmy! Pierwszym pytaniem jakie może się pojawić w waszych głowach to […]
Oct 05: Funkcje agregujące i klauzule GROUP BY oraz HAVING
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. W ramach współpracy międzyblogowej zostałem zaproszony do napisania wpisu na seequality.net za co serdecznie dziękuję Adrianowi i Sławkowi. Jako temat pozwoliłem sobie wybrać epizod w ramach serii Od 0 do TSQL zatytułowany Funkcje agregujące i klauzula GROUP BY oraz HAVING. Niejednokrotnie analitycy stają […]
Sep 30: PLSSUG – Columnstore zero to hero
Poniżej zamieszczam prezentację jaką miałem okazję wygłosić 29 września 2016 na lokalnym spotkaniu Polskiej Grupy Użytkowników SQL Server w Katowicach. Mam nadzieję, że cała sesja przypadła uczestnikom do gustu (przekonamy się jak podsumuję wyniki ankiet) – szczególnie, że poruszyliśmy naprawdę ciekawy “kawałek” SQL Servera. Dziękuję Andrzejowi Kukule – liderowi naszej grupy – za umożliwienie powiedzenia […]
Sep 19: 64 Spotkanie Polskiej Grupy Użytkowników SQL Server w Katowicach
Zapraszam na 64 spotkanie Polskiej Grupy Użytkowników SQL Server w Katowicach, które odbędzie się na ulicy Opolskiej 22 w siedzibie firmy Altkom o godzinie 18:00. Podczas spotkania będę miał przyjemność wygłosić sesję o indeksach kolumnowych. Oprócz mojego wystąpienia będzie można posłuchać o wizualizacji danych podczas sesji online prowadzonej przez znaną MVP Stacie Varga. Na spotkanie […]
Sep 05: Sirius Coding – pierwszy hakaton poświęcony w całości platformie danych Microsoft
Mam zaszczyt ogłosić, iż w tym roku ja (Adrian Chodkowski), Sławomir Drzymała wraz z Marcinem Szeligą oraz Damianem Widerą roku będziemy organizatorami hakatonu poświęconemu w całości rozwiązaniom platformy danych Microsoft. Całość odbędzie się pod patronatem firmy JCommerce i Polskiej Grupy Użytkowników SQL Server w Katowicach na Ulicy Kościuszki 227. Jest to unikalne wydarzenie na skalę […]
Aug 29: SQL Server 2016 – Query Store część 2
W ostatnim artykule omówiliśmy sobie wstępne informacje na temat mechanizmu Query Store. Mając te podstawowe informacje możemy przejść do obiektów powiązanych z opisywanym mechanizmem, scenariuszami ich użycia oraz bardziej zaawansowanymi funkcjonalnościami – zapraszam do lektury! Na początku wypiszemy sobie widoki systemowe związane z Query Store po to, aby utrwalić ogólną informację na ich temat – […]
Aug 28: SQL Server 2016 – Query Store część 1
Query Store jest jedną z nowych funkcjonalności SQL Server 2016, które zaintrygowały mnie najbardziej. Mechanizm ten pozwala m.in na detekcję ogólnych problemów wydajnościowych, parameter sniffingu i przede wszystkim pozwala na trwałe przechowywanie danych na temat zapytań w naszej bazie danych. Każdy z nas napotkał na problem różnych planów zapytań dla tego samego zapytania – do […]
Aug 23: Pierwszy SQLSaturday w Polsce!
Jak zapewne większość z Was wie formuła “małego” SQLDay w postaci SQLDayLite odchodzi do lamusa. Począwszy od tego roku zastąpi go nowa inicjatywa Polskiej Grupy Użytkowników SQL Server, a mianowicie SQLSaturday. Wydarzenia tego typu od lat odbywają się na całym świecie pod szyldem PASS i w tym roku pierwszy raz zagoszczą w Polsce. Oprócz standardowych […]
Jul 24: Kilka słów o STATISTICS IO, STATISTICS TIME
Jedną z podstawowych informacji jakie możemy uzyskać w trakcie optymalizacji zapytań jest informacja o statystykach czasowych i statystykach związanych z odczytami stron danych. Ale co tak naprawdę te komunikaty oznaczają? W ramach niniejszego artykułu postaram się Wam przybliżyć dwie komendy pozwalające uzyskać te informacje, a mianowicie SET STATISTICS TIME oraz SET STATISTICS IO. Do celów […]
Jul 21: Ostrzeżenia optymalizatora – ColumnsWithNoStatistcs, PlanAffectingConvert, UnmatchedIndexes, NoJoinPredicate
Czasem optymalizator chce nam przekazać komunikat, który może być dla nas ważną wskazówką jeśli chodzi o optymalizację zapytań. W ramach niniejszego artykułu postaram się przedstawić wybrane ostrzeżenia na które możecie natrafić podczas przeglądania Waszych planów wykonań. ColumnsWithNoStatistcs Zapewne każdy z Was zdaje sobie sprawę jak ważnym obiektem dla optymalizatora SQL Servera są statystyki. Obiekty te […]
Jul 11: Błąd – “The shared dataset definition is not valid. Details: The required attribute ‘Name’ is missing”
Dziś spotkałem się z dosyć dziwnym błędem związanym z SQL Server Data Tools 2015 oraz Reporting Services 2016. W moim rozwiązaniu chciałem stworzyć sobie współdzielony zestaw danych (ang. Shared Data Set) i podczas próby wrzucenia zestawu na serwer otrzymałem błąd “The shared dataset definition is not valid. Details: The required attribute ‘Name’ is missing“. Kilkukrotnie […]
Jul 09: SQL Server 2016 – komenda DBCC dla Analysis Services
SQL Server 2016 dostarcza nam zmian i nowości nie tylko w silniku bazodanowym, ale również w usługach powiązanych takich jak Integration Services, Analysis Services czy też Reporting Services. W ramach niniejszego artykułu zajmiemy się jedną z najbardziej przydatnych funkcjonalności związanych z kostkami analitycznymi Analysis Services – chodzi mianowicie o dostępność komendy DBCC sprawdzającą konsystencję i […]
Jul 01: Narzędzia Business Intelligence dla menadżera – Microsoft BI
Nie dawno miałem okazję napisać parę słów dla JCommerce o platformie Business Intelligence jaką oferuje Microsoft. Cały artykuł jest dość subiektywny, ale mimo wszystko wydaje mi się, że opisuje większość kluczowych komponentów wchodzacych w skład platformy. Oryginalny artykuł znajdziecie tutaj. Microsoft Data Platform – idealna platforma Business Intelligence dla biznesu? Wdrożenie systemu Business Intelligence nie […]
Jun 14: SQL Server 2016 – Row level security
Kontynuujemy serię poświęconą nowościom w SQL Server 2016. Naszym dzisiejszym bohaterem jest Row Level Security (RLS) czyli technologia pozwalająca zabezpieczać dane na poziomie wierszy – zapraszam do lektury! Dane zawarte w bazach danych od zawsze wymagały pewnego rodzaju zabezpieczeń. Zabezpieczenia te na przestrzeni lat były coraz bardziej wyrafinowane, jednak dla wielu z nas nie było […]
Jun 09: SQL Server 2016 – Dynamic Data Masking
Kontynuujemy naszą serię na temat nowości w najnowszej wersji SQL Server 2016. Bohaterem dzisiejszego artykułu jest technologia Dynamic Data Masking pozwalająca na ukrywanie wrażliwych danych przed niepowołanymi osobami. technologia ta już od jakiegoś czasu jest ogólnie dostępna w ramach chmurowej bazy SQL Azure, a już od pierwszego czerwca mogą się nią cieszyć użytkownicy najnowszego SQL […]
Jun 07: SQL Server 2016 – Temporal tables
Za nami premiera nowej edycji naszego ulubionego systemu bazodanowego czyli SQL Server 2016. Wraz z tą wersją pojawiło się wiele nowości zarówno w warstwie bazy transakcyjnej OLTP, wewnętrznych struktur, business intelligence jak i zaawansowanej analityki. Wiele zmian pojawiło się również w samych narzędziach towarzyszących poszczególnym technologiom takich jak Management Studio czy też Visual Studio. W […]
Jun 06: SeeQuaLity #4 Indexes – How it works
Każdy z nas to wie, że czas mija bardzo szybko. Dopiero co zakładaliśmy ze Sławkiem niniejszego bloga, a już napisaliśmy ponad 70 postów w języku polskim i angielskim. Parę miesięcy temu postanowiliśmy również robić sesje na wybrany temat związany z platformą danych Microsoft. Sesje te przybrały formę regularnych spotkań społecznościowych – równo co dwa tygodnie […]
Jun 01: SQL Server 2016 – już jest!
Nareszcie się doczekaliśmy! Microsoft zaplanował na dziś premierę swojego flagowego produktu platformy danych – SQL Server. Od początku dnia większość pasjonatów SQL Server nerwowo odswieżało strony technetu z nadzieją ujrzenia linka do pobrania najnowszej wersji swojego ulubionego produktu. Przed chwilą pojawiły się oficjalne linki na Azure, MSDN i Technet. Pobieramy, instalujemy, testujemy! https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2016
May 21: SQLDay 2016 za nami! – Relacja z wydarzenia
Czas ma to do siebie, że mija bardzo szybko, prawidłowość ta szczególnie doskwiera gdy spędza się go w miłym towarzystwie rozmawiając, wymieniając się poglądami i spostrzeżeniami oraz przede wszystkim słuchając o rzeczach interesujących, związanych ze swego rodzaju pasją. Ja należę do grona szczęśliwców gdyż jedną z moich większych pasji czy też zainteresowań jest szeroko pojęta […]
May 15: SeeQuaLity #3 Integration Services Performance Tuning
Zgodnie z obietnicą zamieszczam slajdy z naszego ostatniego spotkania, które miało miejsce 10.05.2016. Mam nadzieję, że tematyka którą poruszyliśmy zmotywowała Was do dalszego zgłębiania nieco bardziej zaawansowanych mechanizmów związanych z naszym ulubionym narzędziem ETL tj. Integration Services. Przy okazji przypominam, że już 25.05.2016 odbędzie się kolejna sesja, którą tym razem poprowadzi Sławek – link do […]
Apr 30: Power BI Desktop. Błąd podczas zmiany nazwy kolumny w Power Query.
Podczas zmiany nazwy kolumny w Power Query po zapisaniu zmian mozna natknąć się na błąd: The name "atribute name"is already used for a column on table "table name". Choose a different name. Okazuje się, że powód błędu jest bardzo błachy i z całą pewnością powinien zostać poprawiony przez autorów. Błąd pojawia się na przykład wtedy, […]
Apr 29: Prosta analiza odchyleń (outliers) w Power BI z wykorzystaniem programu R
Dzisiejszy post będzie bardzo krótki, natomiast wynika to też z faktu, że w PowerBI Desktop w połączeniu z “R” możemy uzyskać świetne rezultaty małym nakładem pracy. “Outliers”, czyli wartości, które są skrajnie różne od pozostałych w badanej domenie mogą zniekształcić wynik analiz. Czasami to one będą stanowić najciekawsze punkty obserwacyjne, natomiast w większości przypadków będą […]
Apr 29: Seequality #2 – Typy danych w Microsoft SQL Server – dlaczego są takie ważne?
Druga sesja seequality za nami. Sesja poświęcona typom danych w Microsoft SQL Server. Podczas prezentacji zostały omówione różne typy danych, pokazane zostały dobre i złe praktyki podczas doboru typów danych oraz wskazano zagrożenia, które mogą wynikać z nieprawidłowego doboru zmiennych. Poniżej znajduje się prezentacja. Nagranie: Prezentacja:
Apr 25: Funkcje analityczne w TSQL – ROLLUP, CUBE, GROUPING_SETS
Transact-SQL daje nam dosyć dużo możliwości związanych z agregacją danych. Większość deweloperów namiętnie używa standardowych wyrażeń grupowanych, funkcji okna i tym podobnych, ale niewielu zdaje sobie sprawę z funkcji analitycznych wbudowanych w nasz ulubiony język zapytań. Wyrażenia te możemy zgrupować pod pojęciem funkcji analitycznych – w ramach niniejszego artykułu powiemy sobie o trzech niezwykle ciekawych […]
Apr 24: Funkcje LAG i LEAD w TSQL
SQL Server 2012 przynosił ze sobą wiele użytecznych zmian. Jednymi z moich ulubionych funkcji wprowadzonych w tamtej wersji są LAG i LEAD, które pokrótce chciałbym opisać w ramach niniejszego posta – zapraszam! Zapewne wielu z Was zna bardzo dobrze funkcje okna takie jak RANK czy ROW_NUMBER – mógłbym również zaryzykować tezę, iż funkcje te większość […]
Apr 18: Operator APPLY w TSQL
Do napisania dzisiejszego artykułu skłonił mnie fakt, iż naprawdę niewiele osób piszących zapytania TSQL używa tzw. zaawansowanych elementów języka. Dlaczego tak się dzieje? Nie jestem pewien ale wydaje mi się, że słowo “zaawansowanych” już dostatecznie odstrasza potencjalnych zainteresowanych – w moim mniemaniu całkowicie niesłusznie. Jednym ze “straszniejszych” elementów TSQL jest bez wątpienia APPLY – część […]
Apr 15: Seequality #1 – Introduction to Query Plans
Pierwsza sesja seequality za nami! Opowiedzieliśmy sobie o planach wykonywania zapytań – mam nadzieję, że się Wam podobało. Poniżej zamieszczam slajdy z tego wydarzenia – myślę, że w niedługim czasie pojawi się zapis wideo oraz pozostałe materiały. Przy okazji zapraszam na kolejną sesję, która odbędzie się 29.04.2016 o godzinie 15:15 w siedzibie firmy JCommerce- to […]
Apr 12: Wyświetlanie tabeli z dodatku R w Power BI Desktop
Korzystając z dodatku, który umożliwia integrację pomiędzy “R” i Power Bi Desktop możemy natknąć się na potrzebę wyświetlenia zwykłej porcji danych lub na przykład pewnego podsumowania danych w formie tabelarycznej. O ile pracując z programem “R” po wpisaniu komendy i jej wywołaniu naszym oczom ukaże się rezultat to rezultat ten zostanie zwrócony bezpośrednio w konsoli. […]
Apr 11: Excel Data-Mining Add-ins Tutorial krok po kroku
Tym razem zostanie przedstawiony Office Data Mining Add-In, czyli dodatek do Microsoft Excel, który służy do eksploracji danych. Eksploracja danych to pojęcie niezwykle szerokie, ale w ogólności oznacza odkrywanie pewnej ukrytej wiedzy z danych. Co prawda w bieżącym i następnych postach będzie trochę informacji teoretycznych, natomiast dociekliwych i zainteresowanych od razu odsyłam na wikipedię (http://en.wikipedia.org/wiki/Data_mining), […]
Apr 04: dplyr – filtracja i sortowanie rezultatu
Filtrowanie danych w R może odbywać się na wiele różnych sposobów. W ramach dzisiejszego krótkiego artykułu przedstawię jak to zrobić wykorzystując pakiet dplyr. Zaczynajmy! Pierwsze kroki zapewne już znacie – musimy załadować interesujące nas pakiety i stworzyć zmienną typu tbl_df. library("dplyr") library("hflights") df<-hflights Mając już do dyspozycji interesujące nas funkcje przyjrzyjmy się pierwszej z nich […]
Apr 03: dplyr – selekcja atrybutów i aliasowanie
W ostatnim artykule przejrzeliśmy możliwości pakietu pakietu dplyr rozszerzającego możliwości języka R jeśli chodzi o szybkie rozpoznanie danych. Dziś chciałbym zaprezentować jedną z fundamentalnych funkcji wchodzących w skład tego pakietu – chodzi mianowicie o funkcję select. Entuzjaści języka TSQL mogą czuć się jak w domu ponieważ funkcja ta ma podobne znaczenie jak przy manipulacji danymi […]
Apr 02: dplyr – szybkie wyświetlanie danych – tbl_df, sample_n, sample_frac
Język R zdobywa coraz większą popularność w kręgach związanych z szeroko pojętą analizą danych. Obecnie jest on zdecydowanym liderem w tej kategorii i raczej nic w najbliższej przyszłości nie zagrozi jego pozycji. Część z Was na pewno miała do czynienia w mniejszym lub większym stopniu z tym językiem, a po jego integracji z narzędziami platformy […]
Mar 20: Power Query – tutorial cz. 2
Zapraszamy również do zapoznania się z serią Poznaj Power BI gdzie omawiane są również transformacje Power Query – serię znajdziesz tutaj. W jednym z poprzednich postów został przedstawiony dodatek do Excela Microsoft Power Query. W tym poście temat się nie zmieni i ten wpis również będzie traktował o Microsoft Power Query, zmieni się natomiast zakres […]
Mar 13: Microsoft Data Driven
W ostatnim czasie miało miejsce bardzo ciekawe wirtualne wydarzenie dotyczące platformy danych od Microsoft. Wydarzenie to zostało nazwane Data Driven SQL Event – można było oglądać krótkie sesje na temat wybranego elementu narzędzia. Kluczowym elementem był oczywiście SQL Server oraz funkcjonalności związane z jego najnowszą, niewydaną jeszcze wersją 2016. Sesje były bardzo ciekawe, odpowiedni poziom […]
Mar 12: Power Query – tutorial cz. 1
Zapraszamy również do zapoznania się z serią Poznaj Power BI gdzie omawiane są również transformacje Power Query – serię znajdziesz tutaj. Microsoft Power Query (PQ) to dodatek do arkusza kalkulacyjnego Microsoft Excel, który został zaprojektowany przez firmę Microsoft do wspierania rozwiązań klasy Self-Service Business Intelligence. Równie przydatny może okazać się jednak do codziennej pracy z […]
Feb 28: SQLDAY 2016 – znamy agendę!
Znany jest już harmonogram tegorocznej konferencji SQLDAY, czyli największego wydarzenia z zakresu baz danych, business intelligence i zaawansowanej analityki spod znaku Microsoft w Polsce! W tym roku agenda przedstawia się wyjątkowo interesująco. Czeka nas ogromna dawka wiedzy, którą przedstawią nam znani prelegenci nie tylko z naszego rodzimego podwórka, ale również światowej sławy specjaliści wśród nich […]
Feb 25: Funkcje VBA w MDX
W języku MDX zaimplementowano pewną mało znana funkcjonalność, chodzi mianowicie o zestaw funkcji języka VBA. Tak więc jeśli chcemy przeprowadzić proste operacje podobne do tych jakie wykonujemy formułami w Excelu możemy użyć wspomnianych funkcji – do dyspozycji mamy ich naprawdę dużo (całą ich listę znajdziemy tutaj). W tym miejscu może pojawiać się pytanie jak użyć […]
Feb 17: Usuwanie instancji SSAS
Nigdy nie spotkałem się z potrzebą usuwania istniejącej isntancji SQL Server Analysis Services, aż do wczoraj. Kiedy stanąłem przed tym problemem okazało się, że nie jest to takie proste jak mogło by się wydawać. Nie byłem na przykład w stanie odinstalować instancji korzystając z “SQL Server Setup wizard”. W sieci znajduje się kilka poradników w jaki […]
Feb 12: Zmiana właściciela schematu i znikające uprawnienia
W SQL Server istnieje dosyć ciekawe zjawisko związane z uprawnieniami i zmianą właściciela schematu. Co ciekawe mimo, iż informacje o tym możemy znaleźć w oficjalnej dokumentacji to jednak wiedza ta nie jest rozpowszechniona – dlatego też postanowiłem napisać o tym parę słów. Tak więc na samym początku stwórzmy sobie w dowolnej testowej instancji trzy loginy. […]
Feb 10: Kilka słów o autoinkrementacji w SQL SERVER
Autoinkrementacja w SQL Server jest jedną z bardzo popularnych funkcjonalności. Ale czy wiemy o niej wszystko?Wydaje mi się, że nie. W większości przypadków jej użycie sprowadza się do nadania klucza głównego do tabeli i wskazanie aby był auto numerowany. Dlatego też postanowiłem zebrać parę faktów na ten temat i umieścić w ramach niniejszego artykułu – […]
Feb 09: Nowy “magic quadrant” od Gartnera
Parę dni temu Gartner opublikował najnowsze zestawienie narzędzi klasy Business Intelligence i platform analizy danych – tzw. “magic quadrant” możecie zobaczyć poniżej. Pokusiłem się o bardzo krótki post na ten temat ze względu na to, iż pozwala on na wysnucie dosyć ciekawych konkluzji. Zapraszam! Część ludzi traktuje powyższe zestawienie jako wyrocznię – część kompletnie ignoruje. […]
Feb 08: Wyszukiwanie zdjęć w Bing za pomocą Power Query i wizualizacja zdjęć w Power BI Desktop
Power Query jest niezwykle użyteczny i może być wykorzystywany do realizacji wielu, różnych celów. Dzisiaj chciałbym pokazać w jaki sposób można wykorzystać aplikację dostępne w Azure Marketplace – w tym przypadku aplikację Bing Search. Pobrane zdjęcia następnie zostaną pokazane na raporcie w Power Bi Desktop. W Power Bi Desktop, w Power Query dodajmy nową funkcję, […]
Feb 07: TOP 5 ulepszeń Excel 2016
Jakiś czas temu miała miejsce premiera nowego Office 2016. Jak zawsze można było się o tym dowiedzieć z ogromnej ilości aktualności, które pojawiały się w różnych miejscach sieci. Ze względu na fakt, iż najwięcej czasu spędzam nad danymi najbardziej zainteresowały mnie nowości związane z Excel oraz wbudowanymi w niego możliwościami analizy danych (Business Intelligence). Liczyłem, […]
Feb 04: PLSSUG – Power BI Desktop
Cześć! Poniżej postanowiłem załączyć prezentację jaką miałem okazję wygłosić na spotkaniu Polskiej Grupy Użytkowników SQL Server w Katowicach w październiku 2015 roku. Podczas prezentacji przedstawiłem Power BI Desktop jako narzędzie to tworzenia procesów ETL, modeli oraz wizualizacji danych.
Jan 26: sys.dm_db_index_usage_stats – czy nasz indeks jest używany?
Indeksy w środowisku bazodanowym są powszechnym sposobem na przyspieszenie działania naszych zapytań. Tak jak we wszystkim również i w tym wypadku ważne jest aby nie przesadzić ponieważ nadmiar indeksów może być nawet bardziej szkodliwy niż ich brak. Tutaj pojawia się pytanie skąd wiadomo, które indeksy są używane przez zapytania, a co za tym idzie, które […]
Jan 25: Typy daty i czasu w SQL Server
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. Po typach tekstowych oraz liczbowych przyszła pora na omówienie typów daty i czasu. Część z Was może pomyśleć, iż datę i czas można przechowywać jako wartość liczbową? Generalnie jest to możliwe – pozbawiamy się wtedy jednak możliwości jakie oferuje użytkowanie typów przeznaczonych do […]
Jan 24: Typy liczbowe w SQL Server
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. W poprzednim poście omówiliśmy typy tekstowe wbudowane w SQL Server. Oczywiście to nie jedyna grupa typów omawianym przez nas środowisku bazodanowym – dziś omówimy typy przechowujące wartości liczbowe. Jest ich kilka i każdy z nich posiada odmienne zastosowania. Poniżej prezentujemy listę typów liczbowych, […]
Jan 20: Typ SQL_Variant w SQL Server
Ciekawym typem wbudowanym w SQL Server jest SQL_VARIANT. Pozwala on na przechowywanie wartości o różnym typie danych w ramach pojedynczej kolumny czy też zmiennej. W ramach niniejszego artykułu postaram się przybliżyć ten typ danych i wskazać zarówno jego wad jak i zalet. Gdy zdefiniujemy zmienną typu SQL_Variant to może ona przechowywać np. wartości CHAR, DECIMAL […]
Jan 17: 58. Spotkanie PLSSUG w Katowicach 28 Styczeń, 2016 18:00
Zapraszamy na comiesięczne spotkanie katowickiego oddziału Polskiej Grupy Użytkowników SQL Server (PLSSUG). W tym miesiącu będziemy mieli okazję posłuchać dwóch świetnych specjalistów – światowej klasy specjalista Alberto Ferrari opowie o radzeniu sobie z różnymi połączeniami między tabelami w DAX, a Grzegorz Stolecki nasz lokalny MVP opowie o mechanizmie przechwytywania zmian w SQL Server tj. Change […]
Jan 09: Strony danych i ekstenty w SQL Server
Wszystkie dane w SQL Server fizycznie składowane są w stronach danych. Dziś właśnie zajmiemy się tą tematyką – postaram się ją przybliżyć na takim poziomie abyśmy mogli w późniejszym okresie dotykać tematów już nieco bardziej skomplikowanych. Tak więc każda dana w SQL Server fizycznie składowana jest na stronach danych. Każda z nich jest ujednolicona pod […]
Jan 06: Pliki i grupy plików w SQL Server
Baza danych stworzona w ramach SQL Server może składać się z następujących struktur plikowych: Plik główny (Primary data file) -plik główny bazy danych, który posiada każda baza danych. W ramach pojedynczej bazy danych może występować tylko jeden plik główny. Przechowuje on dane oraz pełni rolę kontrolną nad pozostałymi plikami. Pliki bazy danych w SQL Server […]
Jan 05: Typy tekstowe w SQL Server
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. SQL Server posiada szereg wbudowanych typów danych. Każda kolumna,parametr czy też zmienna posiada swój własny typ danych. Zrozumienie tej koncepcji jest niezmiernie ważne jeśli chcemy na poważnie pracować z bazami danych. Artykuł ten ma za zadanie pogłębić Waszą wiedzę z zakresu tej tematyki […]
Jan 04: Instrukcje warunkowe CASE i IIF w TSQL
Artykuł ten jest częścią serii Od 0 do TSQL, którą znajdziesz tutaj. Dzisiejszym tematem w ramach serii Od 0 do TSQL będzie instrukcja CASE oraz funkcja IIF. Służą one do tworzenia tak zwanych instrukcji warunkowych – czym one są oraz jak ich użyć opowiem w dalszej części niniejszej publikacji. Czasem w naszym zapytaniu chcemy […]
Jan 03: Porządkowanie wyników z wykorzystaniem ORDER BY i TOP
Artykuł ten jest częścią serii Od 0 do TSQL, którą znajdziesz tutaj. W ostatnim artykule rozszerzyliśmy sobie wiedzę na temat filtrowania przy pomocy klauzuli WHERE oraz predykatów logicznych, słów kluczowych BETWEEN oraz LIKE. Jednak za każdym razem gdy dostawaliśmy określone dane w rezultacie nie były one w żaden sposób uporządkowane. Niejednokrotnie otrzymany rezultat może […]
Jan 02: Klauzule BETWEEN oraz LIKE
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. W niniejszym poście rozszerzymy tematykę filtracji danych przy pomocy WHERE. Wprowadzimy dwie niezmiernie użyteczne klauzule tj. BETWEEN oraz LIKE. Pierwsza z nich jest niczym innym jak aliasem operatora AND użytego w określony sposób. Dla przykładu możemy sobie wyobrazić sytuację, w której chcemy […]
Jan 01: Playing in the sandbox full of data using Microsoft’s toys! [PL]
Zapraszam do obejrzenia nagrania z mojej sesji, która miałem przyjemność wygłosić dla studentów kilku czołowych polskich uczelni. Sesja przygotowana w stylu “Power BI Power Hour”, która pokazuje przykład zastosowania technologii Microsoft w pracy z danymi. Podczas sesji pokazałem w jaki sposób pobrać zbiór danych (w tym przypadku o przepisach kulinarnych) z Internetu oraz co potem […]
Dec 31: Klauzula WHERE i operatory OR i AND
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. Dziś w ramach kursu Od 0 do TSQL zajmiemy się operatorami porównania oraz klauzulą filtrującą WHERE. W poprzedniej części nauczyliśmy się wyświetlać określone dane z pojedynczej tabeli, jednak w większości przypadków pobranie wszystkich wpisów tabeli nie jest dla nas wygodne ze względu […]
Dec 30: Podstawowa składnia SELECT
Artykuł ten jest częścią serii Od 0 do TSQL którą znajdziesz tutaj. Witamy w pierwszym epizodzie naszego kursu Od 0 do TSQL! Jak to mówią pierwsze koty za płoty, dlatego też zaczynamy! Dzisiejszym tematem jakim się zajmiemy jest podstawowa klauzula wchodząca w skład języka TSQL, a mianowicie SELECT. Klauzula ta ściślej rzecz ujmując jest […]
Dec 29: Czy to jest nazwa BigData czy Pokemon?
Osobiście nie gram w gry, ale tę pokochałem. Zobacz, zagraj i czerp inspiracje. https://pixelastic.github.io/pokemonorbigdata/
Dec 01: Direct Query w PowerBI
W najnowszej odsłonie PowerBI Desktop dostaliśmy możliwość bezpośredniego odpytywania źródła danych przy pomocy technologii DirectQuery! A co za tym idzie nasz model może być zarówno statyczną kopią danych źródłowych wymagającą cyklicznych przeładowań, jak i interfejsem raportowym odpytującym źródło danych. Do tej pory większość modeli nad jakimi pracowałem czy to pod postacią Power Pivot czy też […]
Nov 15: Konkatenacja pól z wartością NULL w TSQL
Próbowaliście kiedyś łączyć wartości kilku pól i w wyniku tej operacji otrzymywaliście NULL? Dzieje się tak ze względu na fakt, iż NULL jest nieporównywalny z żadnym typem danych tak więc dodanie jakiejkolwiek wartości do NULL w rezultacie daje NULL. Aby obejść ten problem mamy kilka możliwości, które postaram się przedstawić w dalszej części tego artykułu. […]
Oct 10: Operatory unarne w Analysis Services
W niniejszym poście chciałbym krótko wprowadzić czytelnika w tematykę i zachęcić do zgłębienia tematu – szczególnie, że ta technika bywa niezwykle przydatna. Czym są operatory unarne? Jest to technika pozwalająca zaprogramować dostosowane do określonych potrzeb operacje agregacji/zwijania. W standardowych hierarchiach elementy dzieci są agregowane przy użyciu standardowych funkcji agregacji takich jak np. suma której znakiem jest […]
Oct 01: SQLDAY: Procesowanie i partycjonowanie SSAS od podszewki
W ostatnim czasie miałem zaszczyt wygłosić prelekcję na temat procesowania i partycjonowania SSAS na największej konferencji technologicznej w Polsce poświęconej zagadnieniom bazodanowym i analitycznym tj. SQLDAY2015. Wideo z tego wydarzenia można obejrzeć poniżej.
Sep 30: Ukrywanie współdzielonego wymiaru dla jednej z kostek
W wielu przypadkach deweloperzy muszą współdzielić wymiary pomiędzy kostkami w ramach tego samego projektu SQL Server Analysis Services. Osiągnięcie pożądanego efektu jest bardzo proste i nie wymaga specjalnych działań. Co natomiast w przypadku gdy chcemy współdzielić wymiar ale nie udostępniać wszystkich hierarchii dla jednej z kostek? Realnych przykładów jest bardzo wiele np. jedna kostka porusza […]
Aug 01: PLSSUG – Wprowadzenie do modelu tabelarycznego
Jakiś czas temu miałem okazję wygłosić sesję wprowadzającą do modelu tabelarycznego Analysis Services. Nagranie z tego wydarzenia można znaleźć poniżej.
Apr 04: Usługi w SQL Server czyli Configuration Manager
Dziś chciałbym napisać parę słów na temat usług systemowych związanych z SQL Server. Temat już wielokrotnie był poruszany zarówno na różnego rodzaju konferencjach jak i na blogach, mimo to nieraz sprawia on niemałe problemy. Na samym wstępie warto zaznaczyć, że SQL Server jest systemem dlatego też związanych z nim jest wiele usług systemowych, a nie tylko […]
Feb 08: Właściwość MDXMissingMemberMode
Dziś chciałbym napisać parę słów na temat właściwości MDXMissingMemberMode dostępnej w kostkach wielowymiarowych SQL Server Analysis Services. Właściwość ta odnosi się do wymiaru i czasem istnieje potrzeba jej zmiany. Posiada ona trzy możliwe wartości: Default Error Ignore gdzie domyślną wartością jest Ignore. W momencie gdy zostawimy domyślne ustawienie , wszystkie referencje z naszego kodu MDX […]
Jan 21: Znikający Named Set w Analysis Services Multidimensional
Dziś odkryłem coś co może być dla was całkiem interesujące jeśli pracujecie z technologią Microsoft Business Intelligence. W moim projekcie Analysis Services w skrypcie kalkulacyjnym miałem kilka Nazwanych Zestawów (ang. Named Set) – po ich napisaniu chciałem je oczywiście przetestować. Wszystko wyglądało w porządku dopóki nie zorientowałem się, że część zestawów nie było widocznych w […]
Jan 17: Widok utworzony w MS SQL Server nie pokazuje poprawnych rezultatów
Istnieje wiele artykułów i sygnałów, aby nie używać “SELECT *” w kodzie produkcyjnym. Z łatwością można znaleźć wiele z nich w internecie jak np. ten: here Okazuje się jednak, że autorzy niemal zawsze zapominają o jednym ważnym czynniku, który może spowodować, że za używanie “SELECT *” zapłacimy najwyższą cenę, a mianowicie otrzymamy niewłaściwe rezultaty. Co gorsza serwer […]
Jan 16: Hello World!
Albert Einstein kiedyś powiedział: “Ważne jest by nigdy nie przestać pytać. Ciekawość nie istnieje bez przyczyny. Wystarczy więc, jeśli spróbujemy zrozumieć choć trochę tej tajemnicy każdego dnia[…] Kto nie potrafi pytać nie potrafi żyć.”. Seequality to blog poświęcony technologiom platformy danych Microsoft który ma za zadnie poruszyć nieliczną polską blogosferę poświęconą temu stosowi technologicznemu. Blog […]
Apr 27: SQLDAY 2014!
Miło mi poinformować, że będziemy mieli okazję uczestniczyć w corocznej konferencji branżowej SQLDAY. Więcej na temat samej konferencji możecie znaleźć na oficjalnej stronie (http://conference.plssug.org.pl/) : SQLDay to doroczna konferencja organizowana przez Polish SQL Server User Group – stowarzyszenie, które co miesiąc w ośmiu miastach Polski zaprasza na spotkania kilkuset sympatyków, różnie rozumianych, danych. SQLDay to jednocześnie największa w tej części Europy […]
Last comments