Stòradh Dàta Seasmhach agus Linux File APIs

Fhad ‘s a bha mi a’ sgrùdadh seasmhachd stòradh dàta ann an siostaman sgòthan, chuir mi romham deuchainn a dhèanamh orm fhìn gus dèanamh cinnteach gu robh mi a ’tuigsinn na rudan bunaiteach. mi air tòiseachadh le bhith a’ leughadh an t-sònrachadh NVMe gus tuigsinn dè na geallaidhean a thaobh stòradh dàta seasmhach (is e sin, a’ gealltainn gum bi an dàta ri fhaighinn às deidh fàilligeadh san t-siostam) thoir dhuinn diosc NMVe. Rinn mi na prìomh cho-dhùnaidhean a leanas: feumar beachdachadh air dàta a mhilleadh bhon mhionaid a tha an àithne airson dàta a sgrìobhadh air a thoirt seachad gus an tèid a sgrìobhadh chun mheadhan stòraidh. Ach, bidh a’ mhòr-chuid de phrògraman gu toilichte a’ cleachdadh fiosan siostam gus dàta a chlàradh.

Anns an dreuchd seo, bidh mi a’ sgrùdadh nan dòighean stòraidh leantainneach a thug na APIan faidhle Linux seachad. Tha e coltach gum bu chòir a h-uile dad a bhith sìmplidh an seo: tha am prògram ag iarraidh an àithne write(), agus às deidh an àithne seo a chrìochnachadh, thèid an dàta a shàbhaladh gu diosc gu tèarainte. Ach write() dìreach dèan lethbhreac de dhàta tagraidh chun an tasgadan kernel a tha suidhichte ann an RAM. Gus toirt air an t-siostam dàta a sgrìobhadh gu diosc, feumaidh tu uidheamachd a bharrachd a chleachdadh.

Stòradh Dàta Seasmhach agus Linux File APIs

Uile gu lèir, ’s e cruinneachadh de notaichean a th’ anns an stuth seo a’ buntainn ris na dh’ ionnsaich mi air cuspair a tha inntinneach dhomh. Ma bhruidhneas sinn gu math goirid mun rud as cudromaiche, tha e coltach gum feum thu an àithne a chleachdadh gus stòradh dàta seasmhach a chuir air dòigh fdatasync() no fosgail faidhlichean leis a’ bhratach O_DSYNC. Ma tha ùidh agad barrachd ionnsachadh mu na thachras do dhàta air an t-slighe bho chòd gu diosc, thoir sùil air seo artaigil.

Feartan cleachdadh na gnìomh write().

Call siostam write() air a mhìneachadh ann an inbhe IEEE POSIX mar oidhirp air dàta a sgrìobhadh gu tuairisgeul faidhle. Às deidh crìochnachadh soirbheachail write() Feumaidh gnìomhachd leughadh dàta na bytes a chaidh a sgrìobhadh roimhe a thilleadh gu dìreach, a’ dèanamh seo eadhon ged a gheibhear cothrom air an dàta bho phròiseasan no snàithleanan eile (feuch earrann iomchaidh de inbhe POSIX). tha e, anns an earrainn air mar a bhios snàithleanan ag eadar-obrachadh le gnìomhachd faidhle àbhaisteach, tha nota ann a tha ag ràdh ma tha dà snàithlean an urra ris na gnìomhan sin, feumaidh gach gairm an dàrna cuid builean ainmichte na gairm eile fhaicinn, no gin idir. builean. Tha seo a’ leantainn gu co-dhùnadh gum feum a h-uile gnìomh faidhle I/O glas a chumail air a’ ghoireas air a bheil iad ag obair.

A bheil seo a 'ciallachadh gu bheil an obrachadh write() a bheil e atamach? Bho shealladh teignigeach, tha. Feumaidh gnìomhachd leugh dàta an dàrna cuid no dad sam bith de na chaidh a sgrìobhadh leis a thilleadh write(). Ach an obrachadh write(), a rèir na h-ìre, chan fheum e crìochnachadh le bhith a’ sgrìobhadh sìos a h-uile dad a chaidh iarraidh air a sgrìobhadh sìos. Chan fhaod i ach pàirt den dàta a sgrìobhadh. Mar eisimpleir, is dòcha gum bi dà snàithlean againn gach fear a’ cur 1024 bytes ri faidhle a tha air a mhìneachadh leis an aon tuairisgeul faidhle. Bho shealladh na h-ìre, bidh toradh iomchaidh ann nuair nach urrainn do gach gnìomhachd sgrìobhaidh ach aon byte a chuir ris an fhaidhle. Bidh na h-obraichean sin fhathast atamach, ach às deidh dhaibh a bhith deiseil, thèid an dàta a sgrìobh iad chun fhaidhle a mheasgachadh. an seo deasbad glè inntinneach air a’ chuspair seo air Stack Overflow.

gnìomhan fsync() agus fdatasync().

Is e an dòigh as fhasa air dàta a ghluasad gu diosc an gnìomh a ghairm fsync(). Tha an gnìomh seo ag iarraidh air an t-siostam obrachaidh na blocaichean atharraichte gu lèir a ghluasad bhon tasgadan gu diosc. Tha seo a’ toirt a-steach a h-uile meata-dàta faidhle (ùine ruigsinneachd, ùine atharrachaidh faidhle, agus mar sin air adhart). Tha mi a’ creidsinn gur ann ainneamh a tha feum air a’ mheata-dàta seo, mar sin ma tha fios agad nach eil e cudromach dhut, faodaidh tu an gnìomh a chleachdadh fdatasync(). Tha a ' cuideachadh air a ' fdatasync() thathar ag ràdh, rè obrachadh na h-obrach seo, gu bheil an leithid de mheata-dàta air a shàbhaladh gu diosc a tha “riatanach airson na h-obraichean leughaidh dàta a leanas a choileanadh gu ceart.” Agus is e seo dìreach a tha cudromach don mhòr-chuid de thagraidhean.

Is e aon duilgheadas a dh’ fhaodadh èirigh an seo nach eil na h-innealan sin a ’gealltainn gum bi am faidhle ri fhaighinn às deidh fàilligeadh a dh’ fhaodadh a bhith ann. Gu sònraichte, nuair a chruthaicheas tu faidhle ùr, feumaidh tu fònadh fsync() airson an eòlaire anns a bheil e. Rud eile, às deidh fàilligeadh, dh’ fhaodadh e tionndadh a-mach nach eil am faidhle seo ann. Is e an adhbhar airson seo, ann an UNIX, air sgàth cleachdadh cheanglaichean cruaidh, gum faod faidhle a bhith ann an grunn chlàran. Mar sin, nuair a bhios tu a 'gairm fsync() chan eil dòigh ann airson fios a bhith aig faidhle dè an dàta eòlaire a bu chòir a chuir gu diosc cuideachd (an seo Faodaidh tu barrachd a leughadh mu dheidhinn seo). Tha e coltach gu bheil an siostam faidhle ext4 comasach gu fèin-ghluasadach cur a-steach fsync() gu na clàran anns a bheil na faidhlichean co-fhreagarrach, ach is dòcha nach bi seo fìor le siostaman faidhle eile.

Faodar an dòigh seo a chuir an gnìomh ann an dòigh eadar-dhealaichte air diofar shiostaman faidhle. Chleachd mi blktrace gus ionnsachadh mu na h-obraichean diosc a thathas a’ cleachdadh ann an siostaman faidhle ext4 agus XFS. Bidh an dithis a’ cur a-mach òrdughan sgrìobhaidh cunbhalach gu diosc airson an dà chuid susbaint an fhaidhle agus iris an t-siostam faidhle, sruthadh an tasgadan, agus falbh le bhith a’ coileanadh FUA (Force Unit Access, a’ sgrìobhadh dàta gu dìreach gu diosc, a’ dol seachad air an tasgadan) sgrìobh chun iris. Is dòcha gun dèan iad seo gus dearbhadh gu bheil an gnothach air tachairt. Air draibhearan nach eil a’ toirt taic do FUA, bidh seo ag adhbhrachadh dà shruth tasgadan. Sheall na deuchainnean agam sin fdatasync() beagan nas luaithe fsync(). Goireas blktrace a’ nochdadh sin fdatasync() mar as trice a’ sgrìobhadh nas lugha de dhàta gu diosc (ann an ext4 fsync() a' sgrìobhadh 20 KiB, agus fdatasync() — 16 KiB). Cuideachd, fhuair mi a-mach gu bheil XFS beagan nas luaithe na ext4. Agus an seo le cuideachadh blktrace fhuair e a-mach sin fdatasync() a’ sruthadh nas lugha de dhàta gu diosc (4 KiB ann an XFS).

Suidheachaidhean teagmhach a thig am bàrr nuair a bhios tu a’ cleachdadh fsync()

Is urrainn dhomh smaoineachadh air trì suidheachaidhean teagmhach mu dheidhinn fsync()ris an do thachair mi ann an cleachdadh.

Thachair a’ chiad chùis mar seo ann an 2008. An uairsin reothadh an eadar-aghaidh Firefox 3 ma chaidh àireamh mhòr de fhaidhlichean a sgrìobhadh gu diosc. B’ e an duilgheadas a bh’ ann gun do chleachd buileachadh an eadar-aghaidh stòr-dàta SQLite gus fiosrachadh a stòradh mun stàit aige. Às deidh gach atharrachadh a thachair san eadar-aghaidh, chaidh an gnìomh a ghairm fsync(), a thug seachad deagh gheallaidhean airson stòradh dàta seasmhach. Anns an t-siostam faidhle ext3 a chaidh a chleachdadh an uairsin, tha an gnìomh fsync() dumpadh a h-uile duilleag “salach” san t-siostam gu diosc, agus chan e dìreach an fheadhainn a bha co-cheangailte ris an fhaidhle fhreagarrach. Bha seo a’ ciallachadh gum faodadh briogadh air putan ann am Firefox megabytes de dhàta a bhith air a sgrìobhadh gu diosc magnetach, a dh’ fhaodadh grunn dhiog a thoirt. Fuasgladh na trioblaid, cho fad 's a tha mi a' tuigsinn e bha stuth airson obair leis an stòr-dàta a ghluasad gu gnìomhan cùl-fhiosrachaidh asyncronach. Tha seo a’ ciallachadh gun do chuir Firefox an gnìomh riatanasan stòraidh nas cruaidhe na bha a dhìth, agus cha do rinn feartan an t-siostam faidhle ext3 ach an duilgheadas seo nas miosa.

Thachair an dàrna duilgheadas ann an 2009. An uairsin, às deidh tubaist san t-siostam, bha luchd-cleachdaidh an t-siostam faidhle ext4 ùr mu choinneimh nach robh fada fada aig mòran de na faidhlichean a chaidh an cruthachadh às ùr, ach cha do thachair seo leis an t-siostam faidhle ext3 nas sine. Anns a’ pharagraf roimhe, bhruidhinn mi air mar a chuir ext3 cus dàta gu diosc, a chuir maill air cùisean gu mòr. fsync(). Gus an suidheachadh a leasachadh, ann an ext4 chan eil ach na duilleagan salach sin a tha buntainneach ri faidhle sònraichte air an cur gu diosc. Agus tha dàta bho fhaidhlichean eile fhathast mar chuimhneachan airson ùine fada nas fhaide na le ext3. Chaidh seo a dhèanamh gus coileanadh a leasachadh (gu gnàthach, bidh an dàta a’ fuireach san stàit seo airson 30 diogan, is urrainn dhut seo a rèiteachadh le bhith a’ cleachdadh salach_expire_centisecs; an seo Gheibh thu stuthan a bharrachd mu dheidhinn seo). Tha seo a’ ciallachadh gum faodar tòrr dàta a chall gu do-sheachanta às deidh fàilligeadh. Is e am fuasgladh don duilgheadas seo a chleachdadh fsync() ann an tagraidhean a dh’ fheumas dèanamh cinnteach à stòradh dàta seasmhach agus an dìon cho mòr ‘s as urrainn bho bhuaidhean fàilligidhean. Gnìomh fsync() ag obair mòran nas èifeachdaiche nuair a bhios tu a’ cleachdadh ext4 na nuair a bhios tu a’ cleachdadh ext3. Is e ana-cothrom an dòigh-obrach seo gu bheil a chleachdadh, mar a bha e roimhe, a ’slaodadh sìos coileanadh cuid de ghnìomhachd, leithid stàladh phrògraman. Faic mion-fhiosrachadh mu dheidhinn seo an seo и an seo.

Tha an treas duilgheadas a thaobh fsync(), bho thùs ann an 2018. An uairsin, taobh a-staigh frèam pròiseact PostgreSQL, chaidh a lorg ma tha an gnìomh fsync() a’ tighinn tarsainn air mearachd, tha e a’ comharrachadh duilleagan “salach” mar “glan”. Mar thoradh air an sin, tha na gairmean a leanas fsync() Chan eil iad a’ dèanamh dad le leithid de dhuilleagan. Air sgàth seo, tha duilleagan atharraichte air an stòradh mar chuimhneachan agus cha tèid an sgrìobhadh gu diosg gu bràth. Is e fìor thubaist a tha seo, oir bidh an tagradh den bheachd gu bheil cuid de dhàta air a sgrìobhadh chun diosc, ach gu dearbh cha bhith. A leithid fàilligidhean fsync() gu math tearc, chan urrainn don tagradh ann an leithid de shuidheachaidhean cha mhòr dad a dhèanamh gus cuir an-aghaidh an duilgheadas. An-diugh, nuair a thachras seo, bidh PostgreSQL agus tagraidhean eile a’ tuiteam. tha e, anns an stuth “An urrainn Tagraidhean fhaighinn air ais bho fhàilligidhean fsync?”, Tha an duilgheadas seo air a sgrùdadh gu mionaideach. An-dràsta is e am fuasgladh as fheàrr air an duilgheadas seo Direct I/O a chleachdadh leis a’ bhratach O_SYNC no le bratach O_DSYNC. Leis an dòigh-obrach seo, bheir an siostam cunntas air mearachdan a dh’ fhaodadh tachairt ann an obair sgrìobhaidh sònraichte, ach feumaidh an dòigh-obrach seo an tagradh gus na bufairean fhèin a riaghladh. Leugh tuilleadh mu dheidhinn seo an seo и an seo.

A’ fosgladh fhaidhlichean a’ cleachdadh na brataichean O_SYNC agus O_DSYNC

Tillidh sinn chun deasbad mu dhòighean Linux a bheir seachad stòradh dàta seasmhach. Is e sin, tha sinn a 'bruidhinn mu bhith a' cleachdadh a 'bhratach O_SYNC no bratach O_DSYNC nuair a dh’ fhosglas tu faidhlichean a’ cleachdadh siostam gairm fosgail (). Leis an dòigh-obrach seo, thèid gach gnìomh sgrìobhaidh dàta a dhèanamh mar gum biodh às deidh gach àithne write() tha an siostam a’ faighinn òrdughan a rèir sin fsync() и fdatasync(). Tha a ' Sònrachaidhean POSIX Canar "Crìochnachadh Ionracas faidhle I/O Sioncronaichte" agus "Crìochnachadh Ionracas Dàta". Is e prìomh bhuannachd an dòigh-obrach seo, gus dèanamh cinnteach à ionracas dàta, nach fheum thu ach aon ghairm siostam a dhèanamh, seach dhà (mar eisimpleir - write() и fdatasync()). Is e prìomh ana-cothrom an dòigh-obrach seo gum bi a h-uile sgrìobhadh a’ cleachdadh an tuairisgeul faidhle co-fhreagarrach air a shioncronachadh, a dh’ fhaodadh casg a chuir air comas còd an tagraidh a structaradh.

A’ cleachdadh Direct I/O leis a’ bhratach O_DIRECT

Call siostam open() a’ toirt taic don bhratach O_DIRECT, a tha air a dhealbhadh gus faighinn seachad air tasgadan an t-siostaim obrachaidh gus gnìomhachd I / O a dhèanamh le bhith ag eadar-obrachadh gu dìreach leis an diosc. Tha seo, ann an iomadh cùis, a’ ciallachadh gun tèid òrdughan sgrìobhaidh a chuir am prògram a-mach a thionndadh gu dìreach gu òrdughan a tha ag amas air obrachadh leis an diosc. Ach, san fharsaingeachd, chan eil an inneal seo na àite airson gnìomhan fsync() no fdatasync(). Is e an fhìrinn gum faod an diosc fhèin cuir dheth no cache òrdughan sgrìobhadh dàta co-fhreagarrach. Agus, gus cùisean a dhèanamh nas miosa, ann an cuid de chùisean sònraichte rinn na h-obraichean I/O nuair a bha iad a’ cleachdadh a’ bhratach O_DIRECT, craoladh a-steach do ghnìomhachdan bufair traidiseanta. Is e an dòigh as fhasa air an duilgheadas seo fhuasgladh am bratach a chleachdadh gus faidhlichean fhosgladh O_DSYNC, a bhios a’ ciallachadh gum bi fios air a leantainn le gach gnìomh sgrìobhaidh fdatasync().

Thionndaidh e a-mach gun robh siostam faidhle XFS air “slighe luath” a chuir ris o chionn ghoirid airson O_DIRECT|O_DSYNC- clàradh dàta. Ma thèid bloc ath-sgrìobhadh a 'cleachdadh O_DIRECT|O_DSYNC, an uairsin cuiridh XFS, an àite a bhith a’ sruthadh an tasgadan, an àithne sgrìobhaidh FUA an gnìomh ma tha an inneal a’ toirt taic dha. Dhearbh mi seo le bhith a’ cleachdadh a’ ghoireas blktrace air siostam Linux 5.4/Ubuntu 20.04. Bu chòir an dòigh-obrach seo a bhith nas èifeachdaiche, oir nuair a thèid a chleachdadh, thèid glè bheag de dhàta a sgrìobhadh chun diosc agus thèid aon obrachadh a chleachdadh, seach dhà (a’ sgrìobhadh agus a’ sruthadh an tasgadan). Lorg mi ceangal gu paiste kernel 2018, a bhios a’ cur an gnìomh an uidheamachd seo. Tha beagan deasbaid ann mu bhith a’ cur an optimization seo an sàs ann an siostaman faidhle eile, ach cho fad ‘s as aithne dhomh, is e XFS an aon shiostam faidhle a tha a’ toirt taic dha seo gu ruige seo.

sync_file_range () gnìomh

Tha gairm siostam aig Linux sioncranachadh_faidhle_raon(), a leigeas leat dìreach pàirt den fhaidhle a shruthladh gu diosc, seach am faidhle gu lèir. Bidh an gairm seo a’ tòiseachadh sruthadh dàta asyncronach agus chan eil e a’ feitheamh gus a chrìochnachadh. Ach anns an teisteanas sync_file_range() thathar ag ràdh gu bheil an sgioba "glè chunnartach". Chan eilear a 'moladh a chleachdadh. Feartan agus cunnartan sync_file_range() air a mhìneachadh gu math ann an seo stuth. Gu sònraichte, tha e coltach gu bheil an gairm seo a’ cleachdadh RocksDB gus smachd a chumail air nuair a bhios an kernel a’ sruthadh dàta salach gu diosc. Ach aig an aon àm, gus dèanamh cinnteach gu bheil stòradh dàta seasmhach, tha e cuideachd air a chleachdadh fdatasync(). Tha a ' còd Tha beachdan inntinneach aig RocksDB air a’ chuspair seo. Mar eisimpleir, tha e coltach gu bheil a 'ghairm sync_file_range() Nuair a bhios tu a’ cleachdadh ZFS, cha bhith e a’ sruthadh dàta gu diosc. Tha eòlas ag innse dhomh gu bheil coltas ann gum bi biastagan ann an còd nach eilear a’ cleachdadh ach ainneamh. Mar sin, bhithinn a’ comhairleachadh gun a bhith a’ cleachdadh a’ ghairm siostam seo mura h-eil sin riatanach.

Gairmean siostam a chuidicheas le bhith a’ dèanamh cinnteach à seasmhachd dàta

Tha mi air tighinn chun a’ cho-dhùnaidh gu bheil trì dòighean-obrach ann a dh’fhaodar a chleachdadh airson gnìomhachd I/O a dhèanamh a nì cinnteach gum bi dàta seasmhach. Feumaidh iad uile gairm gnìomh fsync() airson an eòlaire anns an deach am faidhle a chruthachadh. Seo na dòighean-obrach:

  1. A 'gairm gnìomh fdatasync() no fsync() às deidh gnìomh write() (tha e nas fheàrr a chleachdadh fdatasync()).
  2. Ag obair le tuairisgeul faidhle air fhosgladh le bratach O_DSYNC no O_SYNC (nas fheàrr - le bratach O_DSYNC).
  3. A 'cleachdadh an àithne pwritev2() le bratach RWF_DSYNC no RWF_SYNC (Is fheàrr le bratach RWF_DSYNC).

Notaichean Coileanaidh

Chan eil mi air coileanadh nan diofar dhòighean air an do rinn mi sgrùdadh a thomhas gu faiceallach. Tha na h-eadar-dhealachaidhean a mhothaich mi ann an astar an cuid obrach glè bheag. Tha seo a’ ciallachadh gur dòcha gu bheil mi ceàrr, agus gum faodadh an aon rud toraidhean eadar-dhealaichte a thoirt gu buil fo chumhachan eadar-dhealaichte. An toiseach, bruidhnidh mi mu dè a bheir buaidh nas motha air coileanadh, agus an uairsin dè a bheir buaidh air coileanadh nas lugha.

  1. Tha ath-sgrìobhadh dàta faidhle nas luaithe na bhith a’ ceangal dàta ri faidhle (faodaidh buannachd coileanaidh a bhith 2-100%). Le bhith a’ ceangal dàta ri faidhle feumar atharrachaidhean a bharrachd air meata-dàta an fhaidhle, eadhon às deidh gairm siostaim fallocate(), ach faodaidh meud na buaidh seo a bhith eadar-dhealaichte. Tha mi a’ moladh, airson an coileanadh as fheàrr, gairm fallocate() gus an àite a tha a dhìth a riarachadh ro-làimh. An uairsin feumaidh an àite seo a bhith air a lìonadh gu soilleir le neamhan agus air a ghairm fsync(). Nì seo cinnteach gu bheil na blocaichean co-fhreagarrach san t-siostam fhaidhlichean air an comharrachadh mar "riaraichte" seach "neo-riaraichte". Bheir seo leasachadh beag (mu 2%) air coileanadh. A bharrachd air an sin, is dòcha gum bi cothrom aig cuid de dhioscaichean air bloca nas slaodaiche na feadhainn eile. Tha seo a’ ciallachadh gum faod lìonadh an àite le neoni leantainn gu leasachadh mòr (timcheall air 100%) ann an coileanadh. Gu sònraichte, faodaidh seo tachairt le diosgan AWS EBS (Is e dàta neo-oifigeil a tha seo, cha b’ urrainn dhomh a dhearbhadh). Tha an aon rud a 'dol airson stòradh Diosc Seasmhach GCP (agus tha seo mar-thà mar fhiosrachadh oifigeil, air a dhearbhadh le deuchainnean). Tha eòlaichean eile air an aon rud a dhèanamh amharc, co-cheangailte ri diofar diosgan.
  2. Mar as lugha de ghlaodhan siostam, is ann as àirde an coileanadh (faodaidh am buannachd a bhith timcheall air 5%). Tha e coltach ri dùbhlan open() le bratach O_DSYNC no gairm pwritev2() le bratach RWF_SYNC nas luaithe na gairm fdatasync(). Tha amharas agam gur e a’ phuing an seo gu bheil àite aig an dòigh-obrach seo leis gu feumar nas lugha de ghlaisean siostaim a dhèanamh gus an aon dhuilgheadas fhuasgladh (aon ghairm an àite dhà). Ach tha an eadar-dhealachadh ann an coileanadh glè bheag, agus mar sin faodaidh tu a leigeil seachad gu tur agus rudeigin a chleachdadh san tagradh nach dèan an loidsig iom-fhillte.

Ma tha ùidh agad ann an cuspair stòradh dàta seasmhach, seo cuid de stuthan feumail:

  • I/O Dòighean ruigsinneachd - tar-shealladh air bunaitean innealan cuir a-steach / toraidh.
  • Dèanamh cinnteach gun ruig dàta an diosc - sgeulachd mu na thachras don dàta air an t-slighe bhon tagradh chun diosc.
  • Cuin a bu chòir dhut fsync an eòlaire anns a bheil - am freagairt don cheist cuin a bu chòir a chleachdadh fsync() airson clàran. Gus seo a chuir gu h-aithghearr, tha e a’ tionndadh a-mach gum feum thu seo a dhèanamh nuair a chruthaicheas tu faidhle ùr, agus is e an adhbhar airson a ’mholaidh seo gum faod mòran iomraidhean a bhith ann an Linux air an aon fhaidhle.
  • Freiceadan SQL air Linux: FUA Internals - seo tuairisgeul air mar a tha stòradh dàta leantainneach air a chuir an gnìomh ann an SQL Server air àrd-ùrlar Linux. Tha coimeas inntinneach eadar gairmean siostam Windows agus Linux an seo. Tha mi cha mhòr cinnteach gur ann le taing don stuth seo a dh’ ionnsaich mi mu dheidhinn optimization FUA de XFS.

A bheil thu air dàta a chall a bha thu a’ smaoineachadh a bha air a stòradh gu tèarainte air diosc?

Stòradh Dàta Seasmhach agus Linux File APIs

Stòradh Dàta Seasmhach agus Linux File APIs

Source: www.habr.com