ʻO ka moʻolelo o ka holoi kino ʻana o 300 miliona mau moʻolelo ma MySQL

Hōʻike

Aloha. ʻO wau ʻo ningenMe, mea hoʻomohala pūnaewele.

E like me ka ʻōlelo a ke poʻo inoa, ʻo kaʻu moʻolelo ka moʻolelo o ka holoi kino ʻana i nā moʻolelo 300 miliona ma MySQL.

Ua lilo wau i hoihoi i kēia, no laila ua hoʻoholo wau e hana i kahi hoʻomanaʻo (instructions).

Home - Makaʻala

ʻO ke kikowaena pūʻulu aʻu e hoʻohana ai a mālama i kahi kaʻina hana maʻamau e hōʻiliʻili i ka ʻikepili o ka mahina hope mai MySQL i hoʻokahi manawa i ka lā.

ʻO ka maʻamau, hoʻopau ʻia kēia kaʻina hana ma kahi o 1 hola, akā i kēia manawa ʻaʻole ia i hoʻopau no 7 a 8 mau hola, a ʻaʻole i pau ka makaʻala i ka pop up...

Ke ʻimi nei i kumu

Ua ho'āʻo wau e hoʻomaka hou i ke kaʻina hana a nānā i nā lāʻau, akā ʻaʻole wau i ʻike i kekahi hewa.
Ua kuhikuhi pololei ʻia ka nīnau. Akā i koʻu noʻonoʻo ʻana i ka hewa, ʻike wau he nui ka nui o ka waihona.

hoge_table | 350'000'000 |

350 miliona mau mooolelo. Me he mea lā e hana pololei ana ka helu helu ʻana, lohi loa.

ʻO ka hōʻiliʻili ʻikepili i koi ʻia i kēlā me kēia mahina ma kahi o 12 mau moʻolelo. Me he mea lā ua lōʻihi ka manawa koho a ʻaʻole i hoʻokō ʻia ke kālepa no ka manawa lōʻihi.

DB

He papaʻaina ia e ulu ana ma kahi o 400 mau helu i kēlā me kēia lā. ʻO ka waihona i manaʻo ʻia e hōʻiliʻili i ka ʻikepili wale nō no ka mahina i hala, no laila, ua manaʻo ʻia e kū pono i kēia nui o ka ʻikepili, akā naʻe, ʻaʻole i hoʻokomo ʻia ka hana rotate.

ʻAʻole wau i kūkulu i kēia waihona. Ua lawe au iā ia mai kahi mea hoʻomohala ʻē aʻe, no laila ua like ia me ka ʻaiʻē ʻenehana.

Ua hiki mai kahi manawa i nui ai ka nui o ka ʻikepili i hoʻokomo ʻia i kēlā me kēia lā a hiki i kona palena. Ua manaʻo ʻia i ka wā e hana ai me ka nui o ka ʻikepili, pono e hoʻokaʻawale iā lākou, akā naʻe, ʻaʻole i hana ʻia kēia.

A laila hoʻomaka wau i ka hana.

Hoʻoponopono

ʻOi aku ka maikaʻi o ka hoʻemi ʻana i ka nui o ka waihona ʻikepili ponoʻī a hoʻemi i ka manawa no ka hoʻoponopono ʻana ma mua o ka hoʻololi ʻana i ka loiloi ponoʻī.

Pono e loli nui ke kūlana inā holoi ʻoe i 300 miliona mau moʻolelo, no laila ua hoʻoholo wau e hana pēlā... ʻAe, manaʻo wau e hana maoli kēia.

Hana 1

Ma hope o ka hoʻomākaukau ʻana i kahi waihona hilinaʻi, hoʻomaka wau e hoʻouna i nā noi.

「E hoʻouna ana i kahi noi」

DELETE FROM hoge_table WHERE create_time <= 'YYYY-MM-DD HH:MM:SS';

"…”

"…”

“Hmm... ʻAʻohe pane. He lōʻihi paha ke kaʻina hana?" - Manaʻo wau, akā inā wale nō, nānā au i ka grafana a ʻike wau e ulu wikiwiki ana ka hoʻouka disk.
"Pino," noʻonoʻo hou wau a hoʻōki koke i ka noi.

Hana 2

Ma hope o ka nānā ʻana i nā mea āpau, ʻike wau ua nui ka nui o ka ʻikepili e holoi i nā mea āpau i ka manawa hoʻokahi.

Ua hoʻoholo wau e kākau i kahi palapala e hiki ke holoi ma kahi o 1 mau moʻolelo a hoʻomaka.

「Hoʻokō wau i ka palapala」

"I kēia manawa e hana maoli kēia," manaʻo wau.

Hana 3

Ua hana ka lua o ka hana, akā ua lilo i mea paʻakikī loa.
No ka hana pono ʻana i nā mea āpau, me ka ʻole o nā aʻalolo pono ʻole, ʻelua pule paha. Akā naʻe, ʻaʻole i hoʻokō kēia hiʻohiʻona i nā koi lawelawe, no laila pono mākou e neʻe aku mai ia mea.

No laila, eia kaʻu mea i hoʻoholo ai e hana:

E kope i ka papa a hoʻololi i ka inoa

Mai ka ʻanuʻu mua, ʻike wau ʻo ka holoi ʻana i ka nui o ka ʻikepili e hana i kahi ukana nui like. No laila ua hoʻoholo wau e hana i kahi papaʻaina hou mai ka wā ʻōpala me ka hoʻohana ʻana i ka insert a hoʻoneʻe i ka ʻikepili aʻu e holoi ai i loko.

| hoge_table     | 350'000'000|
| tmp_hoge_table |  50'000'000|

Inā ʻoe e hana i ka pākaukau hou e like me ka nui o luna, pono e lilo ka wikiwiki o ka ʻikepili i 1/7 wikiwiki.

Ma hope o ka hana ʻana i ka papaʻaina a hoʻololi i ka inoa, hoʻomaka wau e hoʻohana iā ia ma ke ʻano he papa master. I kēia manawa inā hāʻule wau i ka papaʻaina me 300 miliona mau moʻolelo e pono nā mea āpau.
Ua ʻike au i ka ʻoki ʻana a i ʻole ka hāʻule ʻana e hana i ka liʻiliʻi ma mua o ka holoi ʻana a ua hoʻoholo wau e hoʻohana i kēia ʻano.

Hana

「E hoʻouna ana i kahi noi」

INSERT INTO tmp_hoge_table SELECT FROM hoge_table create_time > 'YYYY-MM-DD HH:MM:SS';

"…”
"…”
"Em…?"

Hana 4

Manaʻo wau e hana ka manaʻo mua, akā ma hope o ka hoʻouna ʻana i ka noi hoʻokomo, ua ʻike ʻia nā hewa he nui. ʻAʻole kala ʻia ʻo MySQL.

Ua luhi loa au a hoʻomaka wau e noʻonoʻo ʻaʻole makemake wau e hana hou i kēia.

Noho au a noʻonoʻo a hoʻomaopopo aʻe paha ua nui loa nā nīnau hoʻokomo no hoʻokahi manawa...
Ua ho'āʻo wau e hoʻouna i kahi noi hoʻokomo no ka nui o ka ʻikepili e hana ai ka waihona i ka lā 1. Ua hanaia!

Ma hope o kēlā, hoʻomau mākou i ka hoʻouna ʻana i nā noi no ka nui o ka ʻikepili. No ka mea pono mākou e wehe i hoʻokahi mahina o ka ʻikepili, hana hou mākou i kēia hana ma kahi o 35 mau manawa.

Ka inoa hou ʻana i kahi papaʻaina

Eia ka laki ma koʻu ʻaoʻao: hele mālie nā mea a pau.

Ua nalowale ka makaʻala

Ua piʻi aʻe ka wikiwiki o ka hoʻoili ʻana o ka hui.

Ma mua o kēia kaʻina hana ma kahi o hoʻokahi hola, i kēia manawa he 2 mau minuke.

Ma hope o koʻu maopopo ʻana ua hoʻoponopono ʻia nā pilikia āpau, ua hoʻokuʻu au i 300 miliona mau moʻolelo. Holoi au i ka papaʻaina a manaʻo wau i hānau hou ʻia.

Hōʻuluʻulu manaʻo

Ua ʻike au i ka nalowale ʻana o ka hoʻololi ʻana i ka hoʻoili ʻana i ka hui, a ʻo ia ka pilikia nui. Ke alakaʻi nei kēia ʻano hana hewa i ka hoʻopau manawa.

Ke noʻonoʻo nei ʻoe i ka ukana i ka wā o ka hoʻopiʻi ʻana i ka ʻikepili i ka wā e holoi ai i nā moʻolelo mai ka waihona? Mai hoʻonui i ka MySQL.

ʻO ka poʻe akamai i ka ʻikepili ʻaʻole e hālāwai me ia pilikia. No ke koena o ʻoukou, manaʻolana wau ua pono kēia ʻatikala.

Mahalo no ka heluhelu ʻana!

E hauʻoli nui mākou inā ʻoe e haʻi iā mākou inā makemake ʻoe i kēia ʻatikala, inā maopopo ka unuhi ʻana, pono paha ia iā ʻoe?

Source: www.habr.com

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