I’m speaking at #ITDevConnections 2018!

ITDev Connections Side Banner

I’m speaking at #ITDevConnections 2018! Join me in Dallas and learn on topics such as:

  • Blockchain Demystified for Business Intelligence Professionals
  • Data Analytics with Azure Cosmos Schema-less Data and Power BI
  • R in Power BI for Absolute Beginners

There is also a Women in Technology lunch and I’m excited about that, too!

Join me in Dallas this October!

I’m excited to see that some of my SQLFamily friends are going, such as Mindy Curnett, Kevin Kline, Bob Ward and Tim Mitchell. I’m looking forward to going to sessions as an attendee, too!

You can find the agenda here.

SPECIAL OFFER:Use promo code STIRRUP by September 7 and save on your pass!*

  • All Access Pass – $1899 with code STIRRUP (a $2699 value)
    Includes Pre-Conference workshop plus 200+ sessions and networking
  • Essentials Pass – $1199 with code STIRRUP (a $1799 value)
    Includes 200+ sessions and networking

All Access Pass – $1899 with promo code STIRRUP (a $2699 value) 

Includes everything listed in the Essentials Pass, PLUS you gain access to one Pre-Conference Workshop, where you’ll spend a full day in the classroom with our experts.

Choose from 8 workshops:

  1. Migrating to Windows 10 – Notes From the Field
  2. Mastering ASP.NET Core, Angular 6 and EF Core
  3. From Beginning to Expert SQL Programmer in One Day
  4. Progressive Web Apps From Beginner to Expert
  5. ConfigMgr and Azure – A Flexible, Powerful and Compelling Combination
  6. Practical Performance Monitoring
  7. Build Intelligent Applications with A.I. Technologies
  8. Going Serverless Using Azure

Essentials Pass – $1199 with promo code STIRRUP (a $1799 value)

Includes:

  • Mix and Match 150+ Tracks/Sessions
  • Access to Session Presentation Materials
  • Vendor Receptions
  • Networking Events
  • Breakfast and Coffee Breaks
  • Networking Luncheon
  • Conference Registration Giveaway
  • and more!

*Prices increase after September 7, 2018. Must use code to receive discount. Non-transferable. Cannot be applied to previously paid registrations.

Microsoft Build 2018 Day 2 Keynote Summary: Better developer experiences across devices

dotnet-core3

This blog is my takeaways from Microsoft’s Build 2018 conference, Day 2.

Communication is such an essential skill and it is even more crucial in today’s connected world. I love what Microsoft are doing with ML in Word, with WinML. It will improve people’s written communication skills since it improves the spell and grammar. This is an awesome experience and can help ANYONE to be a better writer, including kids. I do think that some people can get put off writing because they are worried about the spelling and grammar, and I hope that this will empower them. It’s also important for people with dyslexia since it can give them more confidence in their written communication. Kevin Gallo says Microsoft is also using Windows ML in their own products. The demo showed intelligent grammar checking, and that ability can be life changing for people who need the help.

For developers, the key takeaway was about making the pieces integrate and unify much more easily so that the developer experience is better.  Windows development will be one seamless experience, across all devices. I think that it is really a new Microsoft and honestly, I was so excited that Satya Nadella is doing the keynote at Build because I knew that there were good things coming!

Developers will be able to bring Fluent Design to applications built on Win32 via UWP XAML Islands, which will allow developers to access more XAML controls for their app. This can be achieved UI stack you use—whether it’s Windows Forms, WPF, or native Win32. In the Day 2 demo, XAML Islands integrated with Time and, for good measure, Sets as well. The demo also added in some Custom Vision Service, ONNX and Windows ML. The Windows UI LIbrary will provide native platform controls, and it will be available on Nuget. The controls are the same ones that ship in the platform, and the same ones that Windows uses in its own solutions.

Microsoft have decoupled .NET updates from Windows updates with .Net Core 3; so you can perform .NET Core updates without updating the whole OS. If you are developer and you are itching to get work done, you can see why you’d get frustrated waiting for updates, and this will help you to manage your time better.

I’m also excited that there is more Azure Cosmos DB news. With #CosmosDB’s new multi-master support, you can direct your writes to any region where your DB is deployed. This means that you will get a write availability that’s equivalent with Cosmos DB’s best-in-class read availability. This is great for developers and for people who are accessing apps which rely on Azure Cosmos DB.

Fluenting is also improved by the Ink Analysis for Cognitive Services Labs, more details here:

They fixed Notepad! It now supports Linux line feeds. It’s the small things, right? It all means that developers have got the best dev box, ever.

Developers are incredibly creative and I look forward to seeing what people will do with it.

 

Azure CosmosDB, Azure Data Lake Analytics and R sessions at Microsoft Data and BI Summit BA

I’m excited to be speaking three times at the Data & BI Summit in Dublin, 24th – 26th April. It’s extra special for me since it will be my first event as a Microsoft Regional Director and also after having been named one of the top 20 women in Artificial Intelligence, Data Science, Machine Learning and Big Data by Big Data Made Simple by the team over at Crayon Data.

I’m speaking on the following topics:

  • R and Power BI
  • Azure CosmosDB and Power BI
  • Azure Data Lake Analytics with Power BI – details to be announced as there have been a few logistic changes.

Here are the details below:

PUGDV07 – R in Power BI for Absolute Beginners

When: Tuesday, April 24 16:00 – 17:00 Where: Liffey Meeting Room 1 (it’s on the first floor) In this session, we will start R right from the beginning, from installing R through to data transformation and integration, through to visualizing data by using R in Power BI. Then, we will move towards powerful but simple to use datatypes in R such as data frames. We will also upgrade our data analysis skills by looking at R data transformation using a powerful set of tools to make things simple: the tidyverse. Then, we will look at integrating our R work into Power BI, and visualizing our data using beautiful visualizations with R and Power BI. Finally, we will share our work by publishing our Power BI project, with our R code, to the Power BI service. We will also look at refreshing our dataset so that our new dashboard has refreshed data. This session is aimed at getting beginners up to speed as gently and quickly as possible. Join this session if you are curious about R and want to know more. If you are already a Power BI expert, join this session to open up a whole new world of Power BI to add to your skill set. If you are new to Power BI, you will still get value from this session since you’ll be able to see a Power BI dashboard being built in an end-to-end solution.

PUGDV11 – Data Analytics with Azure Cosmos Schema-less Data and Power BI

When: Thursday, April 26 15:00 – 16:00

Where: Liffey Meeting Room 5 (it’s on the first floor)

Good news for Developers and Data Analysts; it’s possible to have rapid application development and analytics with the same data source, using Azure Cosmos DB and Power BI.
Azure Cosmos DB is a schemaless database, so how is it possible to analyse and create reports of the data for analytics and Business Intelligence tools? A single Azure Cosmos DB database is great for rapid application development because it can contain JSON documents of various structures, but this needs careful data visualization. In this session, we will analyze and create reports of Azure Cosmos data using Power BI, looking at data from both developer and data analyst aspects.
In this demo-rich session, you will learn about Azure Cosmos, understand its use cases, and see how to work with data in a schemaless Azure Cosmos database for Power BI.

Hope to see you there!

Azure Cosmos DB for the rest of us: 5 part blog series

For Business Intelligence and Data Science professionals, we like nothing better than the excitement of new ways to store data. So there was a lot of excitement over Azure Cosmos DB when it was announced at Build 2017.

Azure Cosmos DB can be described as the ‘everything everywhere’ database. Multi-model, all kinds of consistency, and so on. And that’s what many organisations want… something that’s close to a one source of the truth – it’s a one source for the data. But does that mean it’s the right source? How can the BI or Data Science consumer understand it? They are the ones who can be closer to the sign-off authority and they can help articulate the need for it.

I was interviewed recently for TechTarget and it became clear that the language and terminology can make Azure Cosmos DB’s utility harder to understand if you are new to it. I read the announcements and I thought… what does it actually mean, in the real world to Business Intelligence, analytics professionals and Data Science spheres? Hence this digestible blog series, aimed at explaining it in plain English for the people who will be the ones to consider using it. When you read the material, it pretty much says that Azure Cosmos DB does everything. However, it won’t do anything if it isn’t understood or made relevant.

Over the five days, I’ll pick out some of the underlying technology and why it’s useful in it’s different guises. In today’s post, I’ll pick out some of the terminology and explain what it actually means. Over the next four days, I’ll talk about the different flavours of database that are contained on Azure Cosmos DB, aimed at BI, Analytics and Data Science professionals. I’ll talk about some of the pieces that you can make use of in Azure Cosmos DB such as

  • Key-Value
  • Document Databases
  • Graph
  • Columnar / Column-Oriented Databases

Hopefully, by the end of the series, you’ll be as excited by the opportunities of Azure Cosmos DB as I am. If not, that’s ok – it’s possible that the technology isn’t for you, and inaction is an action in itself.

So let’s get started. Let’s look at the Azure Cosmos DB definition, taken from Microsoft’s site:

Azure Cosmos DB is the first globally-distributed data service that lets you to elastically scale throughput and storage across any number of geographical regions while guaranteeing low latency, high availability and consistency – backed by the most comprehensive SLAs in the industry. Azure Cosmos DB is built to power today’s IoT and mobile apps, and tomorrow’s AI-hungry future.

web-shutterstock-105518339

What?!?!?

Ok. Let’s go through that again, at normal person pace.

 

 

 

globally-distributed – distribution of computation close to the geographic location of the data and the users. It goes beyond interconnection of servers as in the ‘olden days’ of
legacy architectures. In this definition, the distribution of workloads within the
architectures must be visible, adjustable, and automated.

What does this mean for you?
It means you have the capacity to use the cloud facility closest to you. This is important for legal and practical reasons, such as data privacy laws in your region, for example.

elastically scale throughput – these means that computing resources can be scaled up and down easily by Azure. Azure will adapt to workload changes by provisioning and de-provisioning resources as required. If your requirement spikes for some reason, then it will rise up to meet demand. available resources match the current demand as closely as possible. Elastically scaling throughput refers to the capacity of information units being processed, and this processing does not need to be static.

What does this mean for you?
Think of your monthly reporting. Many organisations will run financial reports for the month end. This is a ‘spike’ in requirement, which you only need 12 times a year. You don’t necessarily want, or need, to buy servers and network resource specifically for this purpose; in fact, it may be overloading your existing resources. This is where Azure steps in. You could, for example, have VMs that wake up once a month, run your reports, and then go to sleep again.

elastically scale storage – your application to size the storage according to throughput and storage on demand, worldwide. Azure Cosmos DB is intricate enough that you could even scale second and minute granularities. You can accommodate unexpected spikes in your workloads, or size downwards as required. This is a change from previous architectures, where the database has often been the least scalable component in architectures. Often, the phrase  “scaling the database” means a project in itself.

What does this mean for you?
A data storage tier of an elastic application might add and remove data storage due to cost and performance requirements. For example, it could vary the number of used Virtual Machines for example – virtual machines ‘on tap’, if you will! Azure can monitor your elastic applications for you.

low latency – latency is the delay between a client request, probably a request made by you at your computer, and a cloud service provider’s response to that request.

What does this mean for you?
A data storage tier of an elastic application might add and remove data storage due to cost and performance requirements. For example, it could vary the number of used Virtual Machines for example – virtual machines ‘on tap’, if you will! Azure can monitor your elastic applications for you.

high availability – this sounds depressing but it’s very necessary. It assumes that there are points of failure at every component of a system, and that these points of failure will fail at some point. High availability is preparing that eventuality, by building in strategies for coping with for failure using automated processes to recover from it. Fault-tolerant systems designed for high availability are achievable in the cloud.

What does this mean for you?
It means keeping the lights on, and your  business running.

consistency – different entities (nodes) have their own copy of some data object, and they may not always be the same. This is a big topic and you can research further for yourself; this is tip of the iceberg – or speck of dust in the Cosmos? There are different types of consistency.

Eventual Consistency – this is the situation where conflicts can arise. However, nodes communicate their changes to each other to resolve those conflicts. In time, each node will agree upon the final value.

Strong Consistency – all nodes agree on the new or updated value. Here, all updates are visible to all clients simultaneously, which introduces a requirement for blocking in update operations.

What does this mean for you?
Let’s take the case of an online shopping basket. Your purchases may be up to date on some nodes… but not all of them. The others need to catch up in order to resolve the conflict. This may not be noticeable by you or the purchaser. This would be eventual consistency. In strong consistency, you want the data to ‘agree’ – for example, your monthly reporting. Your consistency level depends on your requirement.

 

How does this relate to Azure Cosmos DB?

Business value will be created in the applications and reorganizations enabled by Azure. You don’t have to worry so much about the Cloud infrastructure itself, for example, when considering tuning for throughput – Azure Cosmos DB allows you to easily increase or decrease the amount of reserved throughput available to your application. Also, since it is globally distributed, Azure Cosmos DB will replicate your data wherever your users are. For Business Intelligence and Data Science consumers, that’s incredibly useful for your users.

You can think more about your applications and workloads. Often, developers don’t want to think about database structures and they can rely on ORM tools to write SQL for them. This is really giving developers something that they do anyway; have a very forgiving place to store data.

You can choose what consistency you require. With Azure Cosmos DB, developers do not have to settle for the extreme consistency choices that I described earlier  – strong vs. eventual consistency. Instead, Azure CosmosDB offers some ‘grey’ in there by offering 5 well-defined consistency choices:

five-consistency-levels

Credit: Microsoft https://docs.microsoft.com/en-us/azure/documentdb/documentdb-consistency-levels

 

Consistency Levels and guarantees

credit: https://docs.microsoft.com/en-us/azure/documentdb/documentdb-consistency-levels
Consistency Level Guarantees
Strong Linearizability
Bounded Staleness Consistent Prefix. Reads lag behind writes by k prefixes or t interval
Session Consistent Prefix. Monotonic reads, monotonic writes, read-your-writes, write-follows-reads
Consistent Prefix Updates returned are some prefix of all the updates, with no gaps
Eventual Out of order reads

 

As we progress through this series, we will add more to this question. But for now, over to you!

Your homework!

Here are some videos on Azure Cosmos DB for you to view. You can learn more about the research we implemented in Azure Cosmos DB by watching this video from Turing Award-winning, Microsoft Researcher, distributed systems giant and an inspiration, Dr. Leslie Lamport.

Next steps!

Tomorrow, we will talk more about key-value databases and how this is manifested in Azure Cosmos DB. Standby for more Azure Cosmos DB goodness!