Hacker News

MySQL muli cascade kī faifai pea taa'i 'a e tohi 'o e binary .

MySQL muli cascade kī faifai pea taa'i 'a e tohi 'o e binary . 'Oku 'omi 'e he 'analaiso kakato ko 'eni 'o e mysql 'a e sivi fakaikiiki 'o hono ngaahi konga tefito mo e ngaahi nunu'a 'oku lahi ange. Ngaahi Feitu'u Tefito 'o e Tokanga ʻOku fakatefito ʻa e fealēleaʻakí ʻi he: Tefito mech...

14 min read Via readyset.io

Mewayz Team

Editorial Team

Hacker News

'Oku 'asi mai 'a e ngaahi ngaue 'a e cascade 'o e ngaahi kī muli 'o e MySQL 'i he taimi ni 'i he tohi fakamatala 'o e binary, 'o faka'ilonga'i ha liliu kuo fuoloa hono tatali 'oku ne uesia fakahangatonu 'a e fakafoki, 'atita, mo e fakafoki 'o e fakamatala ki he ngaahi polokalama 'oku fakalele 'e he database. Ko e liliu 'o e 'ulungaanga ko 'eni — 'oku fakafe'iloaki fakalakalaka 'i he ngaahi liliu 'o e MySQL — 'oku ne tapuni ha ava mahu'inga na'e fakatupu kimu'a 'a e ngaahi fakamatala fakalongolongo 'oku 'ikai ke fe'unga 'i he ngaahi 'atakai 'oku toe fakafoki.

Ko e hā ʻa e ngaahi ngāue ʻa e Cascade Key ʻi Muli pea ko e hā naʻa nau nofo ai ʻi tuʻa mei he Binary Log?

Ko e ngaahi fakangatangata 'o e kī muli 'oku ne fakamālohi'i 'a e angatonu fakafekau'aki 'i he vaha'a 'o e ngaahi tepile. 'I he taimi 'oku ke faka'uhinga'i ai 'a e 'I HE TAMATE'I 'o e CASCADE pe 'I HE FAKAFO'OU 'o e CASCADE, 'Oku 'otometiki hono fakalahi 'e he MySQL 'a e ngaahi liliu mei ha tepile matu'a ki he ngaahi laine 'o e fanau 'oku fekau'aki. 'I he ngaahi ta'u, na'e ngaue 'a e ngaahi liliu cascaded ko 'eni ko e ngaahi nunu'a 'oku 'ikai ke 'asi — na'e lekooti 'a e fakamatala triggering, ka na'e 'ikai ke lekooti 'a e ngaahi laine 'i lalo 'oku uesia 'e he cascade ko e ngaahi me'a tau'ataina 'i he tohi 'o e binary.

Na'e 'ikai ko ha tokanga'i 'eni. Na'e 'uluaki fakakaukau 'a e timi MySQL ko e replicas, vahevahe 'a e schema tatau mo e ngaahi faka'uhinga 'o e ngaahi kī muli, 'e toe fakatupu 'e he cascades 'otometiki 'i he taimi 'oku replayed ai 'a e fakamatala tefito. Na'e pukepuke 'e he logic — kae 'oua kuo 'ikai. Schema drift, konga 'o e ngaahi filita fakafoki, configurations kehekehe 'o e misini tanaki'anga koloa, mo e ngaahi tu'unga 'o e fakaakeake 'o e poini-'i he taimi na'e fakahaa'i kotoa 'a e fragility 'o e fakakaukau ko 'eni. Ko ha cascade 'e taha 'oku mole 'e lava ke ne fakatupu 'a e ngaahi replicas diverged 'oku ngali mo'ui lelei kae 'oua kuo fakafoki mai 'e he ngaahi fehu'i 'o e ngaohi-fakatu'utamaki 'a e ngaahi ola hala.

'Oku anga fefe 'a e ngaue mo'oni 'a e 'ulungaanga fo'ou 'o e Cascade Logging?

'I he 'ulungaanga fakafo'ou, 'Oku tohi 'e he MySQL 'a e ngaahi laine 'oku uesia 'e he ngaahi ngaue 'o e cascade ko e ngaahi me'a 'oku hoko 'i he laine mahino 'i he tohi fakamatala 'o e binary, 'i he hili pe 'a e fakamatala DML triggering. Kapau te ke tamate'i ha lekooti 'o e matu'a pea 'oku cascaded 'a e lekooti 'e tolu 'o e tamasi'i, 'oku 'asi mai 'a e ngaahi liliu kotoa 'o e laine 'e fa he taimi ni ko e ngaahi hū 'o e tohi 'oku kehekehe, 'oku lava ke 'atita'i.

'Oku mahu'inga heni 'a e fotunga 'o e logging. Ko e laine-fakava'e 'i he binary logging (RBL) ko e fotunga ia 'oku ne 'ai ke malava 'eni 'aki 'a e faitotonu kakato. 'Oku 'ikai lava 'e he logging 'oku makatu'unga 'i he fakamatala 'o falala'anga ke puke 'a e ngaahi ola 'o e cascade malohi koe'uhi 'oku fakafalala 'a e ola 'i he tu'unga 'o e fakamatala 'i he taimi 'o e fakahoko, 'ikai ko e tohi SQL 'iate ia pe. 'Oku faka'aonga'i 'e he logging 'o e founga fefiofi 'a e fotunga 'o e laine 'i he ngaahi tu'unga ko 'eni.

Key Insight: Ko hono faka'ata 'o e laine-fakava'e 'i he binary logging 'oku 'ikai ko ha manako pe 'o e replication — ko e taimi ni ko ha fie ma'u ia ki hono puke 'o e hala 'atita kakato, fakamo'oni'i 'o e liliu kotoa pe 'o e fakamatala 'i he ngaahi sisitemi 'oku nau faka'aonga'i 'a e ngaahi fakangatangata 'o e ngaahi tefito muli. Ka 'ikai ia, 'oku kei 'ikai ke 'asi 'a e ngaahi ola 'o e cascade 'i ha konga ki ho'o tooling.

'Oku totonu ke fakamo'oni'i 'e he kau pule 'o e ngaahi fakamatala 'enau binlog_format fokotu'utu'u pea vakai'i 'enau ngaahi fakakaukau 'o e topology 'o e fakafoki kapau na'a nau fakafalala fakahisitolia ki hono fakahoko 'o e cascade 'i he tafa'aki fakafoki ki he ngaahi fakapapau'i 'o e tu'uma'u.

Ko e hā e ngaahi palopalema ʻo e māmani moʻoní ʻoku fakaleleiʻi ʻe he meʻá ni ki he ngaahi Timi Tohi Kolé?

'Oku a'u 'a e ngaahi nunu'a 'o fakalaka atu 'i he totonu 'o e fakafoki fakateolosia. Ko e ngaahi timi 'oku nau fakalele 'a e ngaahi tu'unga pisinisi faingata'a mo e ngaahi sipinga 'o e fakamatala fekau'aki — ngaahi koloa SaaS multi-tenant, ngaahi misini e-commerce, ngaahi sisitemi lekooti 'o e tokanga'i 'o e mo'ui — kuo nau fetaulaki mo e ngaahi founga 'o e ta'elavame'a sima 'oku fakafepaki'i 'e he liliu ko 'eni:

  • Totonu 'o e fakaakeake 'o e poini-'i he taimi: Ko hono fakafoki mai 'o ha fakamatala ki ha momeniti kimu'a pea toki tamate'i lahi 'oku ne puke he taimi ni 'a e ngaahi tamate'i kotoa pe 'o e tamasi'i cascaded, 'ikai ko e fehu'i fakatupu pe, 'o ta'ofi 'a e ngaahi laine phantom mei he toe 'asi mai hili hono fakaakeake.
  • Liliu 'a e ngaahi paipa 'o e pukepuke 'o e fakamatala (CDC): Ko e ngaahi me'angaue hange ko e Debezium mo e Maxwell 'oku nau tafe 'a e ngaahi me'a 'oku hoko 'i he 'akau 'o e binary ki he Kafka pe ngaahi sink kehe 'oku nau ma'u he taimi ni 'a e 'ata kakato 'o e mutation 'o e fakamatala kotoa pe, 'o lava ai 'o fakahoko 'a e ngaahi fakafuofua totonu ki lalo.
  • 'Atita mo e tauhi 'o e ngaahi lao: 'Oku lava 'e he ngaahi ngaue'anga 'oku fakatonutonu 'oku nau fie ma'u 'a e laine 'o e fakamatala kakato 'o fakatotolo'i pau 'a e ngaahi lekooti 'o e fanau na'e to'o ko e ola 'o e ngaue 'a e matu'a, 'o fakafiemalie'i 'a e ngaahi fie ma'u 'atita 'o 'ikai ha ngaahi fakalelei'anga 'o e application-layer.
  • Fakatotolo'i 'o e kehekehe 'o e replica: Ko e ngaahi me'angaue siofi 'oku fakafehoanaki 'a e ngaahi lau 'o e laine 'o e replica pe checksums ki he 'uluaki 'oku 'i ai 'a e ngaahi fakamatala totonu 'o e 'akau ke 'ilo'i mo fakatotolo'i vave ha kehekehe.
  • Ko e ngaahi ma'u'anga tokoni lahi mo e fakafoki takai: Ko e ngaahi topologies faingata'a na'e fie ma'u kimu'a ke fakata'e'aonga'i 'a e ngaahi kī muli 'i he ngaahi fakafoki ke faka'ehi'ehi mei he ngaahi cascades 'oku faka'aonga'i 'e ua 'oku nau ma'u ha fokotu'utu'u lahi ange, 'oku lava ke tomu'a tala 'a e me'a 'oku hoko ke fakakaukau ki ai.

'Oku Totonu ke Fakatonutonu Fēfē 'e he Kau Fa'u 'o e Database 'enau Ngaahi Founga Fakafoki mo e Fakafoki?

Ko hono 'ave 'o e cascade-'ilo'i 'a e binary logging 'oku 'ikai ko ha fakalelei'i 'o e passive — 'oku fie ma'u ke vakai'i fakakaukau'i 'a e ngaahi langa fakalakalaka 'oku lolotonga 'i ai. 'Oku fakalahi 'e he ngaahi me'a 'oku hoko 'i he 'akau 'oku tanaki atu 'e he cascades 'a e voliume 'o e 'akau 'o e binary, taimi 'e ni'ihi 'oku mahu'inga, 'o fakatatau ki he founga 'oku faka'aonga'i ai 'e ho'o schema 'a e ngaahi fakangatangata 'o e cascading. Kuo pau ke fakamatala'i 'e he kau 'aati 'a e fakalahi 'o e tisiki I/O, bandwidth 'o e fakafoki 'o e netiueka, mo e tu'o lahi 'o e vilo 'o e 'akau.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

'I he ngaahi fakatata, 'Oku totonu ke 'atita'i 'e he ngaahi timi pe 'oku faka'ata pe 'ikai faka'ata 'a e ngaahi fakangatangata 'o e ngaahi kī muli. Ko ha founga fakahisitolia angamaheni ko hono fakata'e'aonga'i 'o e ngaahi kī muli 'i he ngaahi fakatata (foreign_key_checks=OFF) ke tuku 'a e fakahoko 'o e to'oto'o 'o e tefito'i. 'I he cascades 'i he taimi ni 'oku faka'ilonga'i mahino, 'e lava ke iku 'a hono faka'aonga'i 'o e ngaahi me'a ko ia 'oku faka'ilonga'i 'a e cascade 'i ha replica 'oku ne toe fakahoko 'ene ngaahi fakangatangata 'o e kī muli 'a'ana 'e lava ke iku ia ki he ngaahi tamate'i 'o e duplicate pe ngaahi fepakipaki. Ko e fakafe'unga'i 'o e configuration 'i he tafa'aki 'o e seini 'o e fakafoki 'oku mahu'inga ange ia he taimi ni 'i ha toe taimi.

Ki he ngaahi timi 'oku nau faka'aonga'i 'a e ngaahi me'angaue fakalukufua fakalokiloki hange ko e mysqldump pe ngaahi fakalelei'anga fakalukufua fakatu'asino hange ko e Percona XtraBackup, vakai'i 'a e ngaahi founga fakafoki 'o fakafepaki'i 'a e fokotu'utu'u 'o e 'akau fo'ou 'oku fakapapau'i 'oku kei tonu 'a e runbooks fakaakeake. Ko hono sivi'i 'o e ngaahi tu'unga 'o e fakaakeake 'i he ngaahi 'atakai staging ki he ngaahi voliume fakamatala 'o e ngaohi-fakafofonga 'oku totonu ke hoko ko ha ngaue fakakuata angamaheni.

'Oku anga fefe hono fakafehoanaki 'eni ki he founga 'oku tokanga'i ai 'e he PostgreSQL mo e ngaahi fakamatala kehe 'a e Cascade Logging?

Kuo fuoloa hono faka'ilonga'i 'e he PostgreSQL 'a e ngaahi ola 'o e cascade 'o e ngaahi kī muli ko e ngaahi lekooti 'o e kalasi 'uluaki WAL (Tohi-Ki mu'a Log). 'Oku tohi 'a e laine kotoa pe 'oku pa ki ai ha trigger cascade ki he WAL fakafo'ituitui, 'o 'ai 'a e PostgreSQL 'a e fakafoki mo e decoding fakalokiloki 'oku 'i ai 'a e cascade-'ilo'i fakanatula. Ko e filosofia tisaini ko 'eni — log 'a e ngaahi ola kotoa pe, 'ikai ko e ngaahi tupu'anga pe — ko e me'a ia 'oku ofi ange 'a e MySQL 'o e laine-fakava'e 'i he binary log he taimi ni.

Microsoft SQL Server 'oku ne puke tatau 'a e ngaahi liliu cascaded 'o fakafou 'i he'ene tohi fefakatau'aki 'i he tu'unga 'o e laine, 'o 'ai ke hangatonu 'a e ngaahi fakalelei'anga 'o e CDC 'i he SQL Server na'a mo e ngaahi fokotu'utu'u fekau'aki faingata'a. 'Oku 'omi ia 'e he fakafo'ou 'o e MySQL ki he ofi ange 'a e parity faka'ata mo e ngaahi sisitemi ko 'eni, 'o fakasi'isi'i ha fakafepaki mahu'inga na'e 'ohake 'e he kau 'enisinia 'o e database 'i he taimi 'oku nau sivi'i ai 'a e MySQL ki he ngaahi ngaue 'o e fehokotaki'anga ma'olunga-angatonu.

Ki he ngaahi kautaha 'oku nau fakalele 'a e ngaahi 'atakai 'o e ngaahi fakamatala lahi pe sivi'i 'a e ngaahi hala hiki, 'oku mahu'inga 'a e convergence ko 'eni. 'Oku ne fakasi'isi'i 'a e 'ulungaanga 'o e funga 'o e 'elia 'i he vaha'a 'o e ngaahi tu'unga 'oku pau ke mahino ki he ngaahi timi ngaue mo e fakamatala ki he tooling mo e ngaahi founga ngaue.

Ngaahi Fehuʻi ʻoku Faʻa ʻEke

'Oku uesia nai 'e he liliu ko 'eni 'a e MySQL 5.7 pe ko e MySQL 8.x pe?

Ko e ngaahi fakalelei'i 'o e 'ulungaanga ki he cascade logging 'oku tefito 'i he MySQL 8.0 mo e ngaahi tukuange kimui ange, mo e ngaahi fakalelei'i pau 'oku ha'i ki he ngaahi tukuange poini fakafo'ituitui 'i he 8.0.x hokohoko. Na'e a'u 'a e MySQL 5.7 ki he ngata'anga 'o e mo'ui 'i 'Okatopa 2023, pea 'oku totonu ke tokanga'i 'e he ngaahi timi 'oku nau kei lele 'a e 'ulungaanga 'o e cascade logging 'i ai 'o hange ko e ta'e falala'anga ki he ngaahi taumu'a 'o e tu'uma'u 'o e replication. Ko hono fakalelei'i ki he MySQL 8.0 pe ko e tukuange 'o e MySQL 8.4 LTS ko e hala ia 'oku fokotu'u atu ke ma'u ai 'a e 'ulungaanga 'o e 'akau 'o e binary lolotonga.

'E faka'ata 'e he cascade logging kakato 'a e fakasi'isi'i lahi 'a e fakahoko 'o e tohi?

Ko e 'olunga 'oku mo'oni ka 'oku angamaheni 'aki 'a e faka'apa'apa ki he schemas mo e ngaahi fehokotaki'anga mahu'inga muli 'oku indexed lelei. 'Oku tohi 'a e tohi 'o e tanaki atu 'o e correlate hangatonu mo e lahi 'o e ngaahi laine 'o e fanau 'oku uesia 'e he cascade takitaha. 'E lava ke sio 'a e ngaahi schemas mo e ngaahi seini cascade loloto nested pe ngaahi tepile 'o e tamasi'i lahi 'aupito 'a e uesia 'o e throughput 'oku lava ke fua. Profiling mo e ngaahi voliume fakamatala mo'oni 'i ha 'atakai staging kimu'a pea toki fakahoko ki he ngaohi ko e founga totonu ia ke fakafuofua'i 'a e fakamole ki ho'o kavenga ngaue pau.

'E lava ke u faka'aonga'i 'a e fakamatala 'o e cascade 'o e 'akau 'o e binary ke fafanga'i 'a e ngaahi paipa 'analaiso taimi mo'oni?

'Io, pea ko e taha 'eni 'o e ngaahi keisi faka'aonga'i fakalotolahi taha. 'I he ngaahi me'a 'oku hoko 'i he cascade kakato 'i he tohi 'o e binary, 'e lava ke langa 'e he ngaahi me'angaue 'a e CDC 'a e ngaahi vakai materialized totonu, ngaahi fakahokohoko 'o e kumi, mo e ngaahi vaitafe 'o e ngaahi me'a 'oku hoko 'o 'ikai fie ma'u 'a e ngaahi matau 'o e tu'unga 'o e tohi kole ke pulusi to'oto'o 'a e ngaahi ola 'o e cascade. Ko e ngaahi timi 'oku nau langa 'a e ngaahi dashboards taimi mo'oni, ngaahi sisitemi 'o e 'ilo'i 'o e kākā, pe ngaahi la'i 'analaiso fakangaue te nau ma'u 'a e kakato 'o e vaitafe 'o e 'akau 'oku fakasi'isi'i lahi 'a e faingata'a 'o e paipa.

Ko hono pule'i 'o ha tu'unga pisinisi 'oku tupulaki 'oku 'uhinga ia ko ho'o ngaahi tu'utu'uni fakava'e 'o e ngaahi langa fakalakalaka 'oku fakataha'i 'i he taimi — ko ha ava 'i ho'o founga fakafoki 'o e database he 'aho ni 'oku hoko ia ko ha me'a 'oku hoko 'i he fua 'apongipongi. Mewayz ko e 207-module pisinisi 'a e sisitemi ngaue 'oku langa ma'a e ngaahi timi 'oku nau fakafisi ke fakalelei'i 'a e falala'anga pe malava, falala'anga 'e he kau faka'aonga'i 'o e 138,000 'oku nau lele 'a e me'a kotoa pe mei he CRM mo e e-commerce ki he pule'i 'o e kakano mo e analytics — kotoa 'i he tu'unga fakatahataha 'e taha 'o kamata 'i he $19/mon pe. Kamata ho'o ngaue'anga Mewayz he 'aho ni 'i he app.mewayz.com pea langa ho'o pisinisi 'i he ngaahi langa fakalakalaka 'oku nau tauhi 'a e me'a 'oku ke 'ilo.

'Oku uesia 'e he liliu ko 'eni 'a e MySQL 5.7 pe ko e MySQL pe 8.x?","talitali":{"@fa'ahinga":"Tali","tohi":"Ko e ngaahi fakalelei'i 'o e 'ulungaanga ki he cascade logging 'oku tefito 'i he MySQL 8.0 mo e ngaahi tukuange kimui ange, mo e ngaahi fakalelei'i pau 'oku ha'i ki he ngaahi tukuange 'o e poini fakafo'ituitui 'i he lictofe23end 'o e MySQL25nd. 'oku totonu ke tokanga'i 'e he ngaahi timi 'oku kei lele ia 'a e 'ulungaanga 'o e cascade 'i ai ko e ta'e falala'anga ki he ngaahi taumu'a 'o e tu'uma'u 'o e fakafoki. fakahoko?","talitali":{"@fa'ahinga":"Tali","tohi":"Ko e 'olunga 'oku mo'oni ka 'oku angamaheni 'aki 'a e faka'apa'apa ki he ngaahi schemas mo e ngaahi fehokotaki'anga 'o e kī muli 'oku indexed lelei. 'Oku tohi 'e he tohi fakamatala 'oku tanaki atu 'oku fekau'aki fakahangatonu mo e lahi 'o e ngaahi laine 'o e fanau 'oku uesia 'e he cascade takitaha de largeply S. 'e lava ke sio ki he uesia 'o e throughput 'oku lava ke fua. ko e ngaahi keisi faka'aonga'i fakalotolahi taha 'i he ngaahi me'a 'oku hoko 'i he cascade kakato 'i he tohi fakamatala 'o e binary, 'e lava ke langa 'e he ngaahi me'angaue 'a e CDC 'a e ngaahi vakai totonu 'o e materialized, ngaahi fakahokohoko 'o e fekumi, mo e ngaahi vaitafe 'o e ngaahi me'a 'oku hoko 'o 'ikai fie ma'u 'a e ngaahi matau 'o e tu'unga 'o e tohi kole ke pulusi to'oto'o 'a e ngaahi ola 'o e cascade 'a e ngaahi timi 'o e langa 'o e taimi mo'oni 'o e dashboard laud, 'e lava ke langa 'e he ngaahi timi 'a e taimi mo'oni 'o e dashboard. kakato 'o e tohi fakamatala"}}]}

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime