Fitur SQL Server di Linux

Selesai

Untuk membenarkan migrasi SQL Server ke pemegang anggaran, ada baiknya mengetahui fitur SQL Server apa yang dapat memberikan keunggulan kompetitif untuk sistem Anda.

Misalkan, setelah meneliti apa itu SQL Server di Linux, Anda ingin memastikan bahwa fitur yang tersedia saat ini memenuhi persyaratan Wide World Importers untuk pemrosesan data yang ada dan yang akan datang.

Di sini, Anda akan mempelajari fitur utama SQL Server di Linux.

Performa

SQL Server di Linux mendukung persaingan kebutuhan throughput transaksional yang cepat, dan analitik responsif, dengan menawarkan solusi Hybrid Pemrosesan Analitik Transaksional Hibrida (HTAP). HTAP menggunakan beberapa teknologi kinerja inti SQL Server:

Pemrosesan Transaksi Online Dalam Memori (OLTP)

Menggabungkan tabel yang dioptimalkan memori dan prosedur tersimpan yang dikompilasi, Wide World Importers dapat melihat perolehan performa yang substansial pada tabel transaksionalnya; misalnya, menulis dan membaca status sesi untuk situs web e-niaga.

Indeks Penyimpan Kolom

SQL Server mendukung data baris dan data kolom terkompresi. Tabel transaksional juga dapat memiliki indeks penyimpan kolom yang digunakan sebagai pengganti penyimpanan baris saat menulis kueri analitik. Penggunaan indeks penyimpan kolom akan memungkinkan rangkaian analitik saat ini untuk mempertahankan performa transaksional sambil juga menjalankan kueri pelaporan real time atas data operasional.

Query Store

Tim DBA Anda menyelesaikan tugas penyetelan performa bulanan untuk memastikan rencana kueri yang benar digunakan. Mereka memantau performa kueri dan mengembalikan rencana kueri di mana perubahan dalam rencana eksekusi telah memengaruhi performa. Tim juga melaporkan 10 kueri terlama teratas ke prospek pengembangan dan memeriksa kunci sumber daya apa pun. Penyimpanan Kueri mendukung semua tugas ini, dan Anda dapat mengaktifkannya dengan Transact-SQL:

ALTER DATABASE <database name>
SET QUERY_STORE (OPERATION_MODE = READ_WRITE);

Penyetelan Otomatis dan Pemrosesan Kueri Cerdas

Anda dapat mengaktifkan koreksi pilihan paket otomatis setelah Penyimpanan Kueri diaktifkan. Dengan Penyetelan Otomatis diaktifkan, SQL Server memantau performa kueri. Jika rencana kueri baru tidak lebih buruk dari versi sebelumnya, itu dapat menggantikan rencana baru dengan performa yang lebih baik dari versi sebelumnya. Opsi tersedia di tingkat database dengan ALTER pernyataan:

ALTER DATABASE <database name>
SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON );

Pemrosesan Kueri Cerdas (IQP) adalah serangkaian fitur, banyak di antaranya baru di SQL Server 2019, yang secara otomatis meningkatkan dan mengoptimalkan performa beban kerja Anda. Fitur IQP meliputi:

  • Gabungan Adaptif: SQL Server secara dinamis memilih jenis gabungan selama runtime berdasarkan jumlah baris input yang sebenarnya.
  • Perkiraan Hitungan Berbeda: SQL Server memberikan perkiraan jumlah hasil yang berbeda untuk skenario big-data untuk menjalankan kueri tersebut dengan performa tinggi dan beban memori yang rendah.
  • Umpan Balik Pemberian Memori: Jika kueri memiliki operasi yang meluap ke disk, SQL Server dapat menambahkan lebih banyak memori untuk operasi berikutnya. Demikian pula, jika kueri menghabiskan lebih dari setengah memori yang dialokasikan untuknya, SQL Server dapat mengurangi memori yang ditetapkan untuknya.
  • Kompilasi Yang Ditangguhkan Variabel Tabel: SQL Server menggunakan kardinalitas aktual variabel tabel pada kompilasi pertamanya alih-alih tebakan tetap.

IQP tidak mengharuskan Anda untuk menulis ulang kode apa pun atau mengubah skema database Anda untuk memanfaatkan performa terbaik. Yang harus Anda lakukan adalah meningkatkan database ke tingkat kompatibilitas 150 atau yang lebih baru:

ALTER DATABASE <database name> SET COMPATIBILITY_LEVEL = 150;

Keamanan

SQL Server di Linux mendukung fitur keamanan tingkat lanjut seperti Always Encrypted, keamanan tingkat baris, dan penyembunyian data dinamis untuk melindungi data pada disk, dalam memori, atau dalam perjalanan. Semua fitur ini didukung di semua edisi, termasuk Edisi Standar:

  • Enkripsi Data Transparan (TDE) mengenkripsi data tidak aktif saat disimpan dalam file database. Data dilindungi dari pengguna jahat baik di database maupun di cadangan.

  • Always Encrypted memastikan bahwa hanya pengguna yang memiliki data yang dapat melihat dan memprosesnya. Pengguna yang mengelola data, seperti administrator database, tidak dapat melihatnya. Jika Anda menggunakan Always Encrypted:

    • Anda dapat mengkueri data terenkripsi tanpa terlebih dahulu mendekripsinya.
    • Data dilindungi saat tidak aktif, saat berpindah ke memori server, dan ketika berpindah dari server ke aplikasi klien tepercaya.
    • Enkripsi dan dekripsi berlangsung di driver klien, sehingga prosesnya transparan untuk aplikasi klien.
    • Hanya aplikasi dan pemilik data tepercaya yang dapat mengaksesnya. Pengembang aplikasi dan administrator database tidak memiliki akses ke Kunci Enkripsi Kolom (CEK).
  • Audit melacak kejadian yang terjadi di mesin database dan siapa yang menjalankan kejadian tersebut. Peristiwa yang diaudit dapat disimpan dalam log peristiwa atau file audit, dan Anda dapat menggunakannya untuk menyelidiki masalah seperti serangan dan pelanggaran data.

  • Keamanan tingkat baris mengontrol akses ke baris tertentu dalam tabel berdasarkan siapa yang menjalankan kueri. Anda mengontrol siapa yang dapat mengakses data, misalnya, menurut keanggotaan grup atau konteks eksekusi.

  • Penutupan data dinamis menyembunyikan sebagian data. Tersedia empat jenis masker: menutupi semua data dalam kolom, menutupi alamat email, masking nomor acak untuk data numerik, dan masking string kustom. Anda dapat menggunakan penyembunyian string khusus, misalnya, untuk menyembunyikan semua kecuali empat digit terakhir dalam Nomor Jaminan Sosial.

  • Penemuan dan Klasifikasi Data mengidentifikasi, memberi label, dan laporan tentang data sensitif dalam database Anda, seperti data pribadi. Ini adalah alat dalam SQL Server Management Studio (SSMS) yang membuatnya lebih mudah untuk mematuhi undang-undang privasi data dan memperkuat database yang berisi data paling berharga. Penemuan dan Klasifikasi Data adalah layanan yang merupakan bagian dari paket Advanced Data Security (ADS).

  • Penilaian Kerentanan mengidentifikasi kerentanan dalam database Anda. Setelah Mengetahui kelemahan yang mungkin ditimbulkan oleh konfigurasi server dan desain database, Anda dapat menguranginya dan mencegah serangan umum. Penilaian Kerentanan merupakan layanan ADS lainnya.

SQL Server Agent

SQL Server Agent menjalankan pekerjaan pemeliharaan dan tugas otomatis terjadwal. SQL Server Agent mendukung tiga beban kerja berikut:

  • Pekerjaan Transact-SQL
  • Mail DB
  • Pengiriman log

Secara default, SQL Server Agent dinonaktifkan, tetapi telah diinstal dan dapat diaktifkan menggunakan utilitas baris perintah mssql-conf.

sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
sudo systemctl restart mssql-server

Ketersediaan tinggi

SQL Server memiliki banyak cara untuk menentukan tingkat toleransi kegagalan yang dapat diterima. SQL Server di Linux mendukung Grup Ketersediaan AlwaysOn dan instans kluster failover Always On. Kedua opsi ini memerlukan paket mssql-server-ha yang terpasang di setiap server. Linux mendukung pengelompokan melalui Pacemaker, yang setara dengan Pengklusteran Failover Server Windows (WSCF), meskipun tidak terintegrasi erat ke dalam sistem operasi host.

Jika ada lebih banyak fleksibilitas dalam apa yang dapat diterima untuk waktu henti, Pengiriman Log melalui Agen SQL dapat menyediakan siaga hangat, yang Anda gunakan untuk memulihkan dari kehilangan server.

Solusi lain untuk SQL Server di Linux adalah kemampuannya untuk berjalan dalam kontainer yang diorkestrasi dengan alat seperti Kubernetes. Alat orkestrasi memastikan selalu ada node yang menjalankan SQL Server. Jika node tersebut gagal, instans lain akan di-bootstrap secara otomatis. Saat ketersediaan yang lebih kuat diperlukan, grup ketersediaan Always On dapat dijalankan dalam kontainer.

Fitur penting lainnya

PolyBase

Banyak organisasi memiliki data dalam sistem yang berbeda. Hal tersebut terjadi mungkin karena tim yang berbeda memiliki persyaratan yang berbeda ketika memilih sistem, karena Anda bergabung dengan perusahaan lain, atau karena alasan historis lainnya. Biasanya mengintegrasikan data melintasi batas-batas sistem ini sulit dilakukan untuk menjawab pertanyaan bagi pengguna.

Misalkan Anda memiliki data di SQL Server yang merekam penjualan untuk katalog produk Anda, tetapi data yang mencatat berapa biaya untuk membuat produk Anda berada dalam database SAP Hana. Anda ingin membuat laporan yang menganalisis margin keuntungan. Anda akan membutuhkan informasi dari kedua database. Sebelumnya, Anda dapat:

  • Gunakan paket Ekstraksi, Transformasi, Pemuatan (ETL) untuk memindahkan data dari satu sistem database ke sistem database lainnya.
  • Kueri kedua database lalu tulis beberapa kode khusus untuk menggabungkan dan mengintegrasikan hasilnya ke dalam satu laporan.

Kedua pendekatan ini rumit dan dapat memerlukan waktu pengembangan yang signifikan untuk mendapatkan hasil yang benar.

Dengan PolyBase, Anda dapat membuat tabel eksternal di SQL Server. Tabel eksternal adalah koneksi ke sistem eksternal dan himpunan data yang dihosting di sana. Setelah dibuat, klien dapat mengirimkan kueri ke tabel eksternal dengan cara yang sama persis seperti yang mereka lakukan ke tabel internal. Kueri JOIN dapat mengintegrasikan data dari tabel eksternal dengan tabel internal. Seperti yang Anda lihat, PolyBase dapat menghapus batasan yang diterapkan oleh sistem yang berbeda pada data Anda dan mempermudah analisis yang Anda perlukan pada data bisnis Anda, di mana pun lokasinya.

Catatan

Pada sistem operasi Linux, PolyBase didukung di SQL Server 2019 atau yang lebih baru. Untuk menggunakannya, Anda harus menginstal paket mssql-server-polybase, selain SQL Server 2019.

Layanan Pembelajaran Mesin;ML

Dalam pembelajaran mesin, himpunan data besar digunakan untuk memodelkan perilaku beberapa sistem yang kompleks. Ketika model telah dikembangkan yang secara akurat memprediksi perilaku yang diamati dari sistem, pembelajaran mesin digunakan untuk memprediksi kemungkinan perilaku sistem di masa depan. Pustaka kode yang canggih, yang sering kali bersifat sumber terbuka, telah dikembangkan untuk menyiapkan himpunan data Anda, menambahkan fitur ke dalamnya, melatih model, mengevaluasi keakuratan model yang dilatih, dan menyebarkan model tersebut untuk dipanggil oleh klien lain. Pustaka ini ditulis dalam bahasa R dan Python.

Layanan Pembelajaran Mesin SQL Server memungkinkan Anda menjalankan skrip R dan Python ini terhadap data di database SQL Server Anda. Anda dapat menambahkan kerangka kerja pembelajaran mesin dan ilmu data populer, termasuk PyTorch, TensorFlow, SciKit-Learn, dan lainnya.

Catatan

Pada sistem operasi Linux, Pembelajaran Mesin SQL Server didukung di SQL Server 2019 atau yang lebih baru. Untuk menggunakannya, Anda harus menambahkan paket tambahan. Misalnya, jika Anda ingin menggunakan Python untuk semua kode pembelajaran mesin, instal paket mssql-mlservices-mlm-py-9.4.7. Paket yang setara untuk R adalah install mssql-mlservices-mlm-r-9.4.7.

Dukungan Graph

SQL Server memiliki dukungan asli untuk menyimpan dan mengkueri data berbasis grafik. SQL Server menyimpan data sebagai rangkaian entitas (node) dan hubungan (tepi) di antara mereka.

Pencarian teks lengkap memungkinkan pengguna menjalankan kueri terhadap data teks yang mematuhi aturan linguis. Misalnya, saat Anda mencari kata "jalankan," pencarian teks lengkap mengembalikan hasil yang menyertakan formulir kata "run," seperti "ran" dan "running."

Fitur ini tidak diinstal secara default. Di Linux, Anda mengaktifkannya dengan menginstal paket mssql-server-fts.

Beban kerja ETL

Paket SQL Server Integration Services (SSIS) dapat berjalan di SQL Server di Linux. Paket tersebut tidak dibatasi untuk berjalan hanya terhadap SQL Server di Linux. Paket-paket ini juga dapat terhubung ke Microsoft SQL Server yang berjalan di Windows lokal atau di cloud, atau SQL Server yang berjalan di kontainer.

Anda harus menulis dan memelihara paket SSIS pada mesin Windows yang menjalankan SQL Server Data Tools.

Uji pengetahuan Anda

1.

Fitur apa yang disediakan SQL Server di Linux untuk mendukung kelangsungan bisnis?

2.

Jika data dienkripsi menggunakan Always Encrypted, kapan data akan didekripsi?