Pehea e wehewehe ai i kou kupunawahine i ka ʻokoʻa ma waena o SQL a me NoSQL

Pehea e wehewehe ai i kou kupunawahine i ka ʻokoʻa ma waena o SQL a me NoSQL

ʻO kekahi o nā hoʻoholo koʻikoʻi a ka mea hoʻomohala e hana ai ʻo ia ka waihona e hoʻohana ai. No nā makahiki he nui, ua kaupalena ʻia nā koho i nā koho waihona pili pili i kākoʻo i ka Structured Query Language (SQL). ʻO kēia mau mea me MS SQL Server, Oracle, MySQL, PostgreSQL, DB2 a me nā mea hou aku.

I nā makahiki he 15 i hala iho nei, ua komo nā ʻikepili hou he nui i ka mākeke ma lalo o ke ala No-SQL. Hoʻopili kēia i nā hale kūʻai waiwai nui e like me Redis a me Amazon DynamoDB, nā waihona kolamu ākea e like me Cassandra a me HBase, nā hale kūʻai palapala e like me MongoDB a me Couchbase, a me nā ʻikepili kiʻi a me nā mīkini ʻimi e like me Elasticsearch a me Solr.

Ma kēia ʻatikala, e hoʻāʻo mākou e hoʻomaopopo i ka SQL a me NoSQL me ka ʻole e komo i kā lākou hana.
Eia kekahi, e leʻaleʻa mākou ma ke ala.

E wehewehe ana iā SQL iā Granny

E ke kupunawahine, e noʻonoʻo ʻoe ʻaʻole wau wale nō kāu moʻopuna. Akā, ua aloha ʻo Māmā a me Pāpā i kekahi i kekahi e like me nā lapiti, he 100 kā lāua mau keiki, a laila hoʻohana hou lāua i 50.

No laila, aloha ʻoe iā mākou āpau a ʻaʻole makemake e poina i ko mākou mau inoa, lā hānau, ʻono hau kalima punahele, ka nui o nā lole, nā leʻaleʻa, nā inoa kāne, nā inoa keiki a me nā mea nui ʻē aʻe. Eia naʻe, e nānā kākou. He 85 kou mau makahiki a ʻaʻole hiki iā ʻoe ke hoʻomanaʻo.

ʻO ka pōmaikaʻi, ʻo wau ke akamai o kāu moʻopuna, hiki iaʻu ke kōkua. No laila ke hele mai nei au i kou hale, lawe au i kekahi mau pepa a noi au iā ʻoe e kālua i nā kuki ma mua o ka hoʻomaka ʻana.

Ma kahi pepa, hana mākou i kahi papa inoa i kapa ʻia "moopuna". ʻO kēlā me kēia moopuna i hoʻopaʻa ʻia me kekahi mau ʻike koʻikoʻi e pili ana iā ia, me kahi helu kūʻokoʻa e hōʻike i kēia manawa pehea moopuna ʻo ia. Eia kekahi, no ka hoʻonohonoho ʻana, kākau mākou i nā ʻano inoa ma ka piko o ka papa inoa i ʻike mau mākou i ka ʻike o ka papa inoa.

id
inoa
lā hānau
kipa hope
nui lole
ice cream punahele
laweʻia

1
Jimmy
09-22-1992
09-01-2019
L
mint kokoleka
wahahee

2
Jessica
07-21-1992
02-22-2018
M
alanui pōhaku
oiaio

… hoʻomau mākou i ka papa inoa!

Papa inoa o na moopuna

Ma hope o kekahi manawa, hoʻomaopopo ʻoe i nā mea āpau a kokoke mākou e pau i ka papa inoa! Eia naʻe, huli mai ʻoe iaʻu a ʻōlelo mai: "Ua poina mākou e hoʻohui i wahi no nā kāne, nā leʻaleʻa, nā moʻopuna!" Akā ʻaʻole, ʻaʻole mākou i poina! Hoʻopili hou kēia a makemake i kahi pepa hou.

No laila, huki wau i kahi pepa ʻē aʻe a ma luna o laila mākou e kapa ai i ka papa inoa Nā hoa kāne. Hoʻohui hou mākou i nā ʻano mea nui iā mākou i luna o ka papa inoa a hoʻomaka e hoʻohui i nā lālani.

id
moopuna_id
inoa
lā hānau

1
2
John
06-01-1988

2
9
Fernanda
03-05-1985

… mau hoa kāne hou aku!

Papa inoa o na kane

I kēia pae, wehewehe au i koʻu kupuna wahine inā makemake ʻo ia e ʻike i ka mea i male iā wai, a laila pono ʻo ia e hoʻohālikelike. id ma ka papa inoa moopuna с moopuna_id ma ka papa inoa o na kane.

Ma hope o ʻelua mau kuki, pono wau e hiamoe. "Hiki iā ʻoe ke hoʻomau, e ke kupuna wahine?" E haʻalele ana au e hiamoe.

E hoʻi ana au i kekahi mau hola. Maikaʻi ʻoe, e ke kupuna wahine! He nani nā mea a pau koe wale nō ka papa inoa leʻaleʻa. Aia ma kahi o 1000 mau leʻaleʻa ma ka papa inoa. ʻO ka hapa nui o lākou he hana hou; Ua aha?

moopuna_id
Hobby

1
ka paikikalaʻana

4
ka paikikalaʻana

3
ka paikikalaʻana

7
holo

11
ka paikikalaʻana

… hoʻomau mākou!

E kala mai, poina loa au i ka olelo! Ke hoʻohana nei i hoʻokahi papa inoa, hiki iā ʻoe ke hahai wale leʻaleʻa. A laila ma kahi papa inoa ʻē aʻe pono mākou e ʻimi moopunaka poe e hana nei leʻaleʻa. E kāhea mākou iā ia "Papa inoa maʻamau". I ka ʻike ʻana ʻaʻole ʻoe makemake iā ia, hopohopo wau a hoʻi i ke ʻano papa inoa.

id
Hobby

1
ka paikikalaʻana

2
holo

3
auʻau

… mau leʻaleʻa hou aku!

Papa inoa o na lealea

Ke loaʻa iā mākou kā mākou papa inoa leʻaleʻa, hana mākou i kā mākou papa inoa ʻelua a kapa iā ia "Nā leʻaleʻa a nā moʻopuna".

moopuna_id
hobby_id

4
1

3
1

7
2

… hou aku!

Papa inoa o na moopuna lealea

Ma hope o kēia mau hana a pau, loaʻa iā Grandma kahi ʻōnaehana hoʻomanaʻo maikaʻi e mālama i kāna ʻohana nui kupaianaha. A laila - e hoʻomau lōʻihi iaʻu - nīnau ʻo ia i ka nīnau kilokilo: "Ma hea ʻoe i aʻo ai e hana i kēia mau mea āpau?"

ʻIkepili pili

ʻO kahi waihona pili pili he pūʻulu o nā papa i wehewehe ʻia (i kā mākou laʻana, he mau pepa kēia) kahi e hiki ai iā ʻoe ke komo. ʻikepili a i ʻole e hōʻiliʻili iā lākou ma nā ʻano like ʻole me ka ʻole e hoʻonohonoho hou i nā papa Waihona waihona. Nui nā ʻano ʻikepili pili pili, akā naʻe, ʻaʻole kahi papa inoa ma kahi ʻāpana pepa.

ʻO ka hōʻailona o nā ʻikepili pili kaulana loa ʻo ia ka ʻōlelo nīnau SQL (Structured Query Language). Mahalo iā ia, inā hoʻololi ʻo Grandma i kāna ʻōnaehana hoʻomanaʻo i kahi kamepiula, hiki iā ia ke loaʻa koke nā pane i nā nīnau e like me: "ʻO wai ka mea i kipa ʻole iaʻu i ka makahiki i hala, ua male ʻo ia a ʻaʻohe ona leʻaleʻa?"

ʻO kekahi o nā ʻōnaehana hoʻokele database SQL kaulana loa ʻo ka open source MySQL. Hoʻokomo mua ʻia ʻo ia ma ke ʻano he ʻōnaehana hoʻokele waiwai pili (RDBMS) no nā polokalamu polokalamu pūnaewele.

ʻO kekahi mau hiʻohiʻona nui o MySQL:

  • Ua ʻike maikaʻi ʻia, hoʻohana nui ʻia a hoʻāʻo nui ʻia.
  • Nui nā mea hoʻomohala akamai i loaʻa ka ʻike me SQL a me nā ʻikepili pili.
  • Mālama ʻia ka ʻikepili i loko o nā papa like ʻole, kahi e maʻalahi ai ka hoʻokumu ʻana i nā pilina me ka hoʻohana ʻana i nā kī mua a me nā kī haole (nā mea ʻike).
  • He maʻalahi ka hoʻohana ʻana a me ka maikaʻi, kūpono ia no nā ʻoihana nui a liʻiliʻi.
  • Aia ke code kumu ma lalo o nā ʻōlelo o ka GNU General Public License.

I kēia manawa poina Pau.

Ka wehewehe ʻana iā NoSQL i ke kupuna wahine

E kupuna wahine, he ʻohana nui ko mākou. He 150 kāna mau moʻopuna! Ua mare ka nui o lakou, ua loaa na keiki, ua makemake i kekahi mea, a pela aku. I kou mau makahiki, hiki ʻole ke hoʻomanaʻo i nā mea a pau e pili ana iā mākou a pau. ʻO ka mea āu e makemake ai he ʻōnaehana hoʻomanaʻo!

ʻO ka pōmaikaʻi, ʻo wau ole makemake ʻoe e poina i koʻu lā hānau a me ka ʻono punahele o ka hauʻulu, hiki iaʻu ke kōkua. No laila, holo wau i ka hale kūʻai kokoke loa, lawe i kahi puke a hoʻi i kou hale.

ʻO ka hana mua aʻu e hana ai, ʻo ia ke kākau ʻana i nā "Moopuna" me nā leka nui wiwo ʻole ma ka uhi o kaʻu puke. A laila, huli au i ka ʻaoʻao mua a hoʻomaka e kākau i nā mea a pau āu e hoʻomanaʻo ai e pili ana iaʻu. Ma hope o kekahi mau minuke, ua like ka ʻaoʻao me kēia.

{ 
  "_id":"dkdigiye82gd87gd99dg87gd",
  "name":"Cody",
  "birthday":"09-12-2006",
  "last_visit":"09-02-2019",
  "clothing_size":"XL",
  "favorite_ice_cream":"Fudge caramel",
  "adopted":false,
  "hobbies":[ 
     "video games",
     "computers",
     "cooking"
  ],
  "spouse":null,
  "kids":[ 

  ],
  "favorite_picture":"file://scrapbook-103/christmas-2010.jpg",
  "misc_notes":"Prefers ice-cream cake on birthday instead of chocolate cake!"
}

Я: “Me he mea lā ua mākaukau nā mea a pau!”
Kupunawahine: "Alia, pehea ke koena o na moopuna?"
Я: "Ae pololei. A laila e hoʻokaʻawale i hoʻokahi ʻaoʻao no kēlā me kēia."
Kupunawahine: "Pono au e kākau i nā ʻike like a pau no kēlā me kēia kanaka, e like me kaʻu i hana ai iā ʻoe?"
Я: "ʻAʻole, inā makemake ʻoe. E hōʻike mai iaʻu."
Hopu au i ka peni a koʻu kupunawahine, hoʻololi au i ka ʻaoʻao a kākau koke i ka ʻike e pili ana i koʻu hoahānau punahele.

{ 
  "_id":"dh97dhs9b39397ss001",
  "name":"Tanner",
  "birthday":"09-12-2008",
  "clothing_size":"S",
  "friend_count":0,
  "favorite_picture":null,
  "remember":"Born on same day as Cody but not as important"
}

I nā manawa a pau e hoʻomanaʻo ai ke kupuna wahine i kekahi mea e pili ana i kāna moʻopuna, pono wale ʻo ia e hoʻokele i ka ʻaoʻao kūpono o kāna puke moʻopuna. E mālama ʻia nā ʻike āpau e pili ana iā lākou ma ko lākou ʻaoʻao, hiki iā ia ke hoʻololi a hoʻololi koke.

Ke pau nā mea a pau, nīnau ʻo ia i ka nīnau kilokilo: "Ma hea ʻoe i aʻo ai e hana i kēia mau mea āpau?"

NoSQL waihona

Nui nā mea NoSQL waihona ("ʻaʻole wale SQL"). Ma kā mākou mau hiʻohiʻona, ua hōʻike mākou waihona palapala. Hoʻohālikelike nā ʻikepili NoSQL i nā ʻikepili i nā ala e kāpae ʻia ai nā pilina papaʻaina i hoʻohana ʻia i nā ʻikepili pili. Ua kaulana kēia mau ʻikepili i nā makahiki 2000 mua me nā hui e pono ai ka hui ʻana o ka ʻikepili ma muli o kā lākou mau koi scaling (e like me Facebook). I loko o ia mau noi, ʻoi aku ka nui o ka paʻa ʻana o ka ʻikepili ma mua o ka hana a me ka scalability.

I ka hoʻomaka, ua hoʻohana pinepine ʻia nā ʻikepili NoSQL no nā hana hoʻokele data niche. ʻO ke kumu, i ka hiki ʻana mai i nā noi pūnaewele a me ke ao, ua hoʻoponopono ʻia nā ʻikepili NoSQL a hāʻawi i nā ʻikepili nui. Ua makemake pū nā mea ʻenekinia NoSQL i ka schema data maʻalahi (a i ʻole ka nele) i hiki ke loli wikiwiki i nā noi i hoʻonui ʻia.

Nā hiʻohiʻona nui o NoSQL:

  • ʻAno maʻalahi loa e mālama i ka ʻikepili
  • Ka hoʻopololei ʻana i nā pūʻulu
  • Hiki ke kaʻina no kēlā me kēia hoʻomau/palaha
  • Nā palapala i ʻike ʻia me ka hoʻohana ʻana i nā kī kū hoʻokahi

Hoʻohālikelike kikoʻī

Pono ʻo MySQL i kahi schema i wehewehe ʻia a hoʻonohonoho ʻia.
NoSQL hiki iā ʻoe ke mālama i nā ʻikepili i loko o kahi "palapala".

He kaiāulu nui ko MySQL.
He kaiāulu liʻiliʻi a ulu wikiwiki ʻo NoSQL.

He mea maʻalahi ka NoSQL.
Pono ʻo MySQL i ka hoʻokele.

Hoʻohana ʻo MySQL iā SQL, i hoʻohana ʻia i nā ʻano ʻikepili he nui.
ʻO NoSQL kahi hoʻolālā e pili ana i ka waihona me nā hoʻokō kaulana.

Hoʻohana ʻo MySQL i kahi ʻōlelo nīnau maʻamau (SQL).
ʻAʻole hoʻohana ʻo NoSQL i kahi ʻōlelo nīnau maʻamau.

Loaʻa i ka MySQL nā mea hana hōʻike maikaʻi loa.
Loaʻa iā NoSQL nā mea hana hōʻike paʻakikī e hoʻohālikelike.

Hiki i ka MySQL ke hōʻike i nā pilikia hana no ka ʻikepili nui.
Hāʻawi ʻo NoSQL i ka hana maikaʻi loa ma ka ʻikepili nui.

Nā manaʻo 8base

I ka hui 8 kumukahi aʻu e hana ai, hāʻawi mākou i kahi papa hana no kēlā me kēia pāhana me kahi waihona pili pili Aurora MySQL i mālama ʻia ma AWS. ʻOiai he koho kūpono ʻo NoSQL inā koi kāu noi i ka hana kiʻekiʻe a me ka scalability, ke manaʻoʻiʻo nei mākou he mea nui ka paʻa ʻikepili ikaika i hāʻawi ʻia e kahi DBMS i ke kūkulu ʻana i nā noi SaaS a me nā polokalamu ʻoihana ʻē aʻe.

No nā mea hoʻomaka a me nā mea hoʻomohala e kūkulu ana i nā noi ʻoihana e koi ana i ka hōʻike ʻana, ka pono transactional, a me nā hiʻohiʻona ʻikepili i wehewehe maikaʻi ʻia, ʻo ka hoʻokomo ʻana i nā ʻikepili pili, i ko mākou manaʻo, ke koho kūpono.

E aʻo hou e pili ana i ka hoʻomohala ʻana me Aurora, Serverless a me GraphQL ma 8base.com maanei.

Source: www.habr.com

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