Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Dîsa silav! Sernavê gotarê bi xwe dipeyive. Li hêviya destpêkirina qursê "Endezyar Daneyên" Em pêşniyar dikin ku hûn fêm bikin ku endezyarên daneyê kî ne. Di gotarê de gelek girêdanên kêrhatî hene. Xwendina xweş.

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Rêbernameyek hêsan li ser meriv çawa pêla Endezyariya Daneyê bigire û nehêle ku ew we bikişîne nav çolê.

Wusa dixuye ku her kes van rojan dixwaze bibe Zanyarê Daneyê. Lê li ser Endezyariya Daneyê çi ye? Di bingeh de, ev celebek hîbrîdek analîstek daneyê û zanyarek daneyê ye; Endezyarek daneyê bi gelemperî ji bo birêvebirina karûbar, boriyên pêvajoyê, û pêvajoyên ETL berpirsiyar e. Ji ber girîngiya van fonksiyonan, ev naha jargonek profesyonelek din a populer e ku bi rengek çalak geş dibe.

Meaşên bilind û daxwazek mezin tenê beşek piçûk e ku vî karî zehf balkêş dike! Ger hûn dixwazin beşdarî rêzên lehengan bibin, ji bo destpêkirina fêrbûnê qet ne dereng e. Di vê postê de, min hemî agahdariya pêwîst berhev kiriye da ku ji we re bibe alîkar ku hûn gavên xwe yên yekem bavêjin.

Ji ber vê yekê, ka em dest pê bikin!

Endezyariya Daneyê çi ye?

Bi rastî, ji vê çêtir ravekirin tune:

“Zanyarek dikare stêrkek nû keşf bike, lê nikare stêrkek biafirîne. Divê ew ji endezyarek bixwaze ku ji wî re bike."

-Gordon Lindsay Glegg

Ji ber vê yekê, rola endezyarek daneyê pir girîng e.

Wekî ku ji navê xwe diyar dike, endezyariya daneyê bi daneyê re têkildar e, ango radestkirin, hilanîn û hilanîna wê. Li gorî vê yekê, peywira sereke ya endezyaran peydakirina binesaziyek pêbawer a daneyan e. Ger em li hiyerarşiya AI-ya hewcedariyê binêrin, endezyariya daneyê 2-3 qonaxên yekem digire: berhevkirin, tevger û hilanîn, amadekirina daneyan.

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Endezyarek daneyê çi dike?

Bi hatina daneyên mezin re, qada berpirsiyariyê bi rengek berbiçav guherî. Ger berê van pisporan bi karanîna amûrên wekî Informatica ETL, Pentaho ETL, Talend, pirsên SQL-ya mezin dinivîsandin û daneya distînin, naha hewcedariyên endezyarên daneyê zêde bûne.

Piraniya pargîdaniyên xwedan valahiyên vekirî yên ji bo pozîsyona endezyar daneyê daxwazên jêrîn hene:

  • Zanîna hêja ya SQL û Python.
  • Bi platformên ewr, nemaze Karûbarên Webê yên Amazon re ezmûn bibin.
  • Zanîna Java/Scala tercîh kirin.
  • Têgihîştina baş a databasên SQL û NoSQL (modelkirina daneyê, depokirina daneyê).

Bînin bîra xwe, ev tenê tiştên bingehîn in. Ji vê navnîşê, meriv dikare were texmîn kirin ku endezyarên daneyê di warê pêşkeftina nermalavê û paşerojê de pispor in.
Mînakî, heke pargîdaniyek dest bi hilberîna jimarek mezin a daneyan ji çavkaniyên cihêreng bike, peywira we wekî endezyarek daneyê organîzekirina berhevkirina agahdarî, pêvajokirin û hilanîna wê ye.

Dibe ku navnîşa amûrên ku di vê rewşê de têne bikar anîn cûda be, ew hemî bi qebareya vê daneyê, leza wergirtina wê û heterojeniyê ve girêdayî ye. Pir pargîdanî qet bi daneyên mezin re mijûl nabin, ji ber vê yekê wekî depoyek navendî, ku jê re tê gotin depoyek daneyê, hûn dikarin databasek SQL (PostgreSQL, MySQL, hwd.) bi komek piçûk a nivîsarên ku daneyan têxe nav xwe bikar bînin. embar.

Dêwên IT yên wekî Google, Amazon, Facebook an Dropbox hewceyên bilindtir in: zanîna Python, Java an Scala.

  • Ezmûna bi daneyên mezin: Hadoop, Spark, Kafka.
  • Zanîna algorîtmayan û strukturên daneyê.
  • Fêmkirina bingehên pergalên belavkirî.
  • Tecrûbeya bi amûrên dîtbarkirina daneyê yên wekî Tableau an ElasticSearch re dê zêdeyek be.

Ango, veguheztinek zelal ber bi daneyên mezin ve, ango di pêvajoya wê de di bin barkirinên bilind de heye. Van pargîdaniyan ji bo tolerasyona xeletiya pergalê hewcedariyên zêde kirine.

Endezyarên Daneyên Vs. zanyarên daneyan

Endezyarên daneyê kî ne, û hûn çawa dibin yek?
Baş e, ew berhevokek sade û xweş bû (tiştek kesane), lê di rastiyê de ew pir tevlihevtir e.

Pêşîn, divê hûn zanibin ku di xêzkirina rol û jêhatîbûna zanyarek daneyê û endezyarek daneyê de gelek nezelalî heye. Ango, hûn dikarin bi hêsanî tevlihev bibin ka çi jêhatîbûn hewce ne ku bibin endezyarek daneya serfiraz. Bê guman, hin jêhatî hene ku bi her du rolan re hevûdu dikin. Lê di heman demê de hejmarek jêhatîbûnên li dijî hev jî hene.

Zanistiya daneyê karsaziyek ciddî ye, lê em ber bi cîhanek zanistiya daneya fonksiyonel ve diçin ku bijîjk dikarin analîtîkên xwe bikin. Ji bo çalakkirina lûleyên daneyê û strukturên daneya yekbûyî, hûn hewceyê endezyarên daneyê ne, ne zanyarên daneyê.

Ma endezyarek daneyê ji zanyarek daneyê pirtir daxwaz e?

- Erê, ji ber ku berî ku hûn bikarin kekê gêzerê çêkin, hûn pêşî hewce ne ku gêzeran berhev bikin, bişilînin û parzin bikin!

Endezyarek daneyê ji her zanyarê daneyê çêtir bernamekirinê fam dike, lê gava ku dor tê ser statîstîkê, berevajî rast e.

Lê li vir avantaja endezyarek daneyê heye:

Bêyî wî/wê, nirxa modela prototîpê, ku bi piranî ji perçeyek kodek kalîteya tirsnak a pelek Python pêk tê, ku ji zanyarek daneyê hatî wergirtin û bi rengekî encamek çêdike, berbi sifirê ve diçe.

Bêyî endezyarek daneyê, ev kod dê çu carî nebe projeyek û pirsgirêkek karsaziyê dê bi bandor neyê çareser kirin. Endezyarê daneyê hewl dide ku van hemûyan veguherîne hilberek.

Agahdariya bingehîn divê endezyarek daneyê zanibe

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Ji ber vê yekê, heke ev kar ronahiyê di we de derdixe û hûn dilşewat in - hûn dikarin wê fêr bibin, hûn dikarin hemî jêhatîbûnên hewce bidest bixin û di warê endezyariya daneyê de bibin stêrkek rockê ya rastîn. Û, erê, hûn dikarin vê yekê bêyî jêhatîbûna bernamekirinê an zanîna teknîkî ya din jî derxînin. Zehmet e, lê gengaz e!

gavên pêşîn çi ne?

Divê hûn ramanek gelemperî ya ku çi ye.

Berî her tiştî, Endezyariya Daneyên zanistiya komputerê vedibêje. Bi taybetî, divê hûn algorîtmayên bikêr û strukturên daneyê fam bikin. Ya duyemîn, ji ber ku endezyarên daneyê bi daneyan re dixebitin, pêdivî ye ku meriv prensîbên databasan û strukturên ku di binê wan de ne fam bikin.

Mînakî, databasên SQL yên B-dar ên kevneşopî li ser bingeha daneya B-Tree, û her weha di depoyên belavkirî yên nûjen de, LSM-Tree û guheztinên din ên tabloyên hash-ê de têne çêkirin.

* Ev gav li ser gotarek mezin têne çêkirin Adilya Khashtamova. Ji ber vê yekê, heke hûn rûsî dizanin, piştgirî bidin vî nivîskarî û bixwînin postê wî.

1. Algorîtma û avahîyên daneyan

Bikaranîna strukturek daneya rast dikare performansa algorîtmayek bi girîngî baştir bike. Bi îdeal, divê em hemî di dibistanên xwe de li ser strukturên daneyê û algorîtmayan fêr bibin, lê ev yek kêm caran tê vegirtin. Di her rewşê de, ji bo hevnaskirinê qet ne dereng e.
Ji ber vê yekê li vir qursên min ên belaş ên bijare ji bo fêrbûna strukturên daneyê û algorîtmayan hene:

Zêdeyî xebata klasîk Thomas Corman li ser algorîtmayan ji bîr nekin - Destpêka Algorîtmayan. Dema ku hûn hewce ne ku bîranîna xwe nûve bikin ev referansa bêkêmasî ye.

  • Ji bo baştirkirina jêhatîbûna xwe, bikar bînin Leetcode.

Her weha hûn dikarin bi vîdyoyên ecêb ên ji Zanîngeha Carnegie Mellon li ser Youtube-ê li cîhana databasan bigerin:

2. SQL hîn bibin

Tevahiya jiyana me dane ye. Û ji bo ku hûn van daneyan ji databasê derxînin, hûn hewce ne ku bi heman zimanî bi wî re "biaxivin".

SQL (Structured Query Language) zimanê danûstendinê ye di qada daneyê de. Bêyî ku kesek çi dibêje, SQL jiyaye, zindî ye û dê demek pir dirêj bijî.

Ger hûn ji demek dirêj ve di pêşveçûnê de ne, we belkî ferq kiriye ku gotegotên di derbarê mirina nêzîk a SQL de dem bi dem derdikevin. Ziman di destpêka salên 70-an de hate pêşve xistin û hîn jî di nav analîst, pêşdebir û bi tenê dilxwazan de pir populer e.
Bêyî zanîna SQL di endezyariya daneyê de tiştek nayê kirin ji ber ku hûn neçar in ku pirsan biafirînin da ku daneyan bistînin. Hemî wargehên daneyên mezin ên nûjen SQL piştgirî dikin:

  • Redshift Amazon
  • HP Vertica
  • Oracle
  • SQL Server

... û gelekên din.

Ji bo analîzkirina qatek mezin a daneyên ku di pergalên belavbûyî yên wekî HDFS de hatine hilanîn, motorên SQL hatin îcadkirin: Apache Hive, Impala, hwd. Binêrin, ew naçe ti deran.

Meriv çawa SQL fêr dibe? Tenê di pratîkê de bikin.

Ji bo vê yekê, ez ê pêşniyar bikim ku hûn dersek hêja, ya ku, bi awayê, belaş e, ji kontrol bikin Mode Analytics.

  1. Navbera SQL
  2. Tevlî Daneyên di SQL de

Ya ku van qursan taybetî dike ev e ku ew xwedan hawîrdorek danûstendinê ne ku hûn dikarin pirsên SQL rast di geroka xwe de binivîsin û bimeşînin. Kanî SQL ya nûjen dê ne zêde be. Û hûn dikarin vê zanînê bi kar bînin Karên Leetcode di beşa Databases de.

3. Bernamekirin li Python û Java/Scala

Çima divê hûn zimanê bernamesaziya Python fêr bibin, min berê di gotarê de nivîsand Python vs R. Hilbijartina Amûra çêtirîn ji bo AI, ML û Zanistiya Daneyê. Dema ku dor tê ser Java û Scala, piraniya amûrên ji bo hilanîn û hilanînên mezin ên daneyê bi van zimanan têne nivîsandin. Bo nimûne:

  • Apache Kafka (Scala)
  • Hadoop, HDFS (Java)
  • Apache Spark (Scala)
  • Apache Cassandra (Java)
  • HBase (Java)
  • Apache Hive (Java)

Ji bo ku hûn fêm bikin ka van amûran çawa dixebitin, hûn hewce ne ku hûn zimanên ku ew bi wan têne nivîsandin zanibin. Nêzîkatiya fonksiyonel a Scala dihêle hûn bi bandor pirsgirêkên pêvajoyek daneya paralel çareser bikin. Python, mixabin, nikare bi lez û pêvajoyek paralel pesnê xwe bide. Bi gelemperî, zanîna çend zimanan û paradîgmayên bernamekirinê ji bo berfirehiya nêzîkatiyên çareserkirina pirsgirêkan baş e.

Ji bo ku hûn li zimanê Scala bigerin, hûn dikarin bixwînin Bernamekirin li Scala ji nivîskarê ziman. Twitter jî rêbernameyek danasînê ya baş weşand - Dibistana Scala.

Ji bo Python, ez bawer dikim Fluent Python baştirîn pirtûka asta navîn.

4. Amûrên ji bo xebata bi daneyên mezin

Li vir navnîşek amûrên herî populer ên di cîhana daneyên mezin de hene:

  • Apache Spark
  • Apache Kafka
  • Apache Hadoop (HDFS, HBase, Hive)
  • Apache cassandra

Hûn dikarin di vê ecêbê de bêtir agahdarî li ser avakirina blokên daneya mezin bibînin jîngeha înteraktîf. Amûrên herî populer Spark û Kafka ne. Ew bê guman hêjayî xwendinê ne, tê pêşniyar kirin ku hûn fêm bikin ka ew ji hundur çawa dixebitin. Jay Kreps (hev-nivîskarê Kafka) di sala 2013-an de xebatek bîrdar çap kir Têketin: Tiştê ku divê her pêşdebirkerê nermalavê di derheqê berhevkirina berhevkirina daneya rast-dem de bizanibeBi awayê, ramanên sereke yên vê Talmûdê ji bo afirandina Apache Kafka hatine bikar anîn.

5. platformên Cloud

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Zanîna bi kêmî ve yek platformek cloudê di navnîşa hewcedariyên bingehîn de ji bo serlêderan ji bo pozîsyona endezyar daneyê ye. Kardêr Karûbarên Web Amazon-ê tercîh dikin, ku platforma cloudê ya Google di rêza duyemîn de ye û Microsoft Azure di sê rêza pêşîn de digire.

Pêdivî ye ku hûn agahdariya baş a Amazon EC2, AWS Lambda, Amazon S3, DynamoDB hebe.

6. Pergalên belavkirî

Karkirina bi daneyên mezin re tê wateya hebûna komên komputerên serbixwe yên xebitandinê, ku ragihandina di navbera wan de li ser torê tête kirin. Kom çi qas mezin be, îhtîmala têkçûna girêkên endamên wê ewqasî mezintir dibe. Ji bo ku hûn bibin zanyarek daneya mezin, hûn hewce ne ku pirsgirêk û çareseriyên heyî yên ji bo pergalên belavkirî fam bikin. Ev herêm kevn û tevlihev e.

Andrew Tanenbaum di vî warî de pêşengek tê hesibandin. Ji bo kesên ku ji teoriyê natirsin, ez pirtûka wî pêşniyar dikim "Pergalên Belavkirî", dibe ku ew ji bo destpêkek tirsnak xuya bike, lê ew ê bi rastî ji we re bibe alîkar ku hûn jêhatîbûna xwe xweş bikin.

Ez difikirim Sêwirana Serlêdanên Daneyên Zehf ji hêla Martin Kleppmann ve baştirîn pirtûka danasînê. Bi awayê, Martin xwedan tiştek ecêb e blog. Xebata wî dê alîkariya sîstematîzekirina zanyariyan di derheqê avakirina binesaziyek nûjen de ji bo hilanîn û hilanîna daneyên mezin.
Ji bo kesên ku hez dikin vîdyoyan temaşe bikin, li ser Youtube qursek heye Pergalên komputerê belav kirin.

7. lûleyên daneyan

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Boriyên daneyan tiştek e ku hûn nekarin bêyî wekî endezyarek daneyê bijîn.

Pir caran, endezyarek daneyê bi navê lûleya daneyê ava dike, ango ew pêvajoyek ji bo gihandina daneyan ji cîhek bo cîhek din diafirîne. Dibe ku ev skrîptên xwerû bin ku diçin API-ya karûbarek derveyî an pirsek SQL-ê çêdikin, daneyê zêde dikin, û wê têxin nav firotgehek navendî (ambara daneyê) an dikanek daneya nesazkirî (golên daneyê).

Bi kurtahî: navnîşa kontrolê ya bingehîn ji bo endezyarek daneyê

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Bi kurtasî, têgihiştinek baş ya jêrîn hewce ye:

  • Pergalên Agahdariyê;
  • Pêşveçûna nermalavê (Agile, DevOps, Teknîkên sêwiranê, SOA);
  • Pergalên belavkirî û bernameya paralel;
  • Bingehên Database - Plankirin, Sêwirandin, Operasyon û Çareserkirina Pirsgirêkan;
  • Sêwirana ceribandinan - Testên A/B ji bo îsbatkirina têgînan, destnîşankirina pêbaweriyê, performansa pergalê, û rêyên pêbawer pêşve bibin da ku zû çareseriyên baş peyda bikin.

Vana tenê çend hewcedariyên ku hûn bibin endezyarek daneyê ne, ji ber vê yekê pergalên daneyê, pergalên agahdariyê, radestkirina domdar / bicîhkirin / entegrasyon, zimanên bernamekirinê, û mijarên din ên zanistiya komputerê (ne hemî warên mijarê) fêr bibin û fêm bikin.

Û di dawiyê de, tiştê dawî lê pir girîng ez dixwazim bêjim.

Rêya ku bibe Endezyariya Daneyê ne ew qas hêsan e ku ew xuya dike. Ew efû nake, ew xemgîn dike, û divê hûn ji bo vê yekê amade bin. Hin kêliyên vê rêwîtiyê dibe ku we bihêle ku hûn dev jê berdin. Lê ev xebatek rastîn û pêvajoyek fêrbûnê ye.

Tenê ji destpêkê ve wê şekir nekin. Tevahiya xala rêwîtiyê ev e ku meriv bi qasî ku gengaz fêr bibe û ji dijwariyên nû re amade be.
Li vir wêneyek hêja ye ku ez pê re rast hatim ku vê xalê baş diyar dike:

Endezyarên daneyê kî ne, û hûn çawa dibin yek?

Û erê, ji bîr mekin ku ji şewat û bêhnvedanê dûr bisekinin. Ev jî pir girîng e. Bextxweş bî!

Hûn li ser gotarê çi difikirin hevalno? Em we vedixwînin belaş webinar, ku wê îro saet di 20.00 de pêk were. Di dema webinar de, em ê nîqaş bikin ka meriv çawa ji bo pargîdaniyek piçûk an destpêkek bi lêçûnek hindiktirîn pergalek hilberandina daneyê ya bi bandor û berbelav ava dike. Wekî pratîk, em ê bi amûrên hilberandina daneya Google Cloud re nas bikin. Bi xatirê te!

Source: www.habr.com

Add a comment