Bagikan melalui


Kemampuan multi-model

Berlaku untuk:Azure SQL DatabaseAzure SQL Managed InstanceSQL database di Fabric

Database multi-model memungkinkan Anda untuk menyimpan dan bekerja dengan data dalam beberapa format, seperti data relasional, grafik, dokumen JSON atau XML, data simpan, dan pasangan kunci-nilai.

Rangkaian produk Azure SQL menggunakan model relasional yang memberikan performa terbaik dalam berbagai aplikasi bertujuan umum. Namun, produk Azure SQL seperti Azure SQL Database dan SQL Managed Instance tidak terbatas pada data relasional. Rangkaian produk Azure SQL memungkinkan Anda menggunakan format non-relasional yang terintegrasi erat ke dalam model relasional.

Pertimbangkan untuk menggunakan kemampuan multi-model Azure SQL pada kasus berikut:

  • Anda memiliki beberapa informasi atau struktur yang lebih cocok untuk model NoSQL, dan Anda tidak ingin menggunakan database NoSQL secara terpisah.
  • Sebagian besar data Anda cocok untuk model relasional, dan Anda perlu membuat model beberapa bagian data Anda dalam gaya NoSQL.
  • Anda ingin menggunakan bahasa T-SQL untuk mengkueri dan menganalisis data relasional dan NoSQL, lalu mengintegrasikan data tersebut dengan berbagai alat dan aplikasi yang dapat menggunakan bahasa SQL.
  • Anda ingin menerapkan fitur database seperti teknologi dalam memori untuk meningkatkan performa analitik Anda atau pemrosesan struktur data NoSQL Anda. Anda dapat menggunakan replikasi transaksional atau replika yang dapat dibaca untuk membuat salinan data Anda dan membongkar beberapa beban kerja analitik dari database utama.

Bagian berikut menjelaskan kemampuan multi-model yang paling penting dari Azure SQL.

Catatan

Anda dapat menggunakan ekspresi JSONPath, ekspresi XQuery/XPath, fungsi spasial, dan ekspresi kueri grafik dalam kueri Transact-SQL yang sama untuk mengakses data apa pun yang Anda simpan di database. Alat atau bahasa pemrograman apa pun yang dapat menjalankan kueri T-SQL juga dapat menggunakan antarmuka kueri tersebut untuk mengakses data multi-model. Ini adalah perbedaan utama dari database multi-model seperti Azure Cosmos DB, yang menyediakan API khusus untuk model data.

Fitur Microsoft Azure AD Graph

Produk Azure SQL menawarkan kemampuan database grafik untuk membuat model hubungan banyak-ke-banyak dalam database. Grafik adalah kumpulan simpul dan tepi (atau hubungan). Simpul mewakili entitas (misalnya, seseorang atau sebuah organisasi). Garis mewakili hubungan antara dua simpul yang dihubungkannya (misalnya, suka atau teman).

Berikut adalah beberapa fitur yang membuat database grafik unik:

  • Tepi adalah entitas kelas pertama dalam basis data graf. Mereka dapat memiliki atribut atau properti yang terkait dengannya.
  • Satu tepi dapat secara fleksibel menyambungkan beberapa simpul dalam basis data graf.
  • Anda dapat mengekspresikan kueri pencocokan pola dan navigasi multi-hop dengan mudah.
  • Anda dapat mengekspresikan kueri penutupan transitif dan polimorf dengan mudah.

Hubungan grafik dan kemampuan kueri grafik diintegrasikan ke dalam Transact-SQL dan menerima manfaat menggunakan mesin database SQL Server sebagai sistem manajemen database dasar. Fitur grafik menggunakan kueri T-SQL standar yang disempurnakan dengan operator MATCH grafik untuk meminta data grafik.

Database relasional dapat mencapai apa pun yang dapat dicapai oleh basis data graf. Namun, database grafik dapat mempermudah untuk mengekspresikan kueri tertentu. Keputusan Anda untuk memilih yang satu dari pada yang lain dapat didasarkan pada faktor-faktor berikut:

  • Anda perlu memodelkan data hierarkis di mana satu simpul dapat memiliki banyak induk, sehingga Anda tidak dapat menggunakan tipe data hierarchyld.
  • Aplikasi Anda memiliki hubungan banyak-ke-banyak yang kompleks. Seiring perkembangan aplikasi, hubungan baru ditambahkan.
  • Anda perlu menganalisis data dan hubungan yang saling tersambung.
  • Anda ingin menggunakan kondisi pencarian T-SQL khusus grafik seperti SHORTEST_PATH.

Fitur JSON

Dalam produk Azure SQL, Anda dapat mengurai dan mengkueri data yang ditampilkan dalam format JavaScript Object Notation (JSON), dan mengekspor data relasional Anda sebagai teks JSON. JSON adalah fitur inti dari mesin database SQL Server.

Fitur JSON memungkinkan Anda untuk menempatkan dokumen JSON dalam tabel, mengubah data relasional menjadi dokumen JSON, dan mengubah dokumen JSON menjadi data relasional. Anda dapat menggunakan bahasa T-SQL standar yang ditingkatkan dengan fungsi JSON untuk menguraikan dokumen. Anda juga dapat menggunakan indeks non-kluster, indeks penyimpan kolom, atau tabel memori dioptimalkan untuk mengoptimalkan kueri Anda.

JSON adalah format data populer yang digunakan untuk bertukar data dalam aplikasi web dan seluler modern. JSON juga digunakan untuk menyimpan data semi-terstruktur dalam {i>file database

Kebanyakan layanan Azure memiliki titik akhir REST yang kembali atau mengonsumsi JSON. Layanan tersebut termasuk Azure Cognitive Search, Azure Storage, dan Azure Cosmos DB.

Jika Anda memiliki teks JSON, Anda dapat mengekstrak data dari JSON atau memverifikasi bahwa JSON diformat dengan benar dengan menggunakan fungsi bawaan JSON_VALUE, JSON_QUERY, dan ISJSON. Fungsi lainnya adalah:

  • JSON_MODIFY: Memungkinkan Anda memperbarui nilai di dalam teks JSON.
  • OPENJSON: Dapat mengubah larik objek JSON menjadi sekumpulan baris, untuk kueri dan analisis yang lebih canggih. Setiap kueri SQL dapat dijalankan pada kumpulan hasil yang ditampilkan.
  • UNTUK JSON: Memungkinkan Anda memformat data yang disimpan dalam tabel relasional Anda sebagai teks JSON.

Diagram yang menggambarkan fungsi JSON.

Untuk informasi selengkapnya, lihat Cara bekerja dengan data JSON.

Anda dapat menggunakan model dokumen alih-alih menggunakan model relasional dalam beberapa skenario tertentu:

  • Normalisasi skema yang tinggi tidak membawa manfaat yang signifikan karena Anda mengakses semua bidang objek sekaligus, atau Anda tidak pernah memperbarui bagian objek yang dinormalisasi. Namun, model yang dinormalisasi meningkatkan kompleksitas kueri Anda karena Anda perlu menggabungkan banyak tabel untuk mendapatkan data.
  • Anda bekerja dengan aplikasi yang secara asli menggunakan dokumen JSON untuk komunikasi atau model data, dan Anda tidak ingin memperkenalkan lapisan tambahan yang mengubah data relasional ke JSON dan sebaliknya.
  • Anda perlu menyederhanakan model data Anda dengan menormalisasi kembali tabel anak atau pola Entitas-Objek-Nilai.
  • Anda perlu memuat atau mengekspor data yang disimpan dalam format JSON tanpa beberapa alat tambahan yang mengurai data.

Fitur XML

Fitur XML memungkinkan Anda menyimpan dan mengindeks data XML di database Anda dan menggunakan operasi XQuery/JalurX asli untuk bekerja dengan data XML. Produk Azure SQL memiliki tipe data dan fungsi kueri XML bawaan khusus yang memproses data XML.

Mesin database SQL Server menyediakan platform yang kuat untuk mengembangkan aplikasi untuk mengelola data semi-terstruktur. Dukungan untuk XML diintegrasikan ke dalam semua komponen mesin database dan mencakup:

  • Kemampuan untuk menyimpan nilai XML secara asli dalam kolom tipe data XML yang bisa diketik sesuai dengan kumpulan skema XML, atau dibiarkan tidak diketik. Anda bisa mengindeks kolom XML.
  • Kemampuan untuk menentukan kueri XQuery terhadap data XML yang disimpan dalam kolom dan variabel tipe XML. Anda dapat menggunakan fungsi XQuery dalam kueri Transact-SQL apa pun yang mengakses model data apa pun yang Anda gunakan dalam database Anda.
  • Pengindeksan otomatis semua elemen dalam dokumen XML dengan menggunakan indeks XML utama. Atau Anda dapat menentukan jalur yang tepat yang harus diindeks dengan menggunakan indeks XML sekunder.
  • OPENROWSET, yang memungkinkan pemuatan massal data XML.
  • Kemampuan untuk mengubah data relasional menjadi format XML.

Anda dapat menggunakan model dokumen alih-alih menggunakan model relasional dalam beberapa skenario tertentu:

  • Normalisasi skema yang tinggi tidak membawa manfaat yang signifikan karena Anda mengakses semua bidang objek sekaligus, atau Anda tidak pernah memperbarui bagian objek yang dinormalisasi. Namun, model yang dinormalisasi meningkatkan kompleksitas kueri Anda karena Anda perlu menggabungkan banyak tabel untuk mendapatkan data.
  • Anda bekerja dengan aplikasi yang secara asli menggunakan dokumen JSON untuk komunikasi atau model data, dan Anda tidak ingin memperkenalkan lapisan tambahan yang mengubah data relasional ke JSON dan sebaliknya.
  • Anda perlu menyederhanakan model data Anda dengan menormalisasi kembali tabel anak atau pola Entitas-Objek-Nilai.
  • Anda perlu memuat atau mengekspor data yang disimpan dalam format XML tanpa beberapa alat tambahan yang mengurai data.

Fitur spasial

Data spasial mewakili informasi tentang lokasi fisik dan bentuk objek. Objek-objek ini dapat menjadi lokasi titik atau objek yang lebih kompleks seperti negara/wilayah, jalan, atau danau.

Azure SQL mendukung dua tipe data spasial:

  • Jenis geometri mewakili data dalam sistem koordinat Euclidean (datar).
  • Tipe geografi mewakili data dalam sistem koordinat bumi bulat.

Fitur spasial di Azure SQL memungkinkan Anda untuk menyimpan data geometris dan geografis. Anda dapat menggunakan objek spasial di Azure SQL untuk mengurai dan meminta data yang ditampilkan dalam format JSON, dan mengekspor data relasional Anda sebagai teks JSON. Objek spasial tersebut meliputi Titik, LineString, dan Poligon. Azure SQL juga menyediakan indeks spasial khusus yang dapat Anda gunakan untuk meningkatkan performa kueri spasial Anda.

Dukungan spasial adalah fitur inti dari mesin database SQL Server.

Pasangan kunci-nilai

Produk Azure SQL tidak memiliki jenis atau struktur khusus yang mendukung pasangan kunci-nilai, karena struktur nilai kunci dapat direpresentasikan secara asli sebagai tabel relasional standar:

CREATE TABLE Collection (
  Id int identity primary key,
  Data nvarchar(max)
)

Anda dapat menyesuaikan struktur kunci-nilai ini agar sesuai dengan kebutuhan Anda tanpa batasan apa pun. Sebagai contoh, nilai dapat berupa dokumen XML, alih-alih tipe nvarchar(max). Jika nilainya adalah dokumen JSON, Anda dapat menggunakan CHECK batasan yang memverifikasi validitas konten JSON. Anda dapat menempatkan sejumlah nilai yang terkait dengan satu kunci di kolom tambahan. Contohnya:

  • Tambahkan kolom dan indeks yang dikomputasi untuk menyederhanakan dan mengoptimalkan akses data.
  • Tentukan tabel sebagai tabel yang dioptimalkan memori dan hanya-skema untuk mendapatkan performa yang lebih baik.

Untuk contoh bagaimana model relasional dapat secara efektif digunakan sebagai solusi pasangan kunci-nilai dalam praktik, lihat Bagaimana bwin menggunakan SQL Server 2016 OLTP Dalam Memori untuk mencapai kinerja dan skala yang belum pernah terjadi sebelumnya. Dalam studi kasus ini, bwin menggunakan model relasional untuk solusi penyimpanan sementara ASP.NET guna mencapai 1,2 juta kelompok per detik.

Vektor

Produk Azure SQL mendukung jenis data vektor dan fungsi vektor yang mendasar aplikasi AI modern. Mesin SQL Database dapat menyimpan dan mengkueri data terstruktur dan tidak terstruktur, dan melakukan pencarian vektor pada data tersebut. Pencarian vektor memungkinkan pencarian tetangga terdekat secara aproximasi menggunakan vektor dan indeks vektor.

Vektor adalah array angka yang diurutkan (biasanya nilai titik mengambang) yang mewakili informasi tentang beberapa data. Misalnya, gambar dapat direpresentasikan sebagai vektor nilai piksel, atau string teks dapat direpresentasikan sebagai vektor nilai ASCII. Proses untuk mengubah data menjadi vektor disebut vektorisasi. Jenis data vektor di SQL Server dapat menyimpan array angka ini secara efisien.

Penyematan adalah vektor yang mewakili fitur data penting. Penyematan sering dipelajari dengan menggunakan model pembelajaran mendalam, dan pembelajaran mesin dan model AI menggunakannya sebagai fitur. Penyematan juga dapat menangkap kesamaan semantik antar konsep. Misalnya, dalam menghasilkan penyematan untuk kata-kata person dan human, kami mengharapkan penyematannya (representasi vektor) serupa nilainya karena kata-katanya juga serupa secara semantik. Setelah embedding dihasilkan, mereka dapat disimpan dalam database SQL Server. Ini memungkinkan Anda untuk menyimpan penyematan bersama data yang diwakilinya, dan melakukan kueri pencarian vektor untuk menemukan titik data serupa.

Azure OpenAI menawarkan model untuk membuat penggabungan dari data teks. Layanan ini memecah teks menjadi token dan menghasilkan penyematan menggunakan model yang telah dilatih sebelumnya oleh OpenAI. Untuk mempelajari selengkapnya, lihat Membuat penyematan dengan Azure OpenAI.

Untuk informasi selengkapnya, lihat:

Langkah berikutnya

Kemampuan multi-model merupakan fitur inti dari mesin database SQL Server yang digunakan bersama oleh produk Azure SQL. Untuk mempelajari selengkapnya tentang fitur tersebut, lihat artikel berikut ini: