Jurutera Data Terbahagi Antara Aliran Kerja SQL Tradisional dan Amalan Pembangunan Perisian Moden

Pasukan Komuniti BigGo
Jurutera Data Terbahagi Antara Aliran Kerja SQL Tradisional dan Amalan Pembangunan Perisian Moden

Bidang kejuruteraan data sedang mengalami perpecahan yang ketara yang mencetuskan perbincangan hangat dalam kalangan profesional. Sementara sesetengah pihak menyokong penumpuan dengan amalan kejuruteraan perisian tradisional, yang lain mempertahankan pendekatan semasa menggunakan aliran kerja berasaskan SQL dan peralatan khusus.

Perpecahan Besar dalam Peranan Kejuruteraan Data

Perpecahan yang jelas telah muncul antara dua kumpulan profesional data. Di satu pihak ialah jurutera dengan latar belakang sains komputer yang menekankan prinsip kejuruteraan perisian seperti kawalan versi, integrasi berterusan, dan kerangka ujian yang betul. Di pihak lain pula ialah penganalisis-yang-bertukar-menjadi-jurutera-data yang terutamanya bekerja dengan SQL , konfigurasi YAML , dan antara muka klik-dan-tunjuk melalui alatan seperti dbt .

Perpecahan ini telah mewujudkan ketegangan dalam industri, dengan sesetengah profesional merasakan kemahiran mereka dipandang rendah. Jurutera yang boleh menyediakan saluran paip CI/CD dan menggunakan sistem kompleks mendapati diri mereka dikumpulkan dengan mereka yang hanya tahu operasi SQL asas, menyebabkan kekecewaan terhadap pampasan dan jangkaan peranan.

Klasifikasi Peranan Profesional:

  • Jurutera Data Tradisional: Profesional berpendidikan CS yang menekankan amalan kejuruteraan perisian, CI/CD, dan pengurusan infrastruktur
  • Penganalisis-yang-bertukar-menjadi-Jurutera Data: Profesional yang terutamanya menggunakan SQL, YAML, dan alat klik-dan-tunjuk seperti dbt
  • Pakar Alat: Profesional data yang memfokuskan kepada kepakaran platform tertentu tanpa kemahiran kejuruteraan yang lebih luas
  • Jurutera Platform: Jurutera yang menguruskan infrastruktur data, pengindeksan, dan pengoptimuman pemprosesan berskala besar

Masalah Notebook dan Kesediaan Pengeluaran

Kebimbangan utama yang dibangkitkan oleh komuniti tertumpu pada penggunaan meluas notebook Jupyter dalam persekitaran pengeluaran. Banyak organisasi menganggap aliran kerja berasaskan notebook sebagai sistem sedia untuk pengeluaran, walaupun kekurangan kawalan versi yang betul, ujian automatik, dan proses penggunaan.

Pendekatan ini telah mewujudkan apa yang digambarkan oleh sesetengah pihak sebagai neraka notebook, di mana saluran paip data kritikal wujud sebagai notebook bertaburan dengan pengurusan kebergantungan yang lemah. Masalah ini kelihatan terutamanya akut dalam platform seperti Databricks , di mana integrasi git selalunya bermaksud hanya menyemak kod dan melakukan komit terus ke cawangan utama tanpa proses semakan kod yang betul.

Terdapat banyak perkara yang dilakukan dalam notebook dan memanggil itu sedia untuk pengeluaran. Ia benar-benar gila.

Platform Teknologi Utama yang Disebut:

  • ClickHouse: Pangkalan data analitik berprestasi tinggi yang menawarkan masa pertanyaan sub-saat
  • Databricks: Platform analitik berasaskan awan dengan aliran kerja berpusatkan buku nota
  • dbt: Alat transformasi data yang membawa kawalan versi kepada aliran kerja SQL
  • Airflow / Prefect: Platform orkestrasi aliran kerja untuk saluran paip data
  • Snowflake: Gudang data awan dengan keupayaan prosedur tersimpan Python
  • AWS Glue: Perkhidmatan Apache Spark yang diuruskan untuk pemprosesan data
  • DuckDB: Pangkalan data analitik dalam-proses yang semakin popular untuk beban kerja yang lebih pantas
Output terminal yang menggambarkan persediaan persekitaran pembangunan untuk infrastruktur data, menekankan cabaran kesediaan pengeluaran yang disebutkan
Output terminal yang menggambarkan persediaan persekitaran pembangunan untuk infrastruktur data, menekankan cabaran kesediaan pengeluaran yang disebutkan

Fenomena Kuli Alatan

Isu penting lain yang ditonjolkan oleh komuniti ialah kelaziman kuli alatan dalam pasukan data. Profesional ini menjadi pakar dalam platform tertentu tetapi kekurangan kemahiran kejuruteraan asas seperti ujian automatik, kawalan versi, dan infrastruktur sebagai kod.

Situasi ini selalunya berpunca daripada kekangan organisasi di mana pasukan mesti menggunakan alatan standard dan memberi tumpuan untuk menyelesaikan tugasan dalam persekitaran tersebut, bukannya membina sistem yang teguh dan boleh diselenggara. Hasilnya ialah infrastruktur data yang rapuh yang kerap rosak dan mengambil masa berlebihan untuk diselenggara.

Penyelesaian yang Muncul dan Pendekatan Moden

Walaupun menghadapi cabaran ini, sesetengah pasukan berjaya merapatkan jurang antara kerja data tradisional dan amalan kejuruteraan perisian. Pendekatan moden termasuk menggunakan bahasa pengaturcaraan sebenar dengan abstraksi yang betul, melaksanakan strategi ujian menyeluruh dengan pemeriksaan kualiti data, dan menggunakan platform orkestrasi seperti Airflow untuk aliran kerja pengeluaran.

Alatan seperti dbt telah membantu dengan membawa kawalan versi kepada transformasi SQL dan membolehkan rehidrasi berterusan model data. Walau bagaimanapun, komuniti masih terbahagi sama ada pendekatan deklaratif menggunakan YAML mencukupi atau bahasa pengaturcaraan yang lebih tradisional diperlukan untuk sistem data yang kompleks.

Perbincangan mendedahkan bahawa walaupun penumpuan antara kejuruteraan data dan kejuruteraan perisian mungkin berlaku dalam sesetengah organisasi, bidang ini masih menghadapi cabaran ketara dalam menyeragamkan amalan terbaik dan jangkaan profesional merentas industri.

Rujukan: Data engineering and software engineering are converging

Antara muka editor kod yang memaparkan pelaksanaan TypeScript untuk saluran paip data, mencerminkan amalan kejuruteraan moden dalam kejuruteraan data
Antara muka editor kod yang memaparkan pelaksanaan TypeScript untuk saluran paip data, mencerminkan amalan kejuruteraan moden dalam kejuruteraan data