Inxhinieria e të dhënave

Inxhinieria e të dhënave është një qasje e inxhinierisë softuerike për ndërtimin e sistemeve të të dhënave, për të mundësuar mbledhjen dhe përdorimin e data. Këto të dhëna zakonisht përdoren për të mundësuar analizën e mëvonshme dhe shkencën e të dhënave, e cila shpesh përfshin mesimin e makinerive[1][2] Bërja e të dhënave të përdorshme zakonisht përfshin llogaritje dhe ruajtje të konsiderueshme, si dhe përpunimin e të dhënave.

Historia

Rreth viteve 1970/1980 u krijua termi metodologjia e inxhinierisë së informacionit (IEM) për të përshkruar dizajnin e databazave dhe përdorimin e softuerit për analizën dhe përpunimin e të dhënave[3]. Këto teknika ishin të destinuara të përdoren nga administratorët e databazave (DBA) dhe nga analistët e sistemeve bazuar në një kuptim të nevojave operacionale për përpunim të organizatave për vitet 1980. Në veçanti, këto teknika kishin për qëllim të ndihmonin në mbushjen e urës midis planifikimit strategjik të biznesit dhe sistemeve të informacionit. Një kontribues kyç i hershëm (i quajtur shpesh “baba” i metodologjisë së inxhinierisë së informacionit) ishte australiani Clive Finkelstein, i cili shkroi disa artikuj mbi këtë temë midis viteve 1976 dhe 1980, dhe gjithashtu bashkë-shkroi një raport ndikues të Institutit Savant mbi këtë temë me James Martin[4][5][6]. Gjatë disa viteve në vazhdim, Finkelstein vazhdoi punën në një drejtim më të orientuar nga biznesi, i cili kishte për qëllim të adresonte një mjedis biznesi që po ndryshonte shpejt; Martin vazhdoi punën në një drejtim më të përqendruar në përpunimin e të dhënave. Nga viti 1983 deri në 1987, Charles M. Richter, i udhëhequr nga Clive Finkelstein, luajti një rol të rëndësishëm në ristrukturimin e IEM si dhe ndihmoi në dizajnimin e produktit softuerik IEM (të dhënat e përdoruesit), që ndihmoi në automatizimin e IEM. Në fillim të viteve 2000, të dhënat dhe mjete për përpunimin e të dhënave zakonisht ruheshin nga ekipet e teknologjisë së informacionit (IT) në shumicën e kompanive[7]. Ekipet e tjera më pas përdornin të dhënat për punën e tyre (p.sh. raportim), dhe zakonisht kishte pak përputhshmëri në aftësitë për të punuar me të dhëna midis këtyre pjesëve të biznesit.

Në fillim të viteve 2010, me rritjen e internetit, rritja masive e volumit, shpejtësisë dhe larmisë së të dhënave çoi në përdorimin e termit "big data" për të përshkruar vetë të dhënat, dhe kompanitë teknologjike të bazuara në të dhëna si Facebook dhe Airbnb filluan të përdorin shprehjen inxhinier i të dhënave[3][7]. Për shkak të shkallës së re të të dhënave, firma të mëdha si Google, Facebook, Amazon, Apple, Microsoft dhe Netflix filluan të largoheshin nga teknikat tradicionale ETL dhe ruajtja e të dhënave. Ata filluan të krijojnë inxhinierinë e të dhënave, një lloj inxhinierie softuerike i përqendruar në të dhëna, dhe në veçanti në infrastrukturë, magazinim, mbrojtje të të dhënave, siguri kibernetike, minimi i të dhënave, modelim, përpunim dhe menaxhim të metadatave[3][7]. Ky ndryshim në qasje ishte veçanërisht i përqendruar në kompjuterinë cloud.[7] Të dhënat filluan të përpunohen dhe të përdoren nga shumë pjesë të biznesit, si shitjet dhe marketingu, dhe jo vetëm IT-ja.[7]

Mjetet

Llogaritje

Llogaritja me performancë të lartë është thelbësore për përpunimin dhe analizën e të dhënave. Një qasje veçanërisht e përdorur në llogaritje për inxhinierinë e të dhënave është programimi me rrjedhë të të dhënave, në të cilin llogaritja paraqitet si një grafik i drejtuar (grafiku i rrjedhës së të dhënave); nyjet janë operacionet, dhe lidhjet përfaqësojnë rrjedhën e të dhënave.[8] Implementimet e njohura përfshijnë Apache Spark dhe TensorFlow, specifik për mësim të thellë.[8][9] Implementime më të fundit, të tilla si Differential/Timely Dataflow, kanë përdorur llogaritje inkrementale për përpunim të të dhënave shumë më efikas.[8][10][11]

Ruajtja

Të dhënat ruhen në mënyra të ndryshme, një nga faktorët kryesorë vendimtarë është se si do të përdoren të dhënat. Inxhinierët e të dhënave optimizojnë sistemet e ruajtjes dhe përpunimit të të dhënave për të ulur kostot. Ata përdorin kompresimin e të dhënave, ndarjen dhe arkivimin.

Bazat e të dhënave

Nëse të dhënat janë të strukturuara dhe kërkohet ndonjë formë e përpunimit të transaksioneve online, atëherë zakonisht përdoren bazat e të dhënave.[12] Në fillim përdroheshin kryesisht bazat e të dhënave relacionale, me garanci të forta për saktësinë e transaksioneve ACID; shumica e bazave të të dhënave relacione përdorin SQL për pyetjet e tyre. Megjithatë, me rritjen e të dhënave në vitet 2010, bazat e të dhënave NoSQL gjithashtu u bënë të njohura, pasi që ato mund të shkallëzoheshin horizontalisht më lehtë se bazat e të dhënave relacionale duke hequr garancitë e transaksioneve ACID, si dhe duke zvogëluar mosmarrëveshjen midis objekteve-relacionale.[13]Së fundmi, bazat e të dhënave NewSQL — të cilat përpiqen të lejojnë shkallëzim horizontal duke ruajtur garancitë ACID — janë bërë të njohura.[14][15][16][17]

Depozitat e të dhënave

Artikulli kryesor: Depozita e të dhënave

Nëse të dhënat janë të strukturuara dhe kërkohet përpunim analitik online (por jo përpunim transaksionesh në linjë), atëherë depot e të dhënave janë një zgjedhje kryesore.[18] Ato mundësojnë analizën e të dhënave, minimin dhe inteligjencën artificiale në një shkallë shumë më të madhe sesa mund të lejojnë bazat e të dhënave,[18] dhe madje të dhënat shpesh rrjedhin nga bazat e të dhënave drejt depot e të dhënave.[19]Analistët e biznesit, inxhinierët e të dhënave dhe shkencëtarët e të dhënave mund të aksesojnë depot e të dhënave duke përdorur mjete si SQL ose softuer për inteligjencë të biznesit.[19]

Liqen të dhënash

Një liqen të dhënash është një depo e centralizuar për ruajtjen, përpunimin dhe sigurimin e sasisë së madhe të të dhënave. Një liqen të dhënash mund të përmbajë të dhëna të strukturuara nga bazat e të dhënave relacionale, të dhëna gjysmë të strukturuara, të dhëna të pastrukturuara dhe të dhëna binare. Një liqen të dhënash mund të krijohet në ambientet lokale (on-premises) ose në një mjedis të bazuar në cloud duke përdorur shërbimet nga ofrues publikë të cloud-it si Amazon, Microsoft ose Google.

Skedarët

Nëse të dhënat janë më pak të strukturuara, atëherë shpesh thjesht ruhen si skedarë. Ka disa opsione:

Menaxhimi

Numri dhe llojet e ndryshme të proceseve të të dhënave dhe vendndodhjeve të ruajtjes mund të bëhen të vështira për përdoruesit. Kjo ka frymëzuar përdorimin e një sistemi menaxhimi të rrjedhave të punës (workflow management system) (p.sh. Airflow) për të lejuar që detyrat e të dhënave të specifikohen, krijohen dhe monitorohen.[22]

Detyrat shpesh specifikohen si një grafik i drejtuar aciklik (Directed Acyclic Graph – DAG).[22]

Cikli i jetës

Planifikimi i biznesit

Objektivat e biznesit që drejtuesit vendosin për të ardhmen përcaktohen në planet kryesore të biznesit, me një përkufizim më të detajuar në planet taktike të biznesit dhe zbatim në planet operacionale të biznesit. Shumica e bizneseve sot e njohin nevojën thelbësore për të zhvilluar një plan biznesi që ndjek këtë strategji. Shpesh është e vështirë të zbatohen këto plane për shkak të mungesës së transparencës në nivelet taktike dhe operative të organizatave. Ky lloj planifikimi kërkon reagime (feedback) për të mundësuar korrigjimin e hershëm të problemeve që shkaktohen nga keqkomunikimi dhe keqinterpretimi i planit të biznesit.

Dizajnimi i sistemeve

Dizajnimi i sistemeve të të dhënave përfshin disa përbërës, si arkitektura e platformave të të dhënave dhe dizajnimi i magazinave të të dhënave (data stores).[23][24]

Modelimi i të dhënave

Artikulli kryesor: Modelimi i të dhënave

Modelimi i të dhënave është analiza dhe paraqitja e kërkesave për të dhëna të një organizate. Ai prodhon një model të të dhënave — një paraqitje abstrakte që organizon konceptet biznesore dhe marrëdhëniet dhe kufizimet mes tyre. Artefaktet që rezultojnë udhëheqin komunikimin mes palëve të interesit biznesore dhe teknike dhe informojnë projektimin e bazës së të dhënave.[25][26]

Një konventë e zakonshme dallon tre nivele modelesh:[25]

  • Modeli konceptual – një pamje e pavarur nga teknologjia e koncepteve dhe rregullave kryesore të biznesit.
  • Modeli logjik – një paraqitje e detajuar në një paradigmë të zgjedhur (më së shpeshti modeli relacion) që specifikon entitetet, atributet, çelësat dhe kufizimet e integritetit.[26]
  • Modeli fizik – një dizajn i orientuar drejt implementimit që përshkruan tabelat, indekset, ndarjen (partitioning) dhe konsiderata të tjera operative.[26]

Qasjet përfshijnë modelimin entitet–marrëdhënie (ER) për sistemet operacionale,[27] modelimin dimensional për analiza dhe ruajtje të të dhënave (data warehousing),[28]dhe përdorimin e diagrameve të klasave UML për të shprehur modele konceptuale ose logjike në mjete modelimi me përdorim të përgjithshëm.[29]

Modelet e formuara mirë synojnë të përmirësojnë cilësinë dhe ndërveprimin e të dhënave duke aplikuar standarde të qarta emërtimi, normalizim dhe kufizime integriteti.[26][27]

Rolet

Inxhinieri i të dhënave

Një inxhinier të dhënash është një lloj inxhinieri softueri që krijon pipeline ETL për big data për të menaxhuar rrjedhën e të dhënave brenda organizatës. Kjo e bën të mundur marrjen e sasisë së madhe të të dhënave dhe shndërrimin e tyre në njohuri të vlefshme.[30] Ata janë të fokusuar në gatishmërinë për prodhim të të dhënave dhe në elemente si formatet, qëndrueshmëria, shkallëzimi dhe siguria. Inxhinierët e të dhënave zakonisht vijnë nga një sfond i inxhinierisë së softuerit dhe janë të aftë në gjuhë programimi si Java, Python, Scala dhe Rust.[31][3] Ata zakonisht janë më të njohur me bazat e të dhënave, arkitekturën, cloud computing dhe zhvillimin softuerik Agile.[3]

Shkencëtari i të dhënave (Data scientist)

Artikulli kryesor: Data science

Shkencëtarët e të dhënave janë më të fokusuar në analizën e të dhënave; ata do të jenë më të njohur me matematikën, algoritmet, statistikat dhe machine learning.[3][32]

Shih gjithashtu

Referime

  1. ↑ "What is Data Engineering? | A Quick Glance of Data Engineering". EDUCBA. 5 janar 2020. Marrë më 31 korrik 2022.
  2. ↑ "Introduction to Data Engineering". Dremio. Marrë më 31 korrik 2022.
  3. 1 2 3 4 5 6 What is Data Engineering and Why Is It So Important?. QuantHub. 2020.
  4. ↑ Finkelstein, Clive (1981). Information engineering (në anglisht). fq. part 3, part 4, part 5, part 6.
  5. ↑ Allen, Christopher; Chatwin, Simon; Creary, Catherine (2003). Introduction to Relational Databases and SQL Programming (në anglisht).
  6. ↑ Halpin, Terry; Morgan, Tony (2010). Information Modeling and Relational Databases (në anglisht).
  7. 1 2 3 4 5 Dodds, Eric (2022). The History of the Data Engineering and the Megatrends (në anglisht). Rudderstack.
  8. 1 2 3 Schwarzkopf, Malte (2020). The Remarkable Utility of Dataflow Computing (në anglisht). ACM SIGOPS.
  9. ↑ Abadi, Martin; etj. (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) (2016). TensorFlow: A system for large-scale machine learning (në anglisht) (bot. 12th).
  10. ↑ Frank, McSherry; Murray, Derek; Isaacs, Rebecca; Isard, Michael (2013). Differential dataflow.
  11. ↑ Differential Dataflow. 30 korrik 2022.
  12. ↑ "Lecture Notes | Database Systems | Electrical Engineering and Computer Science | MIT OpenCourseWare". 31 korrik 2022.
  13. ↑ Leavitt, Neal (shkurt 2010). Will NoSQL Databases Live Up to Their Promise?.
  14. ↑ Aslett, Matthew (4 prill 2011). How Will The Database Incumbets Respond To NoSQL And NewSQL?.
  15. ↑ Pavlo, Andrew; Aslett, Matthew (2016). What's Really New with NewSQL?.
  16. ↑ Stonebraker, Michael (16 qershor 2011). NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps.
  17. ↑ Hoff, Todd (24 shtator 2012). Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In.
  18. 1 2 "What is a Data Warehouse?". 31 korrik 2022.
  19. 1 2 "What is a Data Warehouse? | Key Concepts | Amazon Web Services". Amazon Web Services, Inc. 31 korrik 2022.
  20. 1 2 3 "File storage, block storage, or object storage?". 31 korrik 2022.
  21. ↑ "Cloud Object Storage - Amazon S3 - Amazon Web Services". Amazon Web Services, Inc. 31 korrik 2022.
  22. 1 2 "Home". Apache Airflow. 31 korrik 2022.
  23. ↑ "Introduction to Data Engineering". Coursera. 31 korrik 2022.
  24. ↑ Finkelstein, Clive. What are The Phases of Information Engineering.
  25. 1 2 Simsion, Graeme; Witt, Graham (2015). Data Modeling Essentials (bot. 4th).
  26. 1 2 3 4 Date, C.J. (2004). An Introduction to Database Systems (bot. 8th).
  27. 1 2 Chen, Peter P. (1976). The Entity–Relationship Model—Toward a Unified View of Data.
  28. ↑ Kimball, Ralph; Ross, Margy (2013). The Data Warehouse Toolkit: The Definitive Guide to Dimensional Modeling (bot. 3rd). ISBN 9781118530801.
  29. ↑ "Unified Modeling Language (UML) Version 2.5.1". Object Managment Group. 2017.
  30. ↑ Tamir, Mike; Miller, Steven; Gagliardi, Alessandro (11 dhjetor 2015). The Data Engineer.
  31. ↑ "Data Engineer vs. Data Scientist". Springboard Blog. 7 shkurt 2019. Arkivuar nga origjinali më 24 prill 2021. Marrë më 5 dhjetor 2025.
  32. ↑ "What is Data Science and Why it's Important". Edureka. 5 janar 2017.

Lexime të mëtejshme

  • Hares, John S. (1992). Information Engineering for the Advanced Practitioner. Wiley. ISBN 978-0-471-92810-2.
  • Finkelstein, Clive (1989). An Introduction to Information Engineering: From Strategic Planning to Information Systems. Addison-Wesley. ISBN 978-0-201-41654-1.
  • Finkelstein, Clive (1992). Information Engineering: Strategic Systems Development. Addison-Wesley. 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 (2006). Enterprise Architecture for Integration: Rapid Delivery Methods and Technologies. Artech House. ISBN 978-1-58053-713-1.
  • Reis, Joe; Housley, Matt (2022). Fundamentals of Data Engineering. O'Reilly Media. ISBN 978-1-0981-0827-4.

Linke të jashtme