Connect with us

Pemimpin pemikiran

Tinjauan Kode AI untuk SQL: Dapatkah Menggantikan Mata Seorang DBA Senior?

mm
A widescreen, photorealistic photograph captures a programmer working in a modern office at night. On the primary curved, transparent monitor, a complex SQL code review flowchart is visualized using glowing icons and diagrams. The screen contrasts 'Generic Code Flow' on the left with specialized database context on the right, connecting abstract representations of Schema Design, Data Distribution, and Real-time Workload. A human hand holds a stylus, emphasizing the hybrid collaboration between AI analysis and human DBA expertise.

Kecerdasan buatan dengan cepat memasuki hampir setiap tahap siklus pengembangan perangkat lunak. Dari generasi kode hingga pengujian otomatis, alat-alat AI semakin tertanam dalam alur kerja harian pengembang. Survei pengembang terbaru menunjukkan bahwa 84% pengembang sudah menggunakan atau berencana menggunakan alat-alat AI dalam proses pengembangan mereka, dengan lebih dari setengahnya mengandalkannya secara teratur.

Pertanyaan yang banyak ditanyakan oleh tim-tim teknik sekarang adalah sederhana: jika AI dapat menghasilkan kode, menganalisis pola, dan menyarankan optimasi, dapatkah juga menggantikan penilaian seorang DBA yang berpengalaman?

Jawaban singkatnya adalah tidak. Namun, kenyataan yang lebih menarik adalah bahwa AI sudah mengubah cara kerja tinjauan SQL. Alih-alih menggantikan ahli basis data, AI mulai mengubah alur kerja pengembangan di sekitar mereka.

Peran tradisional tinjauan kode DBA

Selama waktu yang lama, tinjauan kode SQL telah bergantung pada DBA yang berpengalaman. Hal tentang SQL adalah, itu tidak berjalan sendiri. Setiap kueri menyentuh mesin basis data, indeks, dan data langsung. Jadi, bahkan perubahan kecil dalam sebuah kueri dapat mempengaruhi cara kerjanya.

Dan terkadang, perubahan kecil tersebut lebih penting daripada yang Anda pikir. Satu kueri yang buruk dapat menyebabkan pemindaian tabel penuh, memilih indeks yang salah, dan tiba-tiba seluruh sistem melambat.

Itulah mengapa DBA melihat SQL secara berbeda. Mereka tidak hanya membaca kueri; mereka berpikir ke depan tentang bagaimana basis data akan berperilaku di bawah lalu lintas nyata. Selama tinjauan, DBA biasanya memeriksa hal-hal seperti:

  • Gabungan yang tidak efisien atau kueri yang bersarang dalam.
  • Indeks yang hilang atau disalahgunakan.
  • Kueri yang memicu pemindaian tabel penuh.
  • Risiko penguncian yang dapat memblokir transaksi lain.
  • Operasi yang mungkin mempengaruhi beban kerja produksi.

Namun, nilai sebenarnya dari tinjauan ini bukan hanya mengetahui sintaksis SQL. Ini tentang mengetahui sistem di balik kueri.

DBA yang berpengalaman cenderung mengetahui bagaimana skema berkembang selama waktu, bagaimana lalu lintas berperilaku selama jam sibuk, dan bagaimana perubahan kecil pada indeks dapat mempengaruhi rencana eksekusi. Sebuah kueri yang terlihat sempurna di atas kertas dapat berperilaku sangat berbeda ketika dijalankan melawan data produksi nyata.

Insinyur yang bekerja pada sistem besar sering membicarakan masalah ini. Seperti yang dikatakan oleh insinyur Google Jeff Dean, sistem tidak berperilaku seperti yang kita harapkan ketika mereka beroperasi pada skala besar.

Seperti yang dikatakan oleh John Gall yang terkenal, “Sistem yang kompleks dapat gagal dalam jumlah cara yang tak terhingga.”

Bersama-sama, ide-ide ini menunjukkan mengapa sistem besar memerlukan pengawasan manusia yang cermat. Bahkan ketika AI mengambil alih, DBA yang berpengalaman tetap sangat penting. Mereka tidak hanya membaca kueri, mereka memprediksi bagaimana seluruh sistem basis data akan merespons.

Namun, dengan semua pengalaman yang diperlukan, Anda mungkin bertanya-tanya, “apakah AI benar-benar dapat membantu dengan tinjauan ini, atau bahkan mengubah cara mereka dilakukan?”

Munculnya AI dalam pengembangan perangkat lunak

Selama beberapa tahun terakhir, AI telah mulai mengubah cara pengembang menulis perangkat lunak. Apa yang dulunya terasa eksperimental sekarang menjadi bagian dari pekerjaan sehari-hari.

Model bahasa besar yang dilatih pada basis kode besar sekarang dapat bertindak sedikit seperti pengembang kedua di editor. Mereka menyarankan fungsi, membantu menulis dokumentasi, dan terkadang menunjukkan bug saat kode masih ditulis. Alat seperti GitHub Copilot telah dengan cepat menemukan jalannya ke dalam banyak alur kerja pengembangan.

Dan pergeseran ini sudah menunjukkan dampak yang dapat diukur. Beberapa studi telah menemukan bahwa pengembang yang bekerja dengan asisten AI dapat menyelesaikan tugas pengkodean hingga 55% lebih cepat dalam lingkungan yang dikendalikan. Ketika tim mengadopsi alat-alat ini, AI mulai mempengaruhi berapa banyak kode yang ditulis pada awalnya. Beberapa perkiraan menunjukkan bahwa sekitar 40% kode dalam alur kerja modern sekarang melibatkan beberapa tingkat bantuan AI.

Perusahaan teknologi besar juga melihat pola yang sama. CEO Microsoft Satya Nadella baru-baru ini mengatakan bahwa sekitar 30% kode Microsoft sekarang ditulis dengan bantuan alat AI, dan angka tersebut terus tumbuh.

Namun, menghasilkan kode hanya satu bagian dari teka-teki. Ketika AI membantu menghasilkan lebih banyak kode, pertanyaan tentang bagaimana kode tersebut ditinjau menjadi lebih penting.

Di mana AI dapat meningkatkan tinjauan kode SQL

Inilah tempat AI mulai menunjukkan nilai sebenarnya. SQL memiliki sesuatu yang bekerja dengan baik untuk AI: pola. Kebanyakan kueri mengikuti struktur yang dapat dikenali, dan banyak masalah kinerja muncul dengan cara yang dapat diprediksi. Karena itu, sistem AI yang dilatih pada koleksi besar kueri SQL dapat memindai kueri dengan sangat cepat dan menemukan masalah yang pengembang terkadang lewatkan selama pengembangan awal.

Misalnya, asisten AI mungkin menunjukkan hal-hal seperti:

  • Pola gabungan yang tidak efisien.
  • Indeks yang hilang atau digunakan secara tidak tepat.
  • Kueri yang kemungkinan memicu pemindaian tabel penuh.
  • Hambatan kinerja potensial.
  • Operasi yang mungkin tidak aman untuk dijalankan dalam produksi.

Tidak satu pun dari pemeriksaan ini menggantikan tinjauan penuh. Namun, mereka dapat menangkap sejumlah besar masalah lebih awal. Dan itu mengubah cara pengembangan SQL terjadi. Alih-alih menulis kueri dan menunggu tinjauan kode kemudian, pengembang dapat mendapatkan umpan balik saat mereka masih menulisnya. Lingkaran umpan balik awal ini dapat menyelamatkan banyak waktu. Beberapa studi tentang pengembangan yang dibantu AI telah menemukan bahwa siklus tinjauan dapat turun secara signifikan setelah analisis otomatis diperkenalkan. Satu studi perusahaan melaporkan sekitar 31,8% penurunan waktu tinjauan permintaan tarik.

Dalam prakteknya, ini berarti banyak masalah SQL ditangkap lebih awal dalam proses, sebelum mereka pernah mencapai sistem produksi. Ini juga tempat di mana alat pengembangan SQL modern mulai berkembang. Alat di dalam ekosistem dbForge, misalnya, sekarang termasuk analisis kueri yang dibantu AI yang dapat menyarankan gabungan yang lebih baik, menemukan indeks yang tidak perlu, dan memberikan tips tentang struktur kueri, semua saat Anda masih menulis. Ini membantu menangkap masalah lebih awal.

Namun, jika kita memperluas, AI masih memiliki keterbatasan.

Batasan AI dalam teknik basis data

Meskipun kemajuan yang mengesankan, AI masih bergelut dengan salah satu bagian tersulit dari teknik basis data: konteks. Kueri SQL jarang beroperasi dalam isolasi. Kinerjanya bergantung pada banyak faktor di dalam sistem, termasuk:

  • Distribusi data
  • Ukuran tabel
  • Indeks yang ada
  • Beberapa beban kerja
  • Batasan perangkat keras
  • Logika bisnis khusus

Model AI yang dilatih pada dataset umum seringkali tidak memiliki visibilitas ke dalam kenyataan ini. Lebih mengkhawatirkan, kode yang dihasilkan AI dapat memperkenalkan kesalahan halus. Analisis terbaru menemukan bahwa hingga 45% sampel kode yang dihasilkan AI mengandung kerentanan keamanan, menyoroti risiko mengandalkan saran otomatis tanpa tinjauan manusia.

Kepercayaan adalah tantangan lain. Sementara adopsi meningkat dengan cepat, survei mengungkapkan bahwa 46% pengembang masih tidak sepenuhnya mempercayai output yang dihasilkan AI, menciptakan ketegangan alami antara otomatisasi dan pengawasan. Dalam teknik basis data, skeptisisme ini sangat dibenarkan. Sebuah kueri yang berfungsi dengan sempurna dalam lingkungan pengembangan mungkin berperilaku sangat berbeda di bawah beban kerja produksi. Inilah tempat di mana DBA yang berpengalaman tetap sangat penting.

Model hibrida: AI + keahlian manusia

Tim pengembangan paling efektif tidak bertanya apakah AI akan menggantikan DBA. Sebaliknya, mereka bertanya bagaimana menggabungkan otomatisasi AI dengan keahlian manusia. Dengan model ini, alat AI menangani pemeriksaan berulang yang biasanya memperlambat pengembangan, sementara insinyur berpengalaman fokus pada bagian dari pekerjaan basis data yang memerlukan penilaian yang lebih dalam. Misalnya, sistem AI dapat mengambil tugas seperti:

  • Mendeteksi kesalahan sintaksis
  • Menyarankan perbaikan kueri
  • Menandai pola kueri yang tidak efisien
  • Mengjalankan pemeriksaan analisis otomatis

Pemeriksaan ini dapat terjadi secara instan saat pengembang menulis kueri, yang membantu menangkap banyak masalah lebih awal. Sementara AI menangani pemeriksaan rutin, DBA fokus pada pekerjaan yang memerlukan pemahaman sistem yang lebih dalam: desain skema, strategi indeks, pengaturan kinerja, perencanaan kapasitas, dan melindungi stabilitas produksi.

Dengan kata lain, AI fokus pada mempercepat bagian rutin dari pengembangan SQL, sementara DBA fokus pada keputusan yang membentuk bagaimana sistem basis data sebenarnya berperilaku.

Kata terakhir

AI sudah mengubah cara pengembangan SQL bekerja. Alat dapat menganalisis kueri secara instan, menangkap kesalahan umum, dan menyoroti masalah kinerja potensial saat pengembang masih menulis kode. Namun, sistem basis data dibentuk oleh lebih dari sintaksis kueri. Desain skema, strategi indeks, dan perilaku beban kerja masih memerlukan penilaian manusia. Karena itu, tim paling efektif mulai memperlakukan AI sebagai co-pilot daripada pengganti.

AI dapat menandai masalah lebih awal dan mempercepat pengembangan, tetapi pengembang dapat beriterasi lebih cepat, dan DBA dapat fokus pada keputusan yang lebih dalam yang membentuk bagaimana basis data sebenarnya berperilaku. Keseimbangan itulah tempat nilai sebenarnya muncul. AI membawa kecepatan dan pengenalan pola. DBA yang berpengalaman membawa konteks dan penilaian. Dan dalam teknik basis data, kombinasi itulah yang menjaga sistem tetap cepat, andal, dan stabil.

Viсtor Horlenko adalah Kepala Inovasi AI di Devart, di mana ia memimpin inisiatif dalam otomatisasi yang didorong oleh AI, optimasi produk, dan pengalaman pelanggan di seluruh rangkaian alat manajemen database dan konektivitas perusahaan.