The power of AI and Copilot for Azure Databases | BRK171

Microsoft Developer
6 Jun 202447:51

Summary

TLDRこのビデオスクリプトは、MicrosoftのAzure Databaseが人工知能を統合し、データベースの未来を形作ることについて焦点を当てています。Shireesh Thota氏は、AIがデータレイヤーのあらゆる隅々に聡明さをもたらし、開発者がインテリジェントなアプリケーションを構築するためのプラットフォームを提供するMicrosoftの役割に触れています。また、Azure Cosmos DB、Azure Database for PostgreSQL、Azure Database for MySQLなどのサービスにおけるベクター検索やRAGデザインパターン、そして新しいCopilot機能の紹介もされています。

Takeaways

  • 🌐 Microsoftは、AIがデータベースに与える可能性を拡大し、Azure Databasesを新しい時代に合わせて構築している。
  • 🤖 AIの主要な役割は、データベースの機能性と能力を向上させることであり、開発者がより高度なAIアプリケーションを構築できるようにする。
  • 🔍 ベクター検索は、データベースの検索機能を強化し、類似した応答を意味的な検索の範囲内で提供する。
  • 📚 RAGデザインパターンは、大規模な言語モデルと外部データソースを組み合わせて、より正確な応答を提供する。
  • 📈 Azure Cosmos DBは、ベクター検索機能を備え、NoSQL APIを通じてAIとデータベースを統合している。
  • 📊 ベクター埋め込みは、複雑な情報を数値表現に変換し、類似性のスコアを計算できる。
  • 🛠️ Azure Database for PostgreSQLは、データベース内での埋め込み生成をサポートし、待機時間の短縮とコストの予測性を提供する。
  • 🔧 Azure Database for PostgreSQLのインデックス推奨機能は、クエリのパフォーマンスを最適化し、自動的にインデックスの作成や削除を提案する。
  • 🗣️ AzureのCopilot機能は、データベースの管理と開発を簡素化し、自然言語をクエリに変換する能力を持つ。
  • 🛡️ Copilotsは責任あるAIの原則に則して構築され、セキュリティとプライバシーを重視している。

Q & A

  • ハイブリッドセッションとは何を意味するのですか?

    -ハイブリッドセッションとは、オンラインとオフラインの両方の参加者がいるセッションを指します。スクリプトでは、irtual参加者と現地の参加者とがいます。

  • Shireesh Thotaがどのポジションに就いているか教えてください。

    -Shireesh Thotaは、Azure DatabasesのCorporate Vice Presidentに就いているそうです。

  • AIがデータベースに与える可能性とは何ですか?

    -AIはデータベースにインテリジェントな機能、統合性、信頼性をもたらし、データレイヤーのあらゆる隅に触れることができる可能性を拡大します。

  • Azure DatabasesはどのようにAI時代に適応しているのですか?

    -Azure Databasesは、AI時代に適応するために、パフォーマンス、簡素化されたデータ管理、耐久性などの機能を備えたり、ベクター検索やRAGデザインパターンのような新しい機能を組み込んでいます。

  • ベクター検索とは何で、どのような利点がありますか?

    -ベクター検索は、類似した応答をセマンティック検索の範囲内で得るための方法で、特定のパラメーターを知らなくても関連する情報を検索することができます。

  • RAGとは何で、どのような役割を果たしますか?

    -RAGは、事前トレーニングされた大きな言語モデルと外部データソースの力を組み合わせ、より正確なコンテキストに応じた応答を提供するデザインパターンです。

  • Azure Cosmos DBはどのようなデータベースですか?

    -Azure Cosmos DBは、MicrosoftのフラッグシップNoSQLデータベースで、AIと統合された新しいアプリケーションを構築するための機能を提供しています。

  • ベクター埋め込みとは何で、どのような役割がありますか?

    -ベクター埋め込みは、複雑な情報を数値表現に変換するメカニズムで、RAGパターン、自然言語処理、AI検索など多くのユースケースを可能にします。

  • Azure Database for PostgreSQLの最近のアップデートは何ですか?

    -Azure Database for PostgreSQLでは、データベース内での埋め込み生成が発表され、MicrosoftのオープンソースE5 tech small modelがデータベースエンジン内に組み込まれています。

  • Azure AI拡張機能とは何で、どのような利点がありますか?

    -Azure AI拡張機能は、Azure AIサービス、Azure Machine Learning、AI言語、AI翻訳器など、Azure AIサービスの幅広い統合をPostgreSQLの内部から呼び出すための簡素化されたインターフェースを提供します。

  • Copilotの機能とは何で、どのような助けを提供しますか?

    -Copilotは、アプリケーションの動的スケールやインテリジェントなデータ管理の自動化を可能にし、開発者がより多くのトップスタックに焦点を当てることができるようにします。

  • Azure SQL DatabaseのCopilotはどのように動作するのですか?

    -Azure SQL DatabaseのCopilotはチャットウィンドウと自然言語クエリ機能の2つの形態で動作し、ユーザーがデータベースに関する質問や操作を行う際に支援します。

  • SQL ServerのCopilotはどのような機能を提供していますか?

    -SQL ServerのCopilotは、オンプレミスのSQL Serverインスタンスに関連する情報を提供し、セキュリティ更新の不足、サポートの切れたバージョン、リソース使用率の問題、待機統計、および可用性グループの正常性などを検出することができます。

Outlines

00:00

🎤 ウェルカムとハイブリッドセッションの案内

スピーカー1は、参加者に対してウェルカムと、ハイブリッド形式でのセッションの案内を行い、QRコードをスキャンしてQ&Aに参加するよう促しました。また、レベル5での専門家ミートアップイベントも紹介しました。次に、Shireesh Thotaが登場し、Azure DatabasesのCorporate Vice Presidentとして、AIの可能性と、それをデータベースにどのように取り入れていくかについて話しました。

05:01

🌟 AIとデータベースの融合:未来のビジョン

Shireesh Thotaは、AIがデータベースに与える影響と、Microsoftがどのようにそのプラットフォームを構築しているかを説明しました。AIを活用したデータベースの機能強化、開発者体験の簡素化、自己最適化、自己修復、自己保護のデータベースの重要性について語りました。さらに、ベクター検索とRAG(Retrieval-Augmented Generation)という2つの主なアプリケーションが、データベースの未来を変える可能性について触れました。

10:03

🔍 ベクター検索とRAGの重要性と実装

ベクター検索とRAGのしくみと、それらがどのようにデータベースに統合されるかが説明されました。ベクター埋め込みは、複雑な情報を数値表現に変換し、類似性のスコアを計算できる機能です。RAGは、事前トレーニングされた大きな言語モデルと外部データソースを組み合わせ、より正確な応答を提供するデザインパターンです。これらの技術が、次世代のアプリケーションを構築する上でどのように役立つかが強調されました。

15:03

🚀 Azure Cosmos DBの進化と新しい機能

Azure Cosmos DBのベクター検索機能の追加と、DiskANNアルゴリズムの導入が発表されました。DiskANNは、効率的なグラフインデックスを構築し、高正確性と低レイテンシの検索を実現します。また、Cosmos DBはNoSQL APIでベクター検索をサポートし、開発者がAIアプリケーションを構築する際の複雑さを大幅に軽減します。

20:04

📈 Cosmos DBのパフォーマンスとスケーラビリティ

Cosmos DBのパフォーマンス、スケーラビリティ、および可用性が議論され、DiskANNアルゴリズムがこれらの特性をどのように強化するかが説明されました。また、ベクターインデックスの柔軟性と、さまざまなデータタイプへの対応についても触れられました。

25:05

📊 Azure Database for PostgreSQLの新しい機能

Azure Database for PostgreSQLに組み込まれる新しい機能が紹介され、特にデータベース内での埋め込み生成と、PG Vector拡張子の活用が強調されました。これにより、開発者はローカルで埋め込みを生成し、データのプライバシーとセキュリティを確保しながら、高性能の検索体験を提供できます。

30:07

🛠️ インデックス推奨と開発者体験の簡素化

インデックス推奨機能がAzure Database for PostgreSQLに追加され、自動的にクエリのワークロードを理解し、インデックスの作成や削除を行います。また、Azure OpenAIサービス、Azure Machine Learning、Copilotsが開発者体験を簡素化するのにどのように役立つかが語られました。

35:07

🤖 Copilotsの登場とその機能の紹介

Azure SQL Databaseに搭載されるCopilotsの機能が紹介され、チャットウィンドウや自然言語クエリのサポートが含まれています。これにより、データベース管理者はより効率的にデータベースを管理できるようになります。

40:09

🔎 データベースのトラブルシューティングとパフォーマンスチューニング

Bob Ward氏が、Copilotsがデータベースのパフォーマンス問題の特定と解決にどのように役立つかをデモンストレーションしました。Copilotsは、SQLエンジンの豊富なテレメトリを活用し、ブロックチェーンやCPUの問題、クエリの最適化など、多岐にわたる問題に対処します。

45:09

🎉 SQL ServerのためのCopilotsの紹介

Bob Ward氏は、SQL ServerのためのCopilotsの開発が進んでおり、Azure Arcを活用してオンプレミスのSQL Serverインスタンスを管理できるようになるというニュースを発表しました。これにより、データベース管理者はより効率的な洞察を得られ、SQL Serverの運用が簡素化されることが期待されます。

🌍 AIとデータベースの統合:総括と今後の展望

Shireesh Thota氏は、AIがデータベースに与える影響と、Microsoftが提供するAzure Databaseサービスの進化について総括しました。Copilots、ベクターインデックス、RAGデザインパターンのサポートが、データベースの未来を変える上で重要な役割を果たすと強調されました。

Mindmap

Keywords

💡Azure Databases

Azure Databasesは、Microsoft Azureが提供するデータベースサービスであり、このビデオでは特にAI技術の活用が強調されています。ビデオではAzure DatabasesがどのようにAIと統合され、データベースの性能や管理を向上させるかが説明されています。例えば、Shireesh Thota氏が話す「We want to make sure that our platforms are intelligent, are integrated, and trusted」という部分でその重要性が強調されています。

💡AI

AI(人工知能)は、人間のような知能を持つマシンの開発に関する分野で、このビデオではAIがデータベースサービスにどのように統合され、開発者や管理者の作業を支援するかが中心的なテーマとなっています。ビデオ内でAIは「intelligent」や「self-optimized」などの特性をデータベースに提供し、開発者がより効果的なアプリケーションを構築できるようにしています。

💡Hybrid session

ハイブリッドセッションとは、オンラインとオフラインの両方の参加者が参加できるイベント形式を指します。ビデオの冒頭でSPEAKER 1が述べた「this is going to be a hybrid session」でこの概念が紹介され、参加者にはQRコードをスキャンしてQ&Aに参加するよう案内されています。

💡Q&A

Q&Aは、質問と回答の略で、イベントやセミナーでよくある形式です。ビデオでは参加者がQ&Aに参加するためにQRコードをスキャンすることが示されています。これはハイブリッドセッションの一環として、参加者間のインタラクションを促進する手段として機能しています。

💡Vector search

ベクター検索は、データベースで類似する応答を検索するための技術です。ビデオでは、「vector search is effectively a way for you to get similar responses in the semantic search」という文脈で説明されており、これはデータベースの検索機能を強化し、より複雑な問いに対する応答を提供するものです。

💡RAG

RAGは、事前トレーニングされた大きな言語モデルと外部データソースを組み合わせたデザインパターンです。ビデオでは、「RAG design patterns」として紹介され、これはデータベースと組み合わせることで、より正確な応答を提供するのに役立ちます。例えば、Shireesh Thota氏が語る「RAG, on the other hand, is this incredible design pattern」でその重要性が強調されています。

💡Azure Cosmos DB

Azure Cosmos DBは、Microsoft Azureが提供するNoSQLデータベースサービスです。ビデオでは、「Azure Cosmos DB is our flagship NoSQL database」という文脈で紹介され、AI技術の統合やベクター検索能力の向上が議論されています。また、新しい機能として「vector search capabilities coming to Azure Cosmos DB's NoSQL API」が発表されています。

💡Semantic Kernel

Semantic Kernelは、ビデオ内で言及されるフレームワークの一つで、言語モデルやデータベースと統合してアプリケーションを構築するのに役立ちます。ビデオでは「Semantic Kernel and LangChain are frameworks that basically helps you go build these applications」という文脈でその機能が説明されています。

💡Azure Database for PostgreSQL

Azure Database for PostgreSQLは、ビデオ内で紹介されるMicrosoft Azure上のPostgreSQLデータベースサービスです。ビデオでは、このサービスがどのようにAI技術を組み込んでおり、特に「in-database embedding generation」という新しい機能が強調されています。これにより、データベース内部で埋め込みの生成が可能になり、遅延が大幅に短縮されると述べています。

💡Copilot

Copilotは、ビデオ内で言及されるAIアシスタントのことで、開発者やデータベース管理者の作業を支援することを目的としています。ビデオでは、「Copilots, we believe, are going to be very important to make sure that we can help you build applications」という文脈でその重要性が強調され、特にAzure SQL DatabaseとAzure Cosmos DBにCopilotの機能が組み込まれていることが説明されています。

Highlights

会议开始,介绍了会议为混合形式,参与者可以通过QR码加入Q&A环节。

Shireesh Thota作为Azure数据库副总裁,欢迎与会者并强调AI对各行各业的影响。

微软致力于构建一个智能化、集成化和值得信赖的平台,以支持数据层的每个角落。

提出了关于AI在数据库中角色的关键问题,包括是否为构建通用AI应用提供了正确的特性和能力。

介绍了Azure数据库如何内置并针对新AI时代进行优化。

讨论了数据库未来需要具备的自我优化、自我修复和自我安全的能力。

解释了向量搜索和RAG设计模式的重要性,以及它们如何增强数据库的功能。

展示了Azure数据库如何利用向量嵌入来支持自然语言处理和AI搜索等用例。

介绍了Azure Cosmos DB的向量搜索能力,包括其公共预览和使用DiskANN算法。

讨论了向量索引如何支持图像、音频、视频等多种数据类型,并超越传统的关键词搜索。

RAG设计模式如何帮助克服大型语言模型的局限性,通过结合数据库提供更准确的响应。

Azure数据库如何整合到Semantic Kernel和LangChain框架中,以简化开发体验。

Azure数据库为PostgreSQL提供数据库内嵌入生成,以提高性能和降低延迟。

展示了如何在PostgreSQL中使用本地嵌入来构建交互式应用程序,并提高查询性能。

介绍了Azure数据库如何自动推荐索引,以优化查询性能和减少维护负担。

讨论了Azure OpenAI服务、Azure机器学习以及Copilot如何简化开发者体验。

展示了Azure SQL数据库中的Copilot功能,包括聊天窗口和自然语言查询。

Bob Ward展示了SQL Server上的Copilot能力,包括资源利用和高可用性组管理。

总结了Azure数据库在AI集成方面的所有公告和创新,强调了新数据库时代的兴奋时刻。

Transcripts

play00:00

[MUSIC]

play00:14

SPEAKER 1: Welcome, everybody. We're about

play00:15

to get our session started.

play00:17

Hey, Day 3, Build.

play00:20

Awesome. So real quick just remember,

play00:24

this is going to be a hybrid session.

play00:26

We do have people joining us

play00:27

virtually as well as we have our

play00:29

attendees here in person.

play00:30

If you just take a quick moment to scan those QR codes on

play00:33

your left and right-hand sides

play00:34

just to go ahead and join in the Q&A.

play00:36

Go ahead and ask your questions there.

play00:39

We also have our expert meet-up on Level 5,

play00:43

so definitely stop by there.

play00:45

Check out some cool demos and

play00:46

some cool stuff that's up there too.

play00:49

Without further ado, let's take it away.

play00:50

[applause]

play00:57

SHIREESH THOTA: Hello, everyone.

play00:58

[applause]

play00:59

SHIREESH THOTA: Hello and welcome.

play01:00

I am Shireesh Thota.

play01:02

I'm Corporate Vice President for Azure Databases.

play01:04

Thank you-all for starting your day with us today here.

play01:07

I really hope you had a fantastic Build session so far.

play01:09

There's still a lot of great sessions. Let's dive in.

play01:11

There's one concept that has taken center stage of late,

play01:15

certainly this week, and for very good reasons.

play01:17

There's no device, no role of function,

play01:19

no industry that has been untouched from the promise of

play01:22

AI. This is really important

play01:25

for all of you and for

play01:26

all the organizations that we represent.

play01:29

We at Microsoft have

play01:30

a very important role here to make sure

play01:32

that we're building a platform that is ready.

play01:36

It's going to accompany you for your growth.

play01:38

We want to make sure that our platforms are intelligent,

play01:41

are integrated, and trusted,

play01:43

touch every corner of your data layer.

play01:45

Now, with the arrival of AI,

play01:47

we could certainly question the art of possible.

play01:50

We could question the status quo in terms of what

play01:52

the Cloud providers are going to offer

play01:54

you in terms of every aspect of your data,

play01:57

be it the database, the applications

play01:59

that you build on top of the databases,

play02:01

or the analytics that kind of connects it all.

play02:03

In this session, I'm going to

play02:05

walk you through our vision of what

play02:07

the role of AI is going to be in

play02:09

terms of databases and how

play02:11

Azure Databases are built-in and tuned for this new era.

play02:15

Let's dive in. The most important thing

play02:18

for us is to ask the right questions.

play02:19

The first one here is,

play02:21

are we building the right features and

play02:23

capabilities for you to go build the Gen AI applications?

play02:27

Features such as performances,

play02:30

simplified data management,

play02:31

and all the goodness of databases, durability,

play02:34

really efficient way of retrieving data,

play02:36

these are all super important.

play02:38

We all know that, and there are table stakes.

play02:41

The database developers do expect that,

play02:43

but they want more than that.

play02:45

They want to make sure that their applications

play02:46

can be seamlessly built,

play02:48

which essentially means that they need to

play02:50

have capabilities such as vector search,

play02:52

RAG design patterns that

play02:54

are deeply built inside the database.

play02:56

I'm going to walk through some of

play02:58

these examples and some of

play02:59

the services that we're bringing in here.

play03:02

We'll talk a lot about the first pillar.

play03:04

The second one, briefly,

play03:05

this is the goal of simplifying developer experiences.

play03:08

Databases absolutely should have

play03:10

all the good features that I talked about,

play03:12

but they need to become intelligent in themselves.

play03:14

The database of the future needs to power and empower

play03:18

you basically to do less so

play03:20

that you can go focus on what matters the most for you.

play03:23

You should be spending all your time building

play03:24

the great applications higher up the stack.

play03:27

Databases need to become self-optimized.

play03:29

They need to become self-repairing.

play03:31

They need to become self-secured.

play03:33

Let's walk through these two aspects,

play03:35

two goals that we have here,

play03:37

starting with the first one, how

play03:39

do we power the intelligent applications.

play03:40

Then the question is,

play03:42

what are the key applications that

play03:43

the database is going to really go empower?

play03:45

There's lots of them, but it comes down

play03:47

to these two primitives, vector search.

play03:50

Vector search is effectively a way for you to get

play03:54

similar responses

play03:56

in the semantic search, semantic realm.

play03:58

You could be asking questions such as, hey,

play04:01

give me boots of certain color,

play04:03

of certain cut, etc.

play04:05

These are specific predicates,

play04:07

specific range filters,

play04:08

and you would get the specific answers.

play04:10

This is an important part of database querying,

play04:12

not going away, absolutely not.

play04:14

We nurture that. We're going to invest in it.

play04:16

But now with vector search,

play04:17

you could ask questions such as,

play04:19

I got these other boots, can you give me something

play04:21

like this without knowing all these parameters?

play04:22

It figures out all the parameters itself.

play04:24

It does a lot more complicated math on top of it.

play04:28

We'll dive into it in a minute.

play04:29

RAG, on the other hand,

play04:31

is this incredible design pattern that combines

play04:34

the power of a pre-trained large language model like

play04:37

Chat GPT with that of

play04:39

an external data source for

play04:41

enhancing contextually more accurate responses.

play04:45

Since databases are these sources

play04:48

for the enterprise and structured data,

play04:50

they're often invaluable tools in

play04:53

terms of augmenting your responses from

play04:55

the large language models and factually ground them.

play05:01

These two applications together make up

play05:04

for the most important aspects of the future databases.

play05:09

Let's look into some of these workhorses

play05:11

that make up the vector search

play05:12

here starting with vector embeddings.

play05:13

Vector embeddings really are the ones that can

play05:15

empower use cases such as RAG patterns,

play05:19

natural language processing, agents, AI search, etc.

play05:23

Put simply, this is

play05:25

a mechanism for you to go take complex information,

play05:28

audio, video, images,

play05:29

etc, and transform them into

play05:32

numerical representation that then

play05:35

can be stored and retrieved efficiently.

play05:37

You can effectively take two pieces

play05:39

of information and basically ask,

play05:41

"Hey, just tell me the score of similarity between them."

play05:45

Because of this, vector embeddings can help you go

play05:47

build applications such as recommendations,

play05:51

answers, anomaly detections, search, and many more.

play05:54

Vector search then comes on top of vector embeddings

play05:58

and make it possible for you

play05:59

to retrieve relevant information,

play06:01

get the precise search aspect possible.

play06:04

It helps you build applications that can

play06:07

get valuable information between many pieces of the data.

play06:10

The way it does is by connecting the nuances,

play06:13

understanding the dimensionality between

play06:15

these two pieces of data through

play06:17

what we call as vector indexing.

play06:19

Because of the applicability of this,

play06:23

it has to serve the needs of various types.

play06:25

It supports images, audio,

play06:27

video, graphs, sensors, etc.

play06:30

It goes much further than the usual keyword search.

play06:33

It enables your application to run similarity queries so

play06:37

that you could basically go do more than just the

play06:39

term-by-term mapping and given all this stuff.

play06:42

It really helps developers build applications that can

play06:44

give you natural responses in the natural language.

play06:47

It can identify patterns.

play06:49

It can help you detect fraud detection, many such things.

play06:53

RAG, I touched upon it briefly.

play06:55

It's, again, a very important design pattern.

play06:58

Let me spend a few minutes here about RAG.

play07:01

It basically can help you offset

play07:03

the limitations of large language models.

play07:06

The way it does is by helping you customize,

play07:10

improving the performance without

play07:12

you having to retrain on new data,

play07:15

without you having to fine-tune,

play07:17

which both are time expensive and costly.

play07:21

You don't need to do all that stuff when you

play07:23

combine your data with RAG.

play07:25

It helps you avoid misleading information,

play07:28

inaccurate responses because it factually

play07:32

grounds the response in some contextual information.

play07:34

Let's take an example.

play07:35

If you're basically going up to

play07:38

an application and sending a prompt,

play07:40

the application can directly send

play07:42

the prompt to the large language model like Chat GPT.

play07:44

If it does that, most of the times,

play07:47

if you're asking for some specific information

play07:49

that may not be available for a large language model,

play07:51

the response is not going to be that great.

play07:53

Instead, application can send that prompt

play07:57

first to a database

play07:58

where there is contextual information for that prompt.

play08:01

Now, the database, thankfully,

play08:03

has vector indexing in it like Azure Managed Databases,

play08:06

so it can retrieve the right information for you,

play08:09

send it to the application.

play08:10

The application can then augment

play08:13

the prompt that the user gave with

play08:15

the information that it got from the database.

play08:17

Now, take this augmented prompt and then send it

play08:20

to the large language model like Chat GPT.

play08:23

Your responses are going to be a lot more accurate.

play08:25

Imagine an employee in

play08:26

a private company asking questions about their benefits.

play08:29

Now, if that query directly goes to Chat GPT,

play08:32

the odds are that Chat GPT has no idea about

play08:34

your private company's private benefits information.

play08:37

It's not trained on that. It doesn't know it.

play08:39

Instead, you build an application that basically

play08:41

combines the power of your local database,

play08:44

whether you're using any of Azure Managed Databases,

play08:46

SQL, Cosmos, Postgre, MySQL,

play08:48

etc, and it combines that power,

play08:52

augments the prompt,

play08:53

and then sends it to the Chat GPT,

play08:56

you're going to get a lot better answers.

play08:58

All these cool things,

play08:59

the vector search, vector embeddings, RAG,

play09:01

etc, they're all going to come together to

play09:03

build the next generation of applications.

play09:05

I'm excited to talk about how Azure Databases are

play09:08

really answering the call

play09:10

to get these features in your hands.

play09:13

Earlier this week, I have walked you

play09:15

through about our vision of Azure Managed Databases.

play09:18

If you were there in that session, you have seen this.

play09:21

We were talking about how

play09:22

Azure Databases are going to be built in and

play09:24

tuned for generative AI applications

play09:26

with hyperscale performances.

play09:28

We're going to have Copilots to boost your productivity.

play09:30

Our managed databases are

play09:32

going to do a lot more on your behalf.

play09:33

If you have investments and experiences in on-prem,

play09:36

they need to seamlessly scale to the Cloud.

play09:39

All that is possible because

play09:41

of our intelligent databases.

play09:42

They've got to be integrated because we'll

play09:44

have a ton of fabric integrations.

play09:46

You can harness all that power to focus on innovation.

play09:49

You can trust our platform because we have

play09:51

unprecedented privacy,

play09:52

security, sustainability guarantees.

play09:54

All this will help you go

play09:55

really power your applications of the future.

play09:58

Now, here, I'm going to pivot

play10:00

a little bit and walk you through some of

play10:02

our core databases and how they're

play10:04

helping you build these new applications.

play10:06

Let's start with Cosmos DB.

play10:08

Azure Cosmos DB is our flagship NoSQL database.

play10:12

How many of you have used or played with

play10:15

Cosmos DB so far? Quite a lot.

play10:18

Well, thank you. In the last month,

play10:21

we have run our fourth worldwide annual conference.

play10:24

This is a virtual event where we had

play10:25

12,000 views across the globe from

play10:28

growing community of developers who building

play10:30

their new apps powered with AI and Azure Cosmos DB.

play10:34

I am beyond thrilled to announce

play10:37

that the vector search capabilities coming to

play10:39

Azure Cosmos DB's NoSQL API. We did announce it.

play10:42

It's in public preview since Tuesday,

play10:44

and it is possible because we brought in the

play10:47

state-of-the-art very

play10:48

powerful algorithms known as DiskANN.

play10:51

I'm going to dive in a little bit about DiskANN,

play10:53

so bear with me a little bit technical here.

play10:55

To start with, what we are doing here is to bring

play10:59

the transactional data and vector data

play11:02

together in one simplified data engine,

play11:05

which is Cosmos DB here.

play11:06

By doing so, we are massively reducing the complexity

play11:10

of building an intelligent applications.

play11:13

This is going to be low cost.

play11:15

It's actually going to be super intuitive for you

play11:16

because you're not dealing with

play11:17

lots of different engines.

play11:19

It's not just about combining the data.

play11:21

We're actually combining the power of

play11:23

different engines and index engines and query engines.

play11:27

For that matter, you could use as

play11:29

your Cosmos DB's ability to filter on equality,

play11:33

ranges, and even spatial filters for that matter,

play11:35

completely different index in

play11:37

conjunction with the vector indexing.

play11:39

Because you could do

play11:41

these filters,

play11:42

the hybrid queries, what we call.

play11:44

You could absolutely go work

play11:46

on really large massive datasets.

play11:49

To make it easier for you,

play11:50

you probably have different knobs,

play11:52

different requirements.

play11:53

We have indexing that is a lot more flexible.

play11:56

You could index with absolutely exact queries,

play11:59

like don't want approximations here,

play12:02

you want exact, we got that.

play12:03

If you want to quantize before doing the exact queries,

play12:07

I'll touch upon quantities in a minute.

play12:08

It's effectively a way to compress.

play12:09

You'll get some really fast answers,

play12:11

and then you can sort re rank again. We got that.

play12:15

All the way to a very scalable solutions

play12:18

such as DiskANN so we've got different knobs here.

play12:20

I highly encourage you to go check it out.

play12:22

The great thing about all this stuff is

play12:23

that this is working on

play12:25

top of everything that you

play12:26

care and love about Azure Cosmos DB.

play12:29

Azure Cosmos DB, as you all know,

play12:30

has industry leading SLAs,

play12:32

single digit millisecond latencies,

play12:34

financially back throughput guarantees

play12:36

and high availability up to five nines.

play12:39

Everything that I talked about is working in

play12:42

conjunction with all the goodness that we have here.

play12:44

In fact, we're not just

play12:46

focused on the large scale workloads.

play12:47

We're also bringing this to

play12:49

your serverless workloads, as well.

play12:51

This is all possible because

play12:54

Microsoft research and Azure Cosmos DB,

play12:57

and all the Azure managed databases,

play12:59

we're all collaborating together to bring the state of

play13:02

the art powerful set of algorithms known as DiskANN.

play13:05

This is going to give you

play13:06

some amazing characteristics across,

play13:08

recall latency, cost,

play13:09

robustness to changes, and scalability.

play13:12

The quick gist of

play13:14

DiskANN is that it's just building a graph index for you,

play13:17

where the compressed vectors are in memory,

play13:19

the full fidelity graph is in SSD.

play13:23

Hence, a vector search

play13:24

effectively becomes a graph traversal problem.

play13:28

The notion of graph index here

play13:31

brings in a lot of cool advantages

play13:33

as a slide calls out here.

play13:35

It has high accuracy because we have what we call

play13:38

as directionally diverse edges in the graph,

play13:42

so we can go and find the accurate information.

play13:45

We, in fact, search for the compressed data in memory,

play13:47

and then for accuracy,

play13:49

we re rank them on the high fidelity graph and the SSDs.

play13:53

It has low latency because in the graph,

play13:55

we store both the short edges as well as

play13:57

long edges so that we converge faster,

play14:00

and the number of hops that you need

play14:01

to get to the answer is much lower,

play14:03

so it gives you low latency.

play14:04

Since, compressed data is in memory,

play14:08

we're not as memory bound like other state of

play14:11

the art vector indexings that are out there right now.

play14:14

That makes the cost of

play14:16

doing vector indexing much cheaper.

play14:18

Better yet, it's going to do that at

play14:20

scale because the full index is actually on the disc.

play14:24

You don't pay and you're not

play14:25

constrained by the memory challenges

play14:26

that you typically have

play14:28

to if you go to the other indexes.

play14:30

The full index is on disc.

play14:32

Of course, everything about

play14:34

Azure Cosmos DB is about elasticity.

play14:37

Now, vector indexing is

play14:40

going to go in conjunction with that property.

play14:42

That's why it's one of the most scalable,

play14:45

most highly available, awesome

play14:48

accuracy and low latency vector index that's out there.

play14:51

It's industry first.

play14:54

The great news here is that DiskANN is

play14:56

not new in Microsoft.

play14:58

We've been basic incorporating

play15:01

it into many of our products.

play15:03

Bing, for instance, has been using

play15:04

it in a family of offers.

play15:06

It uses almost 400 billion vectors

play15:08

with trillions of points in the graph.

play15:10

Use it for its accuracy and latency promises.

play15:14

It's also used in our M365 applications such as

play15:17

Outlook, SharePoint, even Teams.

play15:20

A little bit deep dive into the how part,

play15:24

there is a property called quantization.

play15:26

I referred to that a moment ago.

play15:28

Quantization effectively, think of it

play15:30

as you have this large vectors.

play15:32

If you all use OpenAI,

play15:33

you probably know that it has 1536

play15:34

embeddings for any vector.

play15:36

That's a large data point. It's almost 6k.

play15:39

If you put all that data in memory, it's really hard.

play15:42

It's going to be memory constrained.

play15:44

What we do here is there's

play15:45

a property called quantization where it compresses.

play15:48

It reduces the dimensions into groups

play15:51

where each group effectively has equal number of points,

play15:54

approximately equal number of points.

play15:56

Because these compressed data points are in memory,

play15:58

it's easier and faster and to go search them

play16:01

while making sure that

play16:03

the full truth is still on SSDs.

play16:04

There's a family of algorithms here that are working

play16:07

here to make the optimal search possible.

play16:09

Vamana is the biggest one here.

play16:11

It has a property called building

play16:13

a relative neighborhood graph

play16:15

that takes the most relevant edges.

play16:17

It just takes the most relevant edges for you to go

play16:20

search instead of just

play16:21

completely spanning the whole thing.

play16:22

That makes the search super optimal.

play16:25

The pruning algorithms over there will help

play16:27

create an optimal graph in

play16:29

what is called as a low diameter graph.

play16:31

If you're interested, we'll deep dive more into this.

play16:34

There's a lot of literature about DiskANN there.

play16:36

There's lots of good papers

play16:37

that research team has published here.

play16:39

This is truly one of the most important vector indexing

play16:42

that's out there has the best recall capability.

play16:45

Perhaps, this is really my favorite feature of DiskANN.

play16:50

Often, what happens is that as you keep

play16:52

inserting and deleting the vector indexes,

play16:54

the recall regresses significantly.

play16:57

As you seen HNSW in this case,

play16:59

just went down massively

play17:01

as the insertions and deletions happen.

play17:03

This is bad because you have to now re-index.

play17:06

The efficiency of that goes down.

play17:08

It shows up in your latency,

play17:10

shows up in the accuracy, etc.

play17:11

Not with DiskANN.

play17:13

It continues to have the same recall.

play17:16

That's because of all the powerful

play17:18

set algorithms that we brought in here.

play17:19

That, in essence,

play17:20

is really what I wanted to present about DiskANN.

play17:23

It is today with Azure Cosmos DB.

play17:25

We're going to bring it to all Azure managed databases,

play17:27

but this is in public preview today.

play17:29

I highly request you to go play with this.

play17:34

The next announcement that I want to talk about

play17:36

with Cosmos DB is

play17:37

the integration into frameworks such as Semantic Kernel,

play17:42

in .NET And Python,

play17:43

and large language model, Python and Java.

play17:46

Semantic Kernel and LangChain are frameworks that

play17:51

basically helps you go build these applications in

play17:53

conjunction, playing with LLMs.

play17:56

LangChain is an open source model, that is, of course,

play17:59

thriving on the commuters tools

play18:01

and the integrations that are out there

play18:02

in the open source community.

play18:04

Today, you have it now with

play18:06

Azure Cosmos DB for NoSQL as well.

play18:08

Semantic Kernel, on the other hand,

play18:10

is a lightweight framework that was built by Microsoft.

play18:12

If you're looking for something simple and efficient,

play18:14

Semantic Kernel is definitely

play18:16

worth the consideration here.

play18:17

Again, vector search,

play18:20

all the integrations are

play18:22

going to help you build applications,

play18:23

super easy. Go check it out.

play18:25

By the way, all these frameworks are

play18:27

going to be available for

play18:28

all the other databases as well.

play18:30

In fact, LangChain has

play18:32

integrations to open source databases,

play18:33

PostgreSQL, MySQL.

play18:35

SQL DB already has connections to Semantic Kernel.

play18:38

We're going to bring LangChain as well pretty soon.

play18:40

This is all about Azure Cosmos DB.

play18:43

Let me switch gears and talk about another database here.

play18:45

Azure Database for PostgreSQL.

play18:47

Now, This is one of

play18:49

the most popular open source database out

play18:51

there really fastly, rapidly being adopted.

play18:54

It is one of the most, front and center for

play18:57

application developers because the community

play19:00

has been investing quite a lot.

play19:01

Already has a natural way of storing and

play19:04

retrieving vectors through what

play19:06

we call a PG vector extension.

play19:09

We are contributing quite a lot here.

play19:11

In fact, if you don't know,

play19:13

Microsoft does quite a bit here in terms of

play19:15

our contributions to the open source database.

play19:18

Trilled to announce the in-database embedding generation

play19:20

for Azure Database for PostgreSQL.

play19:22

With this, we are bringing the Microsoft's open source

play19:26

E5 tech small model and embedded inside the engine.

play19:30

You could execute for

play19:32

getting the embeddings locally within the database.

play19:34

You don't have to make a call to an external model like

play19:36

OpenAI or any other model. You could do that.

play19:39

They are slightly different accuracy-latency tradeoffs.

play19:44

But since the embeddings are local,

play19:45

you'd get really great latency.

play19:47

Single digit millisecond latency

play19:49

for you to generate these embeddings,

play19:50

because they're all being generated locally.

play19:53

It's all packaged inside of

play19:54

Azure Database for PostgreSQL here,

play19:56

so you get predictable cost and very high throughput.

play20:01

Finally, you could keep the data complied.

play20:03

You're not moving anything outside the database,

play20:05

so you can bring in something that requires you to

play20:08

have private or highly confidential information.

play20:11

That is announcing today.

play20:13

If you are aware,

play20:15

PG has this extension called PG Vector.

play20:18

I referred to it earlier.

play20:20

It has a way to store and

play20:21

retrieve vector indexes locally.

play20:25

Break news is that the local

play20:26

embeddings that I just mentioned

play20:28

works in conjunction with this extension.

play20:31

You could continue to use PG vectors to store

play20:33

and retrieve vectors while you use

play20:35

the local embeddings that can

play20:37

help you generate the embeddings that then can be

play20:39

stored into the vector type using PG Vector.

play20:44

We support various indexes.

play20:46

This is, thanks to the power of OSS community here,

play20:50

we support inverted file index IV flat index. This is good.

play20:54

When you basically have some limited data point,

play20:56

something like let's say a million data points.

play20:58

Often when the data points are not

play20:59

changing off and you're not doing too many insertions,

play21:01

etc, this is a great option.

play21:03

It has amazing memory and speed characteristics.

play21:06

It basically partitions the data

play21:07

into different clusters and then

play21:09

tries to help you get to the query fast.

play21:12

On the other hand, we also support HNSW.

play21:15

Hierarchical, Navigable,

play21:16

Small Word, it's a mouthful.

play21:18

The way that this data structure works,

play21:21

is very similar to skip list.

play21:22

If you remember, skip list from

play21:23

the other side of the world in the databases world.

play21:26

It has different layers

play21:27

where the graph is layered and each layer's

play21:29

edges are in that layer

play21:31

as well as across the layers effectively.

play21:34

If you have more than finite data points,

play21:38

if you're trying to do more Cloud, more inserts,

play21:40

deletes, etc, it has

play21:41

slightly different characteristics than IVF Flat,

play21:43

but it is also a pretty efficient index.

play21:45

It's one of the most popular ones out there today,

play21:48

but they all have some limitations.

play21:50

As I said, recall is one of them that I mentioned here.

play21:53

Hence, we are bringing all the power of

play21:55

DiskANN that I mentioned a while ago.

play21:58

Two, Azure Database for PostgreSQL.

play22:01

This is the goodness of basically

play22:02

betting on Microsoft and Azure

play22:04

databases because we bring in the best of our

play22:07

Microsoft research to all our managed databases.

play22:09

We're going to commit this to PostgreSQL as well.

play22:12

This is coming before the end of summer.

play22:13

Just several few more months.

play22:16

It's coming to Azure Database for PostgreSQL.

play22:18

We are super committed to making sure that this

play22:21

comes to MySQL databases as well.

play22:24

To show all this goodness,

play22:26

to show how all this works in PostgreSQL,

play22:28

I'm going to call on the stage Charles Feddersen,

play22:30

our product leader who's going to

play22:32

show all this cool work

play22:34

is coming into action. Charles, please, take it away.

play22:36

[applause]

play22:41

CHARLES FEDDERSEN: Thank you, Shireesh.

play22:42

Good morning,

play22:44

everybody. My name's Charles Feddersen.

play22:46

Today, I'd like to show you how

play22:47

the new local embeddings in Postgres enable you to build

play22:50

incredibly interactive applications for

play22:53

vector search on Postgres that can then power

play22:56

those RAG based applications that Shireesh mentioned.

play22:59

I'm going to start in a basic web app.

play23:02

This is a travel site, and effectively,

play23:04

what I'm doing here is I'm

play23:05

using search as we're all familiar

play23:07

with with search engines to

play23:08

find somewhere that I'd like to stay.

play23:10

I'm going to go and search for somewhere that allows

play23:12

small dogs because I'm traveling with my pet.

play23:15

If I go run this search,

play23:17

it's going to take a little while to

play23:18

return the 90 odd results.

play23:19

It's not bad, but it's not

play23:21

the interactive experience that we'd expect.

play23:24

Let me show you how it's built

play23:25

today on PostgreSQL and how you can

play23:28

now build it using

play23:29

the local embeddings and

play23:30

the performance that that provides.

play23:32

Here I am in my favorite Postgres editor,

play23:35

PG Admin and I'm going to go

play23:36

ahead and run a simple select query.

play23:39

I'm taking four columns,

play23:40

and this order by clause is really important.

play23:43

This is where I'm invoking

play23:45

the Azure AI model that's making a remote call.

play23:47

There are 384 dimensions,

play23:49

and this single query comes back in

play23:52

about 45, 46 milliseconds.

play23:54

It's not too bad,

play23:55

but we can do better because we're

play23:58

running a SQL query where we

play24:00

expect really fast performance,

play24:01

but we're making a call to a remote service.

play24:04

Let's zoom out again. Now I'll show you how

play24:07

the new local embeddings can work

play24:09

to make these applications really quick.

play24:11

Same four columns.

play24:13

The subtle difference is that Azure

play24:15

local AI in the order by clause.

play24:17

I'll go ahead and run this.

play24:19

What's happening is that allows

play24:21

small dogs text that I put in

play24:23

my search is being converted

play24:25

in the database to an embedding that I can then do

play24:28

the comparison against all of the data in my database.

play24:32

Like Shireesh mentioned, this is where we're

play24:33

using your enterprise data.

play24:35

Think about all the applications you

play24:37

run that have got embeddings created

play24:39

for them in each row to go do

play24:41

a similarity search using vector comparisons.

play24:44

But to do that, I had to create the vector

play24:46

first for the search that I put in.

play24:49

You need to do this for every

play24:50

different search that you run.

play24:51

That's exactly what's happening here,

play24:53

and now that query is down to about four milliseconds.

play24:56

But we really want to test this at scale.

play25:00

Let's go and run now my remote embeddings in

play25:03

the left hand side and

play25:05

the local embeddings in

play25:07

the right hand side, as you can see here.

play25:09

What I'll do is we'll kick this off on

play25:11

the left hand side to run a series of transactions.

play25:14

Because we're making these calls out to main service,

play25:17

we're only able to sustain in

play25:18

around about 15-20 transactions

play25:20

per second out of the database.

play25:22

The right hand side is already finished.

play25:25

We asked it to run 800 queries,

play25:27

and it ran all of them in

play25:28

a little over three seconds with

play25:30

a sustained rate of about 242 transactions per second.

play25:34

That's the performance of running locally in Postgres.

play25:38

The left one ultimately finished,

play25:39

and you can see the average latencies there.

play25:42

Now, the important thing about this performance

play25:44

is the data is always changing as well.

play25:47

If the data that I'm

play25:48

changing is based on the embedding I've created,

play25:51

I need to recreate the embedding as well.

play25:53

Here's a standard,

play25:54

simple SQL statement that's going to run

play25:57

an update for where I may have added

play25:59

new product reviews or

play26:00

changed the description of a product text.

play26:02

I can create those five embeddings

play26:04

faster than I could create a single remote embedding.

play26:08

Now, remote embeddings are no less

play26:10

powerful because of the latency,

play26:11

they provide greater flexibility for all of

play26:14

the models that are available in Azure AI services.

play26:17

But as Shireesh mentioned at Build,

play26:19

we're now shipping Microsoft's E5 model

play26:21

locally in Postgres out of the box,

play26:24

and it just works for running SQL queries like this.

play26:27

Now, if I come back to my app and we go and run

play26:30

the small dog search

play26:31

again, it's effectively instantaneous.

play26:33

We've localized the embedding creation and comparison,

play26:37

and now we can go power those LLMs with the context

play26:40

of our data to give you

play26:42

a really rich and interactive response.

play26:44

Thank you, everybody. Back to you Shireesh.

play26:49

SHIREESH THOTA: Well, thank you, Charles.

play26:52

I want to move on a little bit

play26:53

to other announcements here.

play26:55

We are bringing in index recommendation

play26:57

for Azure Database for PostgreSQL.

play26:59

Indexing, of course, super important.

play27:00

It's really essential for performances.

play27:03

As time goes by, as

play27:04

cardinality of your data changes, your schema changes,

play27:07

etc, it's often really

play27:09

hard to keep up with the accuracy of the indexing.

play27:12

We are bringing in support

play27:14

automatically understanding all your query

play27:16

workloads and detecting what needs to

play27:19

happen to make sure that

play27:20

your workload has the right indexes.

play27:21

Sometimes you have to create new indexes,

play27:23

sometimes you have to drop some indexes.

play27:25

Obviously, it's a tax for insertions.

play27:28

We take care of all this stuff,

play27:30

even tell you which queries are going to be impacted.

play27:32

Can you even forecast

play27:33

the performance improvements for this?

play27:35

This is what I wanted to talk about in

play27:37

terms of powering the intelligent applications.

play27:39

I want to move on to the next pillar

play27:41

and talk a little bit about

play27:42

how we are doing in terms of

play27:44

simplifying the developer experience.

play27:46

Here, we got to bring the power of

play27:48

Azure OpenAI service, Azure Machine Learning,

play27:50

and Copilots to streamline

play27:52

the experience for your developers,

play27:54

to make sure that your developers and

play27:55

database administrators can focus

play27:57

more on top of the stack.

play27:59

Again they are very comfortable

play28:01

in databases taking the backstage.

play28:03

We want to be the database to be

play28:05

the humble supporter from

play28:06

behind and let the app take the center stage.

play28:09

That is really the promise

play28:11

of what we are trying to do here.

play28:13

We have lots of announcements in this direction.

play28:16

Azure Database for

play28:17

Postgres's Azure AI extension

play28:19

is going generally available.

play28:21

This is something that we've shipped at Ignite.

play28:24

This enables you to have cool integrations,

play28:27

integrations with a broad array

play28:29

of all of the Azure AI services,

play28:31

Azure OpenAI, Azure Machine Learning,

play28:34

AI language, AI translator.

play28:35

There's a consistent, simplified interface,

play28:38

to be invoked from

play28:40

within the sequel functions of PostgreSQL.

play28:43

Because of this, you could basically go build, generate

play28:47

rich generative AI experiences for

play28:49

your PostgreSQL workflows and applications.

play28:52

Now, let's talk a little bit about Copilots.

play28:54

Now you've been waiting for Copilots.

play28:55

There's lots of Copilots here.

play28:58

We want to bring it all to our databases.

play29:00

Copilots, we believe,

play29:02

are going to be very important to make sure that we can

play29:04

help you build applications that have dynamic scale.

play29:07

They need to make sure that they have

play29:09

intelligence built in so that you're productive.

play29:12

They will enable you to have

play29:14

great automation to do data management.

play29:16

All of our databases are going to

play29:18

have lots of Copilot capabilities,

play29:20

starting with Azure database,

play29:22

Azure SQL Database here.

play29:23

Here, Azure SQL Database is

play29:26

bringing in the power of Copilots in two form factors.

play29:28

One is in the chat window.

play29:30

The second is natural language to query language.

play29:32

Let's dive in a little bit here.

play29:34

The chat window.

play29:36

You could totally ask and receive

play29:37

helpful contextual information inside

play29:40

the context of the Azure portal blade.

play29:43

You could ask questions such as,

play29:44

hey give me the size of my SQL base.

play29:47

Give me the active connections.

play29:49

In fact, what were

play29:50

the most resource consuming queries just last week?

play29:53

You could open up the chat window

play29:55

in the context of the database that

play29:57

you're operating in and just

play29:58

start asking questions such as,

play30:00

why is my database slow today?

play30:01

We want the Copilot to be collaborative.

play30:03

We want it to be working in conjunction with you to make

play30:07

sure that you could gather

play30:08

insights and troubleshoot them.

play30:10

The great news is that this Copilot works in the context

play30:12

of the database that you opened the portal blade,

play30:15

and it obviously understands what's happening with

play30:18

the database and starts enumerating lots

play30:20

of details for you to go work on.

play30:22

Great news, it works

play30:24

within the confines of the permissions that you have.

play30:26

We obviously take security very seriously.

play30:27

We don't want you to exfiltrate

play30:29

unnecessary information, so this is pretty safe.

play30:32

Natural language to query.

play30:34

Again, we want you to be able to

play30:37

interoperate with the SQL database intuitively,

play30:40

with natural language queries.

play30:42

We got to take care of understanding your table,

play30:44

schemas, column names,

play30:46

your primary keys, foreign keys,

play30:47

all metadata, and generate highly accurate information.

play30:51

You can look at it, you can

play30:52

edit if you want to, and then execute it.

play30:54

It's not just for some simple queries.

play30:56

We're doing it to make sure that we

play30:57

support really complicated ones,

play30:59

things such as multi-table joins,

play31:02

aggregates, pivot tables, CTs.

play31:04

All those things are going to be possible because of

play31:06

all the cool things that we're doing with

play31:08

the Copilot in SQL base.

play31:10

To show more of this, I'm going to call on

play31:11

the stage a star architect Bob Ward.

play31:14

Bob, please take it away.

play31:16

BOB WARD: Thank you, Shireesh.

play31:19

Folks, some time ago,

play31:21

our data science team and the SQL team said,

play31:23

"Bob, we're going to build a Copilot.

play31:24

You've been around for a while,

play31:26

what do you think we should do for self help?"

play31:28

I said, "Hey, for decades,

play31:30

we have rich telemetry built

play31:32

into the SQL engine for performance,

play31:34

for everything you need,

play31:36

and you can run SQL queries on top of it.

play31:37

So why don't you start with that?"

play31:39

They're like, "That sounds pretty cool."

play31:41

So we spent time taking what we call Bob in the box,

play31:44

putting inside in the Copilot a deep set

play31:47

of knowledge of how to tackle really complex problems.

play31:50

The team said to me sometime

play31:52

ago, "Hey, why don't you take a look at it?"

play31:53

So I'm going to show you what it looks like.

play31:54

First of all, what I told the team was,

play31:57

"What can this thing do?"

play31:59

I'm in the context of my database,

play32:01

that's what I love about this whole thing.

play32:02

I'm in a natural thing in

play32:04

the portal here in the context of my database,

play32:06

and I'm asking, what is it

play32:07

possible that you can do as an actual Copilot?

play32:10

I'm going to ask this question, what can you actually do?

play32:12

In the chat window, I'm just going to say,

play32:14

what things can you do to help me with my database?

play32:17

I'm actually using a hyperscale database,

play32:19

which you can start, a very great way

play32:21

to start your database to scale up,

play32:23

and Copilot is going to actually tell

play32:24

me specific things it can do

play32:26

to help me in the context of the database I've deployed.

play32:30

Now, what I love about the top list here is

play32:32

these two areas:

play32:34

troubleshooting and diagnostics and performance tuning,

play32:37

things that are very, very difficult

play32:38

to do for a lot of customers,

play32:40

developers, even really expert DBAs.

play32:43

The team said to me, "What's the litmus test for this?"

play32:46

I said, "Well, if I can take a

play32:48

performance problem," which they

play32:49

didn't tell me what it was,

play32:50

"and I can ask Copilot something very vague.

play32:54

This is the promise of GenAI. My database is slow.

play32:57

Who can do this today in a very, very fast way?

play32:59

We've got all the telemetry in the engine,

play33:01

but you've got to know how to go navigate all that."

play33:03

So Copilot is going in and looking at,

play33:05

based on your permissions,

play33:06

things you can look at yourself

play33:08

that may be difficult to navigate,

play33:09

and it already knows, "Hey,

play33:11

you've got a high CPU problem here,

play33:13

and by the way, it's been going on for a

play33:15

while," and I'm like, "Okay, well, that's great.

play33:17

What's the next step?" Well, probably,

play33:19

I need to figure out what query is involved.

play33:21

Everybody wants to know what's the query as part of it.

play33:23

So I can scroll down and say, "Yeah, you know what?

play33:25

I can actually tell you the query."

play33:27

Well, this is great, I'm already on

play33:29

the path to figuring out what the problem is.

play33:30

What typically happens in

play33:32

this high CPU scenarios is maybe I'm missing an index.

play33:36

Instead of asking the Copilot,

play33:38

it's already prompted me and said,

play33:39

"Hey, maybe I can help you optimize this query."

play33:43

I'll just click this prompted button

play33:45

here already and say,

play33:46

let's see what you have.

play33:47

Sure enough, it can go look at inside

play33:49

the telemetry in what we call

play33:50

the query store, and say, "You know what?

play33:52

As it turns out, there is an index you could be using."

play33:55

It's already told me, "Hey, here's the query.

play33:57

Here's the actual index you could use,"

play33:59

solving a problem in minutes that could take hours.

play34:02

Then the team said like, "Well, what else can you do?"

play34:04

I said, "Well, there's other types of

play34:06

performance problems where the database

play34:08

is slow that are not as obvious."

play34:10

I'm like, "Okay, well, I'm going to ask

play34:11

the same question in a different scenario,

play34:13

'Hey, my database is slow'."

play34:16

I'm like, "Okay,

play34:17

I'll wait and see what Copilot has to say."

play34:18

Now, at this point, I still don't know what's going on.

play34:21

Maybe it's the same high CPU problem

play34:23

or maybe it's something what I call a waiting problem.

play34:26

In here, the Copilot has already

play34:27

determined, "Hey, you know what?

play34:29

There's not a CPU issue going on."

play34:30

But as you scroll down,

play34:31

it said, "You know what I detected though?

play34:33

I detected a blocking chain."

play34:35

It's like, "I can even tell you the specific sessions in

play34:39

SQL that are causing the blocking

play34:40

and the query that is part of this."

play34:43

Now, I know performance

play34:44

troubleshooting a little bit and I'm testing the system,

play34:46

and I'm like, "Well,

play34:47

I got the blocking chain."

play34:48

Maybe in the scenario,

play34:50

which is very common for applications,

play34:51

it's got a transaction open.

play34:53

It said session 110 was my problem.

play34:56

Again, I'm having a conversation with

play34:59

this Copilot based on my telemetry saying,

play35:01

"Hey, is session 110,

play35:02

does it have an open transaction?"

play35:04

I asked this question, Copilot can go look at

play35:07

again this telemetry based on what's in SQL already,

play35:10

and say, "As it turns out,

play35:12

there is a session that has an open transaction."

play35:15

I want to go deeper, even what Copilot is telling me.

play35:18

I'm going to use what I call my perf mod in the Cloud,

play35:21

Database Watcher, something

play35:22

that's in public preview today.

play35:23

It's storing data in a Kusto database,

play35:25

which I can get deep information in

play35:28

dashboards or even in the Microsoft fabric.

play35:30

I'm using the actual dashboard scenario

play35:32

here going, "Hey, why don't you tell me over the last 15 minutes

play35:35

what does the activity look like, and what's blocking?"

play35:37

Look at the deep information I already have from Watcher.

play35:40

I can see in here now the blocking chain,

play35:42

I can see the lead blocker,

play35:44

I can scroll over to see what is being blocked,

play35:46

and then I can scroll to the right and get

play35:48

more deep information like, as it turns out,

play35:50

there is open transactions here I need to deal with

play35:53

or even other telemetry like, what's the program name?

play35:56

Who's the user involved?

play35:58

This is really powerful stuff. Here's the thing.

play36:01

It's happening right now,

play36:02

but maybe what happened in the past.

play36:04

Is this a pattern that's going on?

play36:06

Watcher stores historical information

play36:09

even for blocking problems.

play36:11

I'm going to go up here and say, You know what?

play36:13

What's happening over the last,

play36:14

say, I don't know, four hours.

play36:16

I'll go historical mode,

play36:18

pick the last four-hour window, and see what I get.

play36:21

Look at this. It said,

play36:23

there wasn't a blocking plane just now.

play36:25

There was a blocking chain several hours ago.

play36:27

I can then go into the graph, historically,

play36:30

drill into it, and see

play36:32

the same blocking problems occurring.

play36:34

I'm telling you right now,

play36:35

this is a problem that no one can solve today.

play36:37

Usually, they have a problem that's happening

play36:39

a blocking problem. Yeah, there we go, thank you.

play36:40

Not me, it's the team that built it.

play36:42

Because normally people have a blocking problem,

play36:44

but they don't know what happened in the past.

play36:46

The combination of Copilot and Watcher gave that to me.

play36:48

This is a fun one, and it's a fun database name.

play36:51

The team said like, "Okay, we're

play36:52

going to stump you on this one, Bob.

play36:54

We're not going to tell you even what's going on here.

play36:57

Don't say slow." I'm like,

play36:58

"All right, can I detect there's any problems with this thing?"

play37:00

Copilot, just look and see,

play37:02

is there anything you notice about the scenario?

play37:05

So Copilot is going to go in and use

play37:07

the same pattern of

play37:08

looking at running versus waiting issues.

play37:10

Again, this is something that I would do today if

play37:12

somebody asked me about a problem with my database.

play37:14

It turns out there is a CPU problem here.

play37:17

I'm like, "Okay, team,

play37:18

nice try trying to stump me.

play37:20

It's the same thing before.

play37:21

It's probably missing an index or something like that."

play37:24

I'm looking down here and it's looking

play37:25

like, "Okay, no problem."

play37:26

But it's telling me the query,

play37:27

I know the query that's going on.

play37:29

I'm like, "Okay, you know what I love?

play37:31

I can click this button and see what it's doing."

play37:34

Now I've got insights to what the Copilot is doing,

play37:37

so I know behind the scenes based on my permissions

play37:40

using the deep telemetry what is it

play37:42

doing to try to go and solve these problems.

play37:44

Any Copilot answer has the ability to

play37:46

see the insights of what it's doing behind the scenes.

play37:48

Okay, fine, try to go optimize my query for me.

play37:51

I'll click this option like I did before,

play37:53

and I'm like, "Okay, it's got to be probably

play37:54

a missing index again."

play37:55

There's something called an anti-pattern query,

play37:58

that's probably what the problem is.

play38:00

I'm looking down a couple and it's like, as it turns out,

play38:02

there are no missing indexes in this query,

play38:04

and I've detected and looked at your queries.

play38:07

There is no anti- pattern problems here.

play38:09

So I'm like, "Maybe they have stumped

play38:11

me." You know what, though?

play38:12

Maybe it's tuned,

play38:13

but I'm hitting a resource limit in Azure.

play38:16

So I'm going to go like, "Hey, Copilot,

play38:17

do I have any resource limit issues going on?"

play38:20

We'll ask this question, again,

play38:21

in a very natural language way.

play38:23

The telemetry is all there to tell us this.

play38:26

Copilot is like, "You know what? I'll take

play38:28

a look at your question and look to

play38:29

see what is your current CPU configuration,

play38:32

and what is the CPU should look like based on that?"

play38:36

Sure enough, it's saying, "You know what?

play38:37

You're tuned, you're just hitting a limit."

play38:39

This is incredible. To be able to go in and do this

play38:42

today takes an incredible amount of time.

play38:44

I've shown you three scenarios

play38:46

where something that takes hours or even a support

play38:48

call to Microsoft can be solved at

play38:50

minutes using the built-in rich telemetry of SQL.

play38:55

We talked about natural language to SQL. You know what?

play38:58

I've been writing SQL queries for a while,

play39:00

but one thing that's difficult for some people writing

play39:03

SQL is to do hierarchy navigation

play39:06

of your relational database.

play39:07

I went into Copilot,

play39:09

in the query auditor, and said,

play39:10

"Can you give me a hierarchy of

play39:12

product levels in my database?"

play39:14

Now, here's what we do in natural language.

play39:16

You pick your tables,

play39:17

the schema that we're going to feed

play39:19

the model. I'll pick all of them.

play39:20

We know the names of the columns, the tables,

play39:22

and even the key relationships to build joins for you.

play39:26

Here, I'm going to accept what Copilot is doing.

play39:29

Here, inside the editor,

play39:31

it's given me comments to show

play39:32

me what did it actually try to generate.

play39:35

I can scroll down and look and see,

play39:36

it's using what's called a

play39:37

recursive common table expression.

play39:40

Even some of the deepest experts in the world

play39:42

for SQL don't know what queries like that.

play39:44

Now, with the Copilot,

play39:46

I have generated a query that can be very

play39:48

complex to do in a very accurate and performant way.

play39:51

When it's done, I can finish it and run it.

play39:53

What an amazing system.

play39:55

Now, even people that don't know

play39:57

complexity SQL queries can use Copilot to do that.

play40:00

Shireesh, what do you think, man?

play40:03

[applause]

play40:05

SHIREESH THOTA: It's super cool, Bob.

play40:08

We didn't manage to stump you.

play40:10

How many years have you been in SQL business?

play40:13

BOB WARD: 30, almost 31 years.

play40:15

SHIREESH THOTA: Thirty one years and you still

play40:16

can't write recursive CTEs.

play40:18

BOB WARD: That was rough.

play40:21

SHIREESH THOTA: Well,

play40:22

everybody needs Copilot.

play40:24

Even Bob needs Copilot.

play40:25

But thank you Bob. I want

play40:27

call on a few other announcements here.

play40:29

Obviously, you probably have seen

play40:31

Azure Cosmos DB Copilots it's been in public preview.

play40:34

Lots of great usages.

play40:35

We're going to refresh them to

play40:37

get a lot more other capabilities.

play40:39

One thing that I wanted to just call

play40:40

out about the Copilots, is that,

play40:42

we build all our Copilots

play40:44

with our stringent principles

play40:47

of responsible AI at Microsoft.

play40:49

We want to make sure that we are not

play40:50

just giving you accurate information.

play40:52

We want to ensure that they are coming in with

play40:54

the right security guard rails with the privacy

play40:56

and all the security assurances that Microsoft has.

play41:00

Of course, SQL Copilot that Bob showed,

play41:03

Cosmos DB1 and everything that we build

play41:06

are all built with those principles in mind.

play41:08

We want to make sure that witth Azure Cosmos DB,

play41:11

we can optimize the queries really, really well,

play41:14

reduce your latencies, make sure

play41:15

that you have the right configurations.

play41:17

Then the natural language to query language,

play41:20

Azure Cosmos DB also has one.

play41:22

It's available inside the data explorer.

play41:25

It's free, by the way. You should really use it.

play41:27

It's super easy to intuitively

play41:30

operate with natural language and get to noSQL queries,

play41:33

just like the TSQL queries that Bob

play41:35

showed. These are all available.

play41:37

We are looking to refresh them to

play41:38

move into the Copilot in Azure,

play41:40

so we are trying to streamline and

play41:41

simplify the gazillion Copilots that we have today.

play41:45

We're also announcing Copilot capabilities

play41:47

in Azure Database for MySQL, and this is cool.

play41:51

We basically have an ability for you

play41:53

to interoperate with the public documentation.

play41:55

It can be daunting sometimes to just look at

play41:57

the documentation and troubleshoot issues.

play42:00

This will enable your application developer to

play42:04

understand the content all the way from

play42:06

Microsoft's Learn content,

play42:09

best practices, etc,

play42:10

and troubleshoot issues easily.

play42:12

This is all about the Copilots that we have here.

play42:15

I want to just quickly

play42:16

summarize everything that we are announcing here.

play42:18

It's quite a lot here. We have Azure Database for

play42:20

PostgreSQLs, AI extension.

play42:23

Bob, I need to finish.

play42:25

BOB WARD: I forgot to show something.

play42:28

We built

play42:30

a Copilot for SQL Server.

play42:31

SHIREESH THOTA: Are you trying to stump me?

play42:32

BOB WARD: I'm trying to stump you.

play42:33

We forgot to tell you we built a Copilot for SQL Server.

play42:36

SHIREESH THOTA: Really? I know

play42:37

that, but you're going to show it now.

play42:39

BOB WARD: I'm going to show now.

play42:41

Can I do it? I just want to show.

play42:43

You were asking for this. So yeah, here's a first look.

play42:46

SHIREESH THOTA: Well, I'm going to hang in and see it.

play42:47

BOB WARD: I first look at a Copilot for SQL Server.

play42:49

Shireesh, I'm connected with Azure Arc for SQL.

play42:53

I've got a bunch of SQL server on

play42:54

premise instances connected with Azure Arc.

play42:56

I want Copilot to help me get

play42:58

rich information about my instances,

play43:00

so I just ask it, what's

play43:02

the inventory of instances you have?

play43:03

Now, I don't want to just get the list of SQL servers.

play43:06

I want to give me insights,

play43:07

the promise of GenAI on actions to take.

play43:09

Here's all my SQL servers, additions, versions,

play43:12

etc. But what's interesting about them?

play43:15

Well, number 1, one of these instances,

play43:16

Shireesh, is running SQL 16,

play43:19

but is missing a security update.

play43:21

It's already knows based on I'm

play43:22

configured, you need to take some action.

play43:24

The second one's 2014,

play43:25

it's running out of support.

play43:27

Now I've got insights here.

play43:28

Hey, you may actually do something about

play43:31

what's happening with this instance. That's interesting.

play43:34

What about resource utilization?

play43:36

Again, this is running on premises.

play43:37

But using the telemetry of Azure Arc,

play43:40

I go to Copilot and say,

play43:41

what does my resource utilization look

play43:43

like for this SQL Server on premise here?

play43:46

Copilot can go look at

play43:47

the basic telemetry and say, "Well,

play43:49

as it turns out, you don't really

play43:51

have a lot of CP utilization going here."

play43:53

Well, this doesn't make any sense to me.

play43:54

I'm like, "This is a very active SQL Server.

play43:56

I think it should have something happening in the system."

play43:59

Remember, before I showed you about performance

play44:01

about my database is slow.

play44:02

I wonder if there's any waiting problems.

play44:05

A lot of SQL experts, what they do,

play44:07

is they go in and say, what does my wait stats look like?

play44:09

I go to Copilot and say, "Hey,

play44:11

do I have slow wait stats going in this instance?"

play44:14

Again, this is a SQL Server on premises.

play44:16

But I'm using Arc with copilot to look at it.

play44:18

It's like, it turns out, you do.

play44:20

It's giving me a list of

play44:21

waits that are happening in the system.

play44:22

Any SQL person where they see

play44:24

LCK that's a blocking problem.

play44:26

Now I know, with telemetry in a very,

play44:28

very quick amount of time how to go attack a problem.

play44:31

The final scenario, again,

play44:33

just a first look here, Shireesh, not a preview yet,

play44:35

it's coming, is about HADR.

play44:38

When's the last time I've had a log

play44:40

backup for this database?

play44:41

Kind of important, right, to my database.

play44:43

You can go in and just quickly look at telemetry and say,

play44:45

"Hey, there's a log backup that has been taken here."

play44:48

That's a long time ago.

play44:49

You better go do something about it.

play44:51

Finally, availability groups.

play44:53

They're great technology, but often sometimes hard to

play44:55

manage and detect the health for them.

play44:58

I'm going to go to Copilot and say,

play44:59

"Hey, what does my AG look like?"

play45:01

I've got an AG for this system.

play45:02

Again, notice I'm not asking about the health of the AG.

play45:05

I'm just saying, what do I have as an AG?

play45:07

Copilots going to give me

play45:09

extra insights to say, "It's not synchronized.

play45:11

It's not healthy." So Shireesh, this is all about making sure we

play45:15

can help administrators manage their SQL estate

play45:17

and not just give them information,

play45:19

but take insights on it.

play45:20

Sorry to interrupt you but now there is.

play45:22

SHIREESH THOTA: That's super cool.

play45:23

One of the things that we see.

play45:24

[applause]

play45:27

BOB WARD: More coming.

play45:28

SHIREESH THOTA: This is the most important question

play45:30

that I get all the time from the customers.

play45:32

Like all of you here. When is it coming to SQL Server?

play45:34

We absolutely love and care about SQL Server.

play45:37

We're making sure that Gen

play45:38

AI we're not leaving behind SQL Server.

play45:40

This is a great example. Thank you.

play45:41

BOB WARD: Thank you, sir. Sorry to interrupt you.

play45:43

SHIREESH THOTA: I lost my thought here a little bit.

play45:46

But, I just want to thank y'all here.

play45:49

This is a great summary of everything that we've done

play45:51

here in terms of Copilots, the vector indexing,

play45:53

enabling you to go build RAG design patterns

play45:55

across all our databases. It's a new era.

play45:58

It's a super exciting time.

play45:59

On behalf of Microsoft,

play46:01

on behalf of all my team,

play46:02

thank y'all for starting your day with us today.

play46:04

I really hope you walk out as

play46:06

excited as we are in terms of

play46:07

bringing AI into Azure managed databases.

play46:10

There's lots of pointers here,

play46:12

get started in Skillabs.

play46:13

There's still some really good sessions left.

play46:16

Scandinavian Airlines, for instance,

play46:17

170 they're coming in today to talk about their use case,

play46:21

highly recommend this, PostgreSQL sessions.

play46:23

There's a lot of other database sessions.

play46:24

I hope you enjoy them all.

play46:26

Thank you so much.

play46:27

Enjoy the rest of the conference.

play46:28

Thank you for attending today.

play46:30

[applause]

Rate This

5.0 / 5 (0 votes)

Related Tags
AI統合Azure Databaseデータ管理専門家インサイトRAGパターンベクター検索インテリジェントアプリケーション開発者体験ハイブリッドセッション技術革新クラウドデータ
Do you need a summary in English?