>> We think Azure SQL Database
is the best database for developers.
Join this video to see why on Data Exposed.
[MUSIC]
>> Hi. I'm Anna Hoffman.
Welcome to this episode of Data Exposed.
Today, I'm joined by Davide Mauri who
is a Program Manager on the SQL DB team.
Thanks for joining us today.
>> Hey, Anna. Thank you for inviting me.
>> Always a pleasure. Can you tell us a little bit
about what you do on the team before we get started?
>> Yeah, sure. So as you said,
I'm a PM on the Azure SQL team and what I
do is take care of developer relationship.
So I try to work a lot with developers,
and also I take care of Hyperscale specifically,
trying to make sure that he's
the best database for developers to be.
>> Awesome. So what you said there is a great lead in.
I think you're actually going to tell us today,
why is Azure SQL Database the best database for developers?
>> Yeah, correct. It just
happens that I also have a slide deck prepared.
So let me share with you, and here you go.
So I just want to
discuss with you today some of the feature that I think make
Azure SQL probably the
best database at least for me, for developers.
First of all, let's
start discussing why customer choose Azure SQL,
mainly because it's a great general-purpose,
battery-included, post-relational database.
It's a mouthful, but it really convey the value of the product.
General-purpose because you can do basically everything with it.
Battery-included because as you will see in a minute,
has a lot of features that are
already included in the product and that you
don't have to go and find somewhere else and then try to
figure out how to integrate those feature with Azure SQL.
Post-relational because years and years
have passed from its relational inception,
it's still relational in the core,
but it evolved towards supporting different models.
So it's really a mature post-relational database.
It has the security built-in,
so it really gives all the option to users, and developers,
and system administrator to
basically secure everything from columns,
table, rows, even and organize people in group,
make sure application can only access data,
encrypt data at rest and in flight.
So it really provides
a completely and secure environment for developer to work.
It supports scale-out.
Introduce something that not a lot of developers knows.
Historically, relational database weren't
that good at scaling out,
but with Azure SQL and Hyperscale specifically, we recreated,
we redesigned the engine to
be a microservice architecture so that it can
easily scale out and support really
a huge amount of concurrent queries and connection.
It has advanced analytical processing,
so today [inaudible] is all the rage,
and we've been doing [inaudible].
In the past was called real-time analytics
or near real-time analytics since 2008.
So we have a good historical track
of having both rowstore and columnstore together,
and I think we should discuss this in
a dedicated video because it's pretty interesting.
We have also a lot
of high-concurrency optimization done over the years.
So another thing that not many developer
knows is that there are ways for
Azure SQL not to use locks to process of data consistency.
It's one one the few database I would say
where you can choose if you want to
use locks or not to keep data consistent,
which give developers a great flexibility
because they can exactly choose what is the best model for that.
It provides a great development experience in the sense that,
once upon a time it was called a transparent database.
Transparency in the sense that it shows everything you
need to know in order to understand what's going on,
how performance are doing through the time,
and if not is working as you expect
them to exactly understand why it's not working as you expect.
So you have, Dev people call it a DAG, directed acyclic graph,
basically we've been adding that feature again
since when Azure SQL was born and we just call it execution plan.
So you can see exactly all the step that will be done
by their relational engine to execute your query,
and this helps you a lot to understand where things
are slower than you expect and where you
have to work to improve your performance.
Then you also have geospatial support.
So within the engine,
there is a complete geospatial engine that allows you to take
two points on Earth and then
understand how far they are from each other,
if they intersect, what is the shortest distance between them.
So it really adds the ability to
integrate geospatial information within your application
without having to go
somewhere else and look for
some that then you have to integrate manually.
Then we also just, this is recent,
introduced multi-model capabilities because not only
we support relational features of course,
but we also support JSON,
we support graph structures,
and also we support key-value store
using something call a memory table or a Hekaton,
some one knows this feature by this name.
As you can see it's really comprehensive.
It has everything inside database
and what I really love of
this is that everything fits together with each other feature.
So you can use, for example,
in memory table with columnstore,
or use graph models with columnstore,
or you can scale out with geospatial.
So you can really pick and choose and
create the perfect solution for you.
I think it is really, really unique in the market.
>> Yeah, it certainly seems like there's a lot of capabilities
here and probably explains the why we have,
I think over six million databases
running in Azure SQLs , something like that.
It's a lot. Now, when we talk about some
of the specific things customers are doing or what we're seeing,
are we seeing only enterprises move towards something like
Azure SQL or can you expand a little bit on that?
>> No. Absolutely. So one of
the beautiful things that are happening,
and again, not many knows,
is that a lot of startups are
using Azure SQL to basically be the support for their growth.
So one that we just published our case study is Big Red Cloud.
It's an Irish company that started
the Cloud-native to provide accounting solution to the customer,
and they rely on Azure SQL and specifically Hyperscale here,
because Hyperscale gives them the ability to
grow up to a 100 terabytes without changing code.
Hyperscale will take care of everything is needed
to grow and take care of such amount of data.
But for them is completely
transparent and there is basically no limits.
When you say you can grow up to a 100 terabytes today,
this means no limits,
and actually the 100 terabyte limit is an artificial limit we put
today just to put
a limit because actually we can grow much more than that.
At some point, you need to put a limit just to make sure
that you don't have
any issues with something you haven't tested yet.
But we've tested everything until 100 terabytes.
Everything scale amazingly and this gives the peace
of mind to customers that they can start to work on a database,
start very small, like several megabytes maybe,
but then grow as much as they can or as much as they
want without having to move to another system,
migrate and all those things that were
really painful in the past and still are, honestly.
So this is an example.
But of course, as you said,
we also cover the complete opposite part of the spectrum.
So we go from startup to really huge enterprise like Bing Ads.
So Bing Ads is basically
the enterprise solution that powers Microsoft advertising,
and as you can see we have a huge amount of data hosted there.
In fact they had to create a sharding solution on Azure SQL.
So they even went to completely
extreme because 100 terabytes were not even enough for them.
So they went and created
the sharding solution using some well-known techniques
that are also available in our architecture
guides to make sure that they can scale
out as much as they want and support
all the possible ads and platforms that
we want to host in Bing Ads.
So that's another amazing story that we
published as a detailed blog post on
also the technical choices that has been made to make sure
that Bing Ads can exist and grow as they need.
>> That's awesome, and it seems like we covered the gambit.
right started with some startups,
then you told us about,
obviously a huge company
or part of our company that everyone's heard of,
Bing Ads, and you also talked
about how this relates to developers.
I think we had someone who wanted to talk about that we're
actually going to do a second part of this after this, right?
>> Yeah, that makes sense because there
is really a lot to discuss.
Just to give you some ideas what I would
like to discuss with you in future is some of
the features in the architecture and pattern that we saw people
using and using successfully on Azure SQL.
So web application are all about event sourcing,
CQRS, sharding as we discussed before, caching.
So all these new, modern
patterns or architecture are now becoming,
say daily used, and
Azure SQL is actually a very good place where to
implement those patterns because it
really provides support for everything.
So for example, if you are using GOAL or
you're using Ruby or of course.NET or Python.
You have driver that allows you to connect to Azure SQL.
You have ORMs or micro-ORMs that help
you to minimize the amount of code you have to write.
But beside libraries, we also have
native support to some cool feature like change tracking,
you just discussed this in the Bing demo.
It's amazing because allows developers to basically transfer
in a very efficient way data
between their mobile application and Azure SQL,
almost without writing code.
You just really have to write a couple of line of code,
and when I had to do it back in the days
to implement a current change tracking manually, it's really,
really, really an effort and now I think it for free in
Azure SQL is like, wow, it's amazing.
>> Just one of the many reasons that
Azure SQL Database is best [inaudible] for developers.
>> Yeah, absolutely.
Then as you can see there are many other.
Memory optimized tables as I discussed before that allows us
to scale as much as we can because they don't use locking.
JSON support is lighter for developers,
and of course something also developer
sometime doesn't think enough is Geo DR,
so this kind of a disaster recovery.
It's important we support Geo DR,
so you can create a copy of Azure SQL in another region,
and we will take care for you off-switching and
falling back to another region if that's needed.
We just recently introduced
a good experience I would say also for DevOps,
this is also another thing you just saw in
the Bing demo and I think it's an amazing.
Now we can put Azure SQL as part of our DevOps pipeline,
which help developer to have a consistent CI/CD experience,
make sure that when you deploy something,
you can be almost sure,
I would say, that everything will go as planned.
That's great because that's how you challenge
especially with databases and data,
it's a little bit more complex than with the application.
So yeah, definitely, we should talk about this stuff, absolutely.
>> Awesome. Well, thanks for joining us
today and if you like this video,
be sure to like this video.
Tune in for the next video where we're going to dive
into a little bit more details around the architectures.
Thanks for joining us on Data Exposed.
>> Thank you.
[MUSIC]