Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?

He unuhi kēia ʻatikala o kaʻu ʻatikala ma ka waena - E hoʻomaka me Data Lake, i lilo i mea kaulana loa, ma muli paha o kona maʻalahi. No laila, ua hoʻoholo wau e kākau iā ia ma ka ʻōlelo Lūkini a hoʻohui i kahi mea liʻiliʻi e hoʻomaopopo i kahi kanaka maʻamau ʻaʻole ia he loea ʻikepili i ke ʻano o kahi waihona data (DW), a he aha ka lake data (Data Lake), a pehea lākou. e launa pu .

No ke aha i makemake ai au e kākau e pili ana i ka loko data? Ua hana au me ka ʻikepili a me ka analytics no nā makahiki he 10, a i kēia manawa ke hana nei au me ka ʻikepili nui ma Amazon Alexa AI ma Cambridge, aia ma Boston, ʻoiai ke noho nei au ma Victoria ma ka mokupuni ʻo Vancouver a kipa pinepine i Boston, Seattle , a ma Wanekoua, a i kekahi manawa ma Moscow, ke olelo nei au ma na halawai. Ke kākau nei au i kēlā me kēia manawa, akā kākau nui wau ma ka ʻōlelo Pelekania, a ua kākau mua wau kekahi mau puke, Pono au e kaʻana like i nā ʻano loiloi mai ʻAmelika ʻĀkau, a kākau wau i kekahi manawa telegrams.

Ua hana mau au me nā hale kūʻai ʻikepili, a mai ka makahiki 2015 ua hoʻomaka wau e hana pili me Amazon Web Services, a ua hoʻololi maʻamau i ka ʻikepili kapua (AWS, Azure, GCP). Ua ʻike au i ka ulu ʻana o nā hoʻonā analytics mai ka makahiki 2007 a ua hana pū nō hoʻi no ka mea kūʻai hale waihona kālā ʻo Teradata a hoʻokō iā ia ma Sberbank, a ʻo ia ka manawa i ʻike ʻia ai ʻo Big Data me Hadoop. Ua hoʻomaka ka poʻe a pau e ʻōlelo ua hala ka manawa o ka mālama ʻana a i kēia manawa aia nā mea āpau ma Hadoop, a laila hoʻomaka lākou e kamaʻilio e pili ana i Data Lake, i kēia manawa ua hiki mai ka hopena o ka waihona ʻikepili. Akā naʻe, ʻoi aku ka maikaʻi (ʻo ka pōʻino paha no kekahi i loaʻa kālā nui i ka hoʻonohonoho ʻana iā Hadoop), ʻaʻole i hele ka hale waihona ʻikepili.

Ma kēia ʻatikala e nānā mākou i ke ʻano o ka loko data. Kuhi ʻia kēia ʻatikala no ka poʻe i ʻike liʻiliʻi a ʻaʻohe ʻike me nā hale waihona ʻikepili.

Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?

Aia i loko o ke kiʻi ʻo Lake Bled, ʻo ia kekahi o kaʻu mau loko punahele, ʻoiai hoʻokahi wale nō au i laila, hoʻomanaʻo wau i ke koena o koʻu ola. Akā e kamaʻilio mākou e pili ana i kekahi ʻano loko - he loko data. Ua lohe mua paha ka nui o ʻoukou e pili ana i kēia huaʻōlelo ma mua o hoʻokahi manawa, akā ʻaʻole e hōʻeha kekahi i kekahi.

ʻO ka mea mua, eia nā wehewehe kaulana loa o kahi Data Lake:

"he waihona waihona o nā ʻano ʻikepili maka i loaʻa no ka nānā ʻana e kekahi o ka hui" - Martin Fowler.

"Inā manaʻo ʻoe he ʻōmole wai ka data mart - hoʻomaʻemaʻe ʻia, hoʻopaʻa ʻia a hoʻopaʻa ʻia no ka ʻai maʻalahi, a laila ʻo ka loko data kahi waihona wai nui i kona ʻano kūlohelohe. E nā mea hoʻohana, hiki iaʻu ke hōʻiliʻili i ka wai noʻu iho, luʻu hohonu, ʻimi" - James Dixon.

I kēia manawa ua ʻike maopopo mākou he loko ʻikepili e pili ana i ka analytics, hiki iā mākou ke mālama i ka nui o ka ʻikepili i kona ʻano kumu a loaʻa iā mākou ka pono a me ka maʻalahi o ka ʻikepili.

Makemake pinepine au e hoʻomaʻamaʻa i nā mea, inā hiki iaʻu ke wehewehe i kahi huaʻōlelo paʻakikī i nā huaʻōlelo maʻalahi, a laila maopopo wau iaʻu iho pehea e hana ai a me ka mea e pono ai. I kekahi lā, e ʻimi ana au i loko o ka hale kiʻi kiʻi iPhone, a ʻike mai iaʻu, he loko ʻikepili maoli kēia, ua hana wau i kahi paheʻe no nā hālāwai kūkā:

Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?

He mea maʻalahi loa nā mea a pau. Lawe mākou i kahi kiʻi ma ke kelepona, mālama ʻia ke kiʻi ma ke kelepona a hiki ke mālama ʻia i iCloud (cloud file storage). E hōʻiliʻili pū ke kelepona i nā metadata kiʻi: nā mea i hōʻike ʻia, geo tag, manawa. ʻO ka hopena, hiki iā mākou ke hoʻohana i ka mea hoʻohana-friendly interface o ka iPhone e ʻike i kā mākou kiʻi a ʻike mākou i nā hōʻailona, ​​​​no ka laʻana, ke ʻimi au i nā kiʻi me ka huaʻōlelo ahi, loaʻa iaʻu nā kiʻi 3 me kahi kiʻi o ke ahi. Noʻu, ua like kēia me kahi hāmeʻa Business Intelligence e hana wikiwiki a pololei.

A ʻoiaʻiʻo, ʻaʻole pono mākou e poina e pili ana i ka palekana (ʻae a me ka hōʻoia ʻana), inā ʻaʻole hiki i kā mākou ʻikepili ke hoʻopau maʻalahi i ka lehulehu. Nui nā nūhou e pili ana i nā hui nui a me nā hoʻomaka ʻana i loaʻa i ka lehulehu ka ʻikepili ma muli o ka mālama ʻole ʻana o nā mea hoʻomohala a me ka hahai ʻole i nā lula maʻalahi.

ʻOiai ke kiʻi maʻalahi e kōkua iā mākou e noʻonoʻo i ke ʻano o ka loko data, kona ʻokoʻa mai kahi hale kūʻai ʻikepili kuʻuna a me kāna mau mea nui:

  1. Hoʻouka ʻikepili (Ingestion) he mea nui o ka loko ikepili. Hiki i ka ʻikepili ke komo i ka waihona ʻikepili ma nā ʻano ʻelua - batch (hoʻouka ʻana i nā wā āpau) a me ke kahe ʻana (ka kahe ʻikepili).
  2. Waihona waihona (Storage) ka mea nui o ka Lake Data. Pono mākou i ka waihona e maʻalahi hiki ke hoʻonui ʻia, hilinaʻi loa, a haʻahaʻa ke kumu kūʻai. No ka laʻana, ma AWS ʻo S3.
  3. Catalog and Search (Catalog and Search) - i mea e pale aku ai mākou i ka Data Swamp (ʻo ia ka wā e hoʻolei mākou i nā ʻikepili āpau i hoʻokahi puʻu, a laila hiki ʻole ke hana pū me ia), pono mākou e hana i kahi papa metadata e hoʻokaʻawale i ka ʻikepili. i hiki i nā mea hoʻohana ke ʻimi maʻalahi i ka ʻikepili, a lākou e pono ai no ka nānā ʻana. Eia hou, hiki iā ʻoe ke hoʻohana i nā hoʻonā huli hou e like me ElasticSearch. Kōkua ka Huli i ka mea hoʻohana e ʻike i ka ʻikepili i koi ʻia ma o ka mea hoʻohana-aloha.
  4. Hoʻomākaukau (Kaʻina hana) - ʻo kēia ʻanuʻu ke kuleana no ka hana ʻana a me ka hoʻololi ʻana i ka ʻikepili. Hiki iā mākou ke hoʻololi i ka ʻikepili, hoʻololi i kona ʻano, hoʻomaʻemaʻe, a me nā mea hou aku.
  5. Ka maluhia (Security) - He mea nui e hoʻolilo i ka manawa ma ka hoʻolālā palekana o ka hopena. No ka laʻana, hoʻopili ʻikepili i ka wā o ka mālama ʻana, ka hoʻoili ʻana a me ka hoʻouka ʻana. He mea nui e hoʻohana i nā ʻano hōʻoia a me ka ʻae. ʻO ka hope, pono kahi mea hana loiloi.

Mai kahi hiʻohiʻona kūpono, hiki iā mākou ke ʻike i kahi loko data ma nā ʻano ʻekolu:

  1. E hōʻiliʻili a mālama i kekahi mea — Aia i loko o ka loko data nā ʻikepili a pau, nā ʻikepili i hoʻoponopono ʻole ʻia no kēlā me kēia manawa a me ka ʻikepili i hana ʻia/maʻemaʻe.
  2. Hoʻopaʻa hohonu — hiki i ka loko data ke ʻimi a hoʻopaʻa i ka ʻikepili.
  3. Hiki ke komo - Hāʻawi ka loko data i ke komo maʻalahi no nā ʻikepili like ʻole a me nā hiʻohiʻona like ʻole.

I kēia manawa hiki iā mākou ke kamaʻilio e pili ana i ka ʻokoʻa ma waena o kahi waihona data a me kahi loko data. E nīnau pinepine nā kānaka:

  • Pehea e pili ana i ka waihona ʻikepili?
  • Ke hoʻololi nei mākou i ka waihona ʻikepili me kahi loko data a i ʻole mākou e hoʻonui nei?
  • Hiki paha ke hana me ka ʻole o ka loko data?

I ka pōkole, ʻaʻohe pane maopopo. Aia nā mea a pau i ke kūlana kūikawā, nā mākau o ka hui a me ke kālā. No ka laʻana, ka neʻe ʻana i kahi waihona ʻikepili i Oracle i AWS a me ka hoʻokumu ʻana i kahi loko data e kahi hui Amazon - Woot - ʻO kā mākou moʻolelo loko ʻikepili: Pehea ʻo Woot.com i kūkulu ai i kahi loko ʻikepili serverless ma AWS.

Ma ka ʻaoʻao ʻē aʻe, ʻōlelo ka mea kūʻai aku ʻo Snowflake ʻaʻole pono ʻoe e noʻonoʻo e pili ana i kahi lake data, no ka mea, ʻo kā lākou kahua ʻikepili (a hiki i 2020 he hale waihona data) hiki iā ʻoe ke hoʻohui i kahi loko data a me kahi waihona data. ʻAʻole au i hana nui me Snowflake, a he huahana kū hoʻokahi nō ia e hiki ke hana i kēia. ʻO ke kumukūʻai o ka hoʻopuka he mea ʻē aʻe.

I ka hopena, ʻo koʻu manaʻo ponoʻī, pono mākou i kahi waihona ʻikepili ma ke ʻano he kumu nui o ka ʻikepili no kā mākou hōʻike ʻana, a ʻo nā mea kūpono ʻole e mālama mākou i loko o ka loko data. ʻO ka hana holoʻokoʻa o ka analytics ka hāʻawi ʻana i ka maʻalahi o ka ʻoihana e hoʻoholo ai. ʻO nā mea a pau e ʻōlelo ai, ʻoi aku ka maikaʻi o nā mea hoʻohana ʻoihana me kahi waihona ʻikepili ma mua o kahi loko data, no ka laʻana ma Amazon - aia ʻo Redshift (ka hale kūʻai ʻikepili analytical) a aia ʻo Redshift Spectrum/Athena (SQL interface no kahi lake data ma S3 e pili ana i ka. Hive/Presto). Hoʻohana like ia i nā hale waihona ʻikepili analytical hou.

E nānā kākou i kahi hoʻolālā hale waihona ikepili maʻamau:

Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?

He hoʻonā maʻamau kēia. Loaʻa iā mākou nā ʻōnaehana kumu, me ka hoʻohana ʻana i ka ETL/ELT e kope mākou i ka ʻikepili i loko o kahi hale kūʻai ʻikepili analytical a hoʻopili iā ia i kahi hopena Business Intelligence (ʻo Tableau kaʻu punahele, pehea kāu?).

Loaʻa i kēia hoʻonā nā hemahema penei:

  • Pono nā hana ETL/ELT i ka manawa a me nā kumuwaiwai.
  • Ma ke ʻano maʻamau, ʻaʻole maʻalahi ka hoʻomanaʻo no ka mālama ʻana i ka ʻikepili i loko o kahi waihona ʻikepili analytical (no ka laʻana, Redshift, BigQuery, Teradata), no ka mea pono mākou e kūʻai i kahi hui holoʻokoʻa.
  • Hiki i nā mea hoʻohana pāʻoihana ke komo i ka ʻikepili i hoʻomaʻemaʻe ʻia a i hōʻuluʻulu pinepine ʻia a ʻaʻole loaʻa i ka ʻikepili maka.

ʻOiaʻiʻo, pili ia i kāu hihia. Inā ʻaʻohe pilikia me kāu waihona ʻikepili, a laila ʻaʻole pono ʻoe i ka loko data. Akā ke kū mai nā pilikia me ka nele o ka wahi, ka mana, a i ʻole ke kumu kūʻai i ke kuleana nui, a laila hiki iā ʻoe ke noʻonoʻo i ke koho o kahi loko data. ʻO kēia ke kumu i kaulana loa ai ka loko data. Eia kekahi laʻana o kahi hoʻolālā loko data:
Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?
Ke hoʻohana nei i ka ʻikepili lake, hoʻouka mākou i ka ʻikepili maka i loko o kā mākou loko data (batch a i ʻole streaming), a laila hoʻoponopono mākou i ka ʻikepili e like me ka mea e pono ai. Hāʻawi ka loko data i nā mea hoʻohana ʻoihana e hana i kā lākou hoʻololi ʻikepili ponoʻī (ETL/ELT) a i ʻole ka nānā ʻana i ka ʻikepili i nā ʻōnaehana Business Intelligence (inā loaʻa ka mea hoʻokele pono).

ʻO ka pahuhopu o kēlā me kēia hoʻonā analytics e lawelawe i nā mea hoʻohana ʻoihana. No laila, pono mākou e hana mau e like me nā koi ʻoihana. (Ma Amazon kēia kekahi o nā loina - hana i hope).

Ke hana pū nei me kahi waihona ʻikepili a me kahi loko data, hiki iā mākou ke hoʻohālikelike i nā hopena ʻelua:

Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?

ʻO ka hopena nui e hiki ke huki ʻia, ʻaʻole hoʻokūkū ka waihona ʻikepili me ka loko data, akā hoʻokō ia. Akā, iā ʻoe ke hoʻoholo i ka mea kūpono no kāu hihia. He mea hoihoi mau ia e ho'āʻo iā ʻoe iho a huki i nā hopena kūpono.

Makemake au e haʻi aku iā ʻoe i kekahi o nā hihia i ka wā i hoʻomaka ai au e hoʻohana i ke ala moana data. He mea liʻiliʻi loa nā mea āpau, ua hoʻāʻo wau e hoʻohana i kahi mea hana ELT (ua loaʻa iā mākou ʻo Matillion ETL) a me Amazon Redshift, ua hana kaʻu hopena, akā ʻaʻole i kūpono i nā koi.

Pono wau e lawe i nā moʻolelo pūnaewele, hoʻololi a hōʻuluʻulu iā lākou e hāʻawi i ka ʻikepili no nā hihia 2:

  1. Ua makemake ka hui kūʻai aku e kālailai i ka hana bot no SEO
  2. Makemake ʻo IT e nānā i nā metric hana pūnaewele

Maʻalahi loa, maʻalahi loa nā lāʻau. Eia kekahi laʻana:

https 2018-07-02T22:23:00.186641Z app/my-loadbalancer/50dc6c495c0c9188 
192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 
"GET https://www.example.com:443/ HTTP/1.1" "curl/7.46.0" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 
arn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067
"Root=1-58337281-1d84f3d73c47ec4e58577259" "www.example.com" "arn:aws:acm:us-east-2:123456789012:certificate/12345678-1234-1234-1234-123456789012"
1 2018-07-02T22:22:48.364000Z "authenticate,forward" "-" "-"

He 1-4 megabytes ke kaumaha o kekahi waihona.

Akā hoʻokahi pilikia. Ua loaʻa iā mākou nā kāʻei kapu 7 a puni ka honua, a ua hana ʻia nā faila 7000 tausani i ka lā hoʻokahi. ʻAʻole ʻoi aku ka nui o kēia, ʻo 50 gigabytes wale nō. Akā liʻiliʻi ka nui o kā mākou hui Redshift (4 nodes). Hoʻokahi minuke ka hoʻouka ʻana i hoʻokahi faila ma ke ʻano kuʻuna. ʻO ia hoʻi, ʻaʻole i hoʻoponopono ʻia ka pilikia. A ʻo kēia ka hihia i koʻu hoʻoholo ʻana e hoʻohana i ka ʻaoʻao o ka loko data. Ua like ka hoʻonā ʻana penei:

Pono mākou i ka loko data? He aha ka hana me ka waihona ʻikepili?

He mea maʻalahi loa ia (makemake wau e ʻike i ka maʻalahi o ka hana ʻana i ke ao). Ua hoʻohana au:

  • AWS Elastic Map Reduce (Hadoop) no ka mana helu
  • ʻO AWS S3 ma ke ʻano he waihona me ka hiki ke hoʻopili i ka ʻikepili a kaupalena i ke komo
  • ʻO Spark ma ke ʻano he mana helu InMemory a me PySpark no ka loiloi a me ka hoʻololi ʻikepili
  • Parquet ma muli o ka Spark
  • ʻO AWS Glue Crawler ma ke ʻano he mea hōʻiliʻili metadata e pili ana i ka ʻikepili hou a me nā ʻāpana
  • ʻO Redshift Spectrum ma ke ʻano he kikowaena SQL i ka loko data no nā mea hoʻohana Redshift i kēia manawa

ʻO ka puʻupuʻu EMR+Spark liʻiliʻi loa i hoʻoponopono i ka waihona holoʻokoʻa o nā faila i 30 mau minuke. Aia kekahi mau hihia ʻē aʻe no AWS, ʻoi aku ka nui e pili ana iā Alexa, kahi i nui ai ka ʻikepili.

I kēia manawa ua aʻo au i kekahi o nā hemahema o ka loko data ʻo GDPR. ʻO ka pilikia ke noi ka mea kūʻai aku e hoʻopau iā ia a aia ka ʻikepili i loko o kekahi o nā faila, ʻaʻole hiki iā mākou ke hoʻohana i ka Data Manipulation Language a me ka hana DELETE e like me ka waihona.

Manaʻo wau ua wehewehe kēia ʻatikala i ka ʻokoʻa ma waena o kahi waihona data a me kahi loko data. Inā makemake ʻoe, hiki iaʻu ke unuhi hou aku i kaʻu mau ʻatikala a i ʻole nā ​​ʻatikala a nā loea aʻu i heluhelu ai. A e haʻi hoʻi e pili ana i nā hoʻonā aʻu e hana pū ai a me kā lākou hoʻolālā.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka