Verilənlər mühəndisliyi (ing. Data engineering) — böyük həcmli məlumatların toplanması, saxlanması, emalı və paylanması üçün texniki həllərin hazırlanması və idarə olunması ilə məşğul olan mühəndislik sahəsi.[1][2] Bu istiqamət məlumatın həyat dövriyyəsinin bütün mərhələlərini — mənbədən əldə edilməsindən analitik və tətbiqi sistemlərdə istifadəsinə qədər olan prosesi əhatə edir.
Verilənlər mühəndisliyinin əsas məqsədi məlumatların etibarlı, davamlı və miqyaslana bilən infrastruktur üzərində səmərəli şəkildə işlənməsini təmin etməkdir. Bu sahədə çalışan mütəxəssislər verilənlər boru xətləri (ing. data pipelines) qurur, müxtəlif mənbələrdən məlumat inteqrasiyasını həyata keçirir və saxlanma formatlarını optimallaşdırırlar.[3]
Müasir verilənlər mühəndisliyi aşağıdakı əsas fəaliyyətləri əhatə edir:[4][5][6]
- Məlumat arxitekturası — məlumat anbarlarının və bazalarının strukturunun planlaşdırılması və dizaynı.
- Boru xətləri (ETL/ELT) — məlumatın çıxarılması, çevrilməsi və yüklənməsi üçün avtomatlaşdırılmış proseslərin qurulması.
- Böyük verilənlər texnologiyaları — Hadoop, Spark, Kafka kimi paylanmış hesablama platformalarından istifadə.
- Keyfiyyət və təhlükəsizlik — məlumatların doğruluğu, məxfiliyi və etibarlılığı üçün standartların tətbiqi.
Verilənlər mühəndisləri proqramlaşdırma dilləri (Python, Java, Scala və s.), verilənlər bazası idarəetmə sistemləri (SQL, NoSQL), həmçinin bulud platformaları (AWS, Azure, Google Cloud) ilə geniş işləyirlər. Onların işi analitiklər, məlumat alimləri və biznes qərarvericiləri üçün keyfiyyətli və vaxtında məlumat təminatını mümkün edir.[7]
Verilənlər mühəndisliyinin formalaşması kompüter texnologiyalarının inkişafı ilə sıx bağlıdır. 1960-cı illərdə əsasən böyük hesablama mərkəzlərində işlədilən ilk məlumat bazası idarəetmə sistemləri bu sahənin təməlini qoydu.[3][7] 1970-ci illərdə Edqar F. Codd tərəfindən təklif olunan əlaqəli (ing. relational) verilənlər bazası modeli məlumatın strukturlaşdırılmış şəkildə saxlanmasına imkan yaratdı və mühəndislik prosesini standartlaşdırdı. 1980-ci illərdə SQL dilinin geniş yayılması verilənlər üzərində işləməni sadələşdirdi və müəssisələrdə məlumat anbarlarının qurulmasına şərait yaratdı.[3][7]
1990-cı illərdən etibarən internetin sürətli inkişafı məlumat həcmini kəskin artırdı və yeni saxlanma texnologiyalarına ehtiyac yaratdı. Bu dövrdə data warehouse (məlumat anbarı) anlayışı populyarlaşdı və böyük korporasiyalar analitik məqsədlər üçün çoxölçülü verilənlər bazaları qurmağa başladılar. 2000-ci illərin əvvəlində “böyük verilənlər” (big data) anlayışı ortaya çıxdı və ənənəvi bazaların həcmi və sürət baxımından məhdudluğu aydın oldu.[8]
2004-cü ildə Google tərəfindən MapReduce modeli, daha sonra isə Apache Hadoop layihəsi məlumatın paylanmış mühitdə emalını mümkün etdi və verilənlər mühəndisliyi üçün dönüş nöqtəsi oldu. 2010-cu illərdə real vaxtda emal tələbatı artdığından Apache Spark və Kafka kimi alətlər geniş istifadə olunmağa başladı. Bu illərdə “data pipeline” və “ETL/ELT” prosesləri müasir standartlara çevrildi.
Bulud texnologiyalarının yüksəlişi, xüsusilə Amazon Web Services və Google Cloud Platform kimi xidmətlər məlumat saxlama və emalını elastik və miqyaslana bilən hala gətirdi. 2015-ci ildən sonra serverless yanaşmalar və konteyner texnologiyaları (Docker, Kubernetes) mühəndislərə daha çevik həllər yaratmaq imkanı verdi.[9]
Son illərdə süni intellekt və maşın öyrənməsi modellərinin geniş tətbiqi yüksək keyfiyyətli və təmizlənmiş verilənlərin əhəmiyyətini daha da artırdı. Bu proses verilənlər mühəndisliyinin sadəcə dəstək funksiyası deyil, strateji biznes sahəsi kimi qəbul olunmasına səbəb oldu.[10]
Bugünkü mərhələdə verilənlər mühəndisliyi həm strukturlaşdırılmış, həm də qeyri-strukturlaşdırılmış məlumatların idarə edilməsi, real vaxt analitikası və avtomatlaşdırılmış keyfiyyət nəzarəti ilə xarakterizə olunur. Tarixi inkişaf göstərir ki, sahə daim yeni texnologiyalar, artan məlumat həcmi və sürət tələblərinə uyğun olaraq yenilənir və gələcəkdə də mühüm texnoloji istiqamətlərdən biri olaraq qalacaq.[11][12]
Verilənlər mühəndisliyi geniş spektrdə proqram təminatı və texnologiyalardan istifadə edir. SQL və NoSQL verilənlər bazaları məlumatların strukturlaşdırılmış və qeyri-strukturlaşdırılmış saxlanması üçün əsas alətlərdir. Apache Hadoop böyük həcmli verilənlərin paylanmış mühitdə saxlanması və emalı üçün geniş istifadə olunur.[13] Apache Spark real vaxt və batch emalı üçün sürətli hesablama imkanları təmin edir. Apache Kafka və RabbitMQ məlumat axınlarının idarə olunmasında və real vaxtda emalda mühüm rol oynayır.[14][15]
ETL/ELT alətləri, məsələn, Talend, Informatica və Apache NiFi məlumatın çıxarılması, çevrilməsi və yüklənməsi proseslərini avtomatlaşdırır. Bulud platformaları (AWS, Google Cloud, Azure) elastik saxlama, hesablama və analitik xidmətlər təqdim edir. Docker və Kubernetes konteyner texnologiyaları mühəndislərə tətbiqləri çevik və miqyaslana bilən şəkildə yerləşdirməyə imkan verir. Python və Scala proqramlaşdırma dilləri verilənlərin emalı və skriptlərin yazılması üçün geniş istifadə olunur.[16][17][18][19]
Məlumat vizuallaşdırma alətləri, məsələn, Tableau və Power BI mühəndislərə analitiklər və biznes istifadəçiləri üçün məlumatları vizuallaşdırmağa kömək edir. Data quality və monitoring alətləri məlumat keyfiyyətini və boru xətlərinin sağlamlığını təmin etmək üçün vacibdir. Bu alətlər birlikdə verilənlər mühəndisliyinin səmərəli və etibarlı işləməsini təmin edir.[20]
- ↑ "What is Data Engineering? | A Quick Glance of Data Engineering". EDUCBA. 5 yanvar 2020. İstifadə tarixi: 31 iyul 2022.
- ↑ "Introduction to Data Engineering". Dremio. İstifadə tarixi: 31 iyul 2022.
- ↑ 1 2 3 Black, Nathan. "What is Data Engineering and Why Is It So Important?". QuantHub. 15 yanvar 2020. İstifadə tarixi: 31 iyul 2022.
- ↑ "Information engineering," part 3, part 4, part 5, Part 6" by Clive Finkelstein. In Computerworld, In depths, appendix. May 25 – June 15, 1981.
- ↑ Christopher Allen, Simon Chatwin, Catherine Creary (2003). Introduction to Relational Databases and SQL Programming.
- ↑ Terry Halpin, Tony Morgan (2010). Information Modeling and Relational Databases. p. 343
- ↑ 1 2 3 Dodds, Eric. "The History of the Data Engineering and the Megatrends". Rudderstack. İstifadə tarixi: 31 iyul 2022.
- ↑ "File storage, block storage, or object storage?". www.redhat.com (ingilis). İstifadə tarixi: 31 iyul 2022.
- ↑ Schwarzkopf, Malte. "The Remarkable Utility of Dataflow Computing". ACM SIGOPS. 7 mart 2020. İstifadə tarixi: 31 iyul 2022.
- ↑ "Cloud Object Storage – Amazon S3 – Amazon Web Services". Amazon Web Services, Inc. İstifadə tarixi: 31 iyul 2022.
- ↑ "sparkpaper" (PDF). İstifadə tarixi: 31 iyul 2022.
- ↑ Abadi, Martin; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang. "TensorFlow: A system for large-scale machine learning". 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI 16). 2016. 265–283. İstifadə tarixi: 31 iyul 2022.
- ↑ Leavitt, Neal. "Will NoSQL Databases Live Up to Their Promise?". Computer. 43 (2). fevral 2010: 12–14. doi:10.1109/MC.2010.58.
- ↑ McSherry, Frank; Murray, Derek; Isaacs, Rebecca; Isard, Michael. "Differential dataflow". Microsoft. 5 yanvar 2013. İstifadə tarixi: 31 iyul 2022.
- ↑ "Differential Dataflow". Timely Dataflow. 30 iyul 2022. İstifadə tarixi: 31 iyul 2022.
- ↑ Aslett, Matthew. "How Will The Database Incumbents Respond To NoSQL And NewSQL?" (PDF). 451 Group (4 aprel 2011 tarixində nəşr olunub). 2011. İstifadə tarixi: 22 fevral 2020.
- ↑ Pavlo, Andrew; Aslett, Matthew. What's Really New with NewSQL? (PDF) // SIGMOD Record. 2016. İstifadə tarixi: 22 fevral 2020.
- ↑ Stonebraker, Michael. "NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps". Communications of the ACM Blog. 16 iyun 2011. İstifadə tarixi: 22 fevral 2020.
- ↑ Hoff, Todd. "Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In". 24 sentyabr 2012. İstifadə tarixi: 22 fevral 2020.
- ↑ "What is a Data Warehouse?". www.ibm.com (ingilis). İstifadə tarixi: 31 iyul 2022.
- Hares, John S. Information Engineering for the Advanced Practitioner. Wiley. 1992. ISBN 978-0-471-92810-2.
- Finkelstein, Clive. An Introduction to Information Engineering: From Strategic Planning to Information Systems. Addison-Wesley. 1989. ISBN 978-0-201-41654-1.
- Finkelstein, Clive. Information Engineering: Strategic Systems Development. Addison-Wesley. 1992. ISBN 978-0-201-50988-5.
- Ian Macdonald (1986). "Information engineering". in: Information Systems Design Methodologies. T.W. Olle et al. (ed.). North-Holland.
- Ian Macdonald (1988). "Automating the Information engineering methodology with the Information Engineering Facility". In: Computerized Assistance during the Information Systems Life Cycle. T.W. Olle et al. (ed.). North-Holland.
- James Martin and Clive Finkelstein. (1981). Information engineering. Technical Report (2 volumes), Savant Institute, Carnforth, Lancs, UK.
- James Martin (1989). Information engineering. (3 volumes), Prentice-Hall Inc.
- Finkelstein, Clive. Enterprise Architecture for Integration: Rapid Delivery Methods and Technologies. Artech House. 2006. ISBN 978-1-58053-713-1.
- Reis, Joe; Housley, Matt. Fundamentals of Data Engineering. O'Reilly Media. 2022. ISBN 978-1-0981-0827-4.