Tèarainteachd agus DBMS: na dh'fheumas tu a chuimhneachadh nuair a thaghas tu innealan tèarainteachd

Tèarainteachd agus DBMS: na dh'fheumas tu a chuimhneachadh nuair a thaghas tu innealan tèarainteachd

Is e m ’ainm Denis Rozhkov, tha mi nam cheannard air leasachadh bathar-bog aig a’ chompanaidh Gazinformservice, anns an sgioba toraidh Jatoba. Tha reachdas agus riaghailtean corporra a’ cur riatanasan sònraichte an sàs airson tèarainteachd stòradh dàta. Chan eil duine ag iarraidh gum faigh treas phàrtaidhean cothrom air fiosrachadh dìomhair, agus mar sin tha na cùisean a leanas cudromach airson pròiseact sam bith: comharrachadh agus dearbhadh, riaghladh ruigsinneachd air dàta, dèanamh cinnteach à ionracas an fhiosrachaidh san t-siostam, a’ clàradh thachartasan tèarainteachd. Mar sin, tha mi airson bruidhinn mu chuid de phuingean inntinneach a thaobh tèarainteachd DBMS.

Chaidh an artaigil ullachadh stèidhichte air òraid aig @databasesMeetup, eagraichte Mail.ru Cloud Solutions. Mura h-eil thu airson leughadh, faodaidh tu coimhead air:


Bidh trì pàirtean san artaigil:

  • Mar a nì thu ceanglaichean tèarainte.
  • Dè a th 'ann an sgrùdadh gnìomhan agus mar a chlàras tu na tha a' tachairt air taobh an stòr-dàta agus a 'ceangal ris.
  • Mar a dhìonas tu dàta san stòr-dàta fhèin agus dè na teicneòlasan a tha rim faighinn airson seo.

Tèarainteachd agus DBMS: na dh'fheumas tu a chuimhneachadh nuair a thaghas tu innealan tèarainteachd
Trì pàirtean de thèarainteachd DBMS: dìon ceangail, sgrùdadh gnìomhachd agus dìon dàta

A’ dìon do cheanglaichean

Faodaidh tu ceangal ris an stòr-dàta gu dìreach no gu neo-dhìreach tro thagraidhean lìn. Mar riaghailt, bidh an neach-cleachdaidh gnìomhachais, is e sin, an neach a tha ag obair leis an DBMS, ag eadar-obrachadh leis gu neo-dhìreach.

Mus bruidhinn thu mu bhith a 'dìon cheanglaichean, feumaidh tu ceistean cudromach a fhreagairt a tha a' dearbhadh mar a thèid ceumannan tèarainteachd a structaradh:

  • A bheil aon neach-cleachdaidh gnìomhachais co-ionann ri aon neach-cleachdaidh DBMS?
  • co-dhiù a bheil cothrom air dàta DBMS air a thoirt seachad a-mhàin tro API air a bheil smachd agad, no a bheil cothrom air clàran gu dìreach;
  • co-dhiù a tha an DBMS air a riarachadh gu roinn dìon fa leth, cò a bhios ag eadar-obrachadh leis agus ciamar;
  • co-dhiù a thathas a’ cleachdadh sreathan cruinneachadh/proxy agus eadar-mheadhanach, a dh’ atharraicheas fiosrachadh mu mar a tha an ceangal air a thogail agus cò tha a’ cleachdadh an stòr-dàta.

A-nis chì sinn dè na h-innealan a ghabhas cleachdadh gus ceanglaichean a dhèanamh tèarainte:

  1. Cleachd fuasglaidhean clas balla-teine ​​​​stòr-dàta. Meudaichidh ìre dìon a bharrachd, aig a’ char as lugha, follaiseachd na tha a’ tachairt anns an DBMS, agus aig a’ char as àirde, bidh e comasach dhut dìon dàta a bharrachd a thoirt seachad.
  2. Cleachd poileasaidhean facal-faire. Bidh an cleachdadh an urra ri mar a tha an ailtireachd agad air a thogail. Ann an suidheachadh sam bith, chan eil aon fhacal-faire ann am faidhle rèiteachaidh tagradh lìn a tha a 'ceangal ris an DBMS gu leòr airson dìon. Tha grunn innealan DBMS ann a leigeas leat smachd a chumail air a bheil feum aig an neach-cleachdaidh agus am facal-faire ùrachadh.

    Faodaidh tu barrachd a leughadh mu ghnìomhan rangachadh luchd-cleachdaidh an seo, faodaidh tu cuideachd faighinn a-mach mu Mheasadairean So-leòntachd MS SQL an seo

  3. Dèan beairteas air co-theacsa an t-seisein leis an fhiosrachadh riatanach. Ma tha an seisean neo-shoilleir, nach eil thu a’ tuigsinn cò a tha ag obair san DBMS taobh a-staigh an fhrèam aige, faodaidh tu, taobh a-staigh frèam na h-obrach a thathar a’ coileanadh, fiosrachadh a chuir a-steach mu cò a tha a’ dèanamh dè agus carson. Chithear am fiosrachadh seo san sgrùdadh.
  4. Dèan rèiteachadh air SSL mura h-eil sgaradh lìonra agad eadar an DBMS agus an luchd-cleachdaidh deireannach; chan eil e ann an VLAN air leth. Ann an leithid de shuidheachaidhean, tha e deatamach an sianal eadar an neach-cleachdaidh agus an DBMS fhèin a dhìon. Tha innealan tèarainteachd rim faighinn cuideachd ann an stòr fosgailte.

Ciamar a bheir seo buaidh air coileanadh an DBMS?

Bheir sinn sùil air an eisimpleir de PostgreSQL gus faicinn mar a bheir SSL buaidh air an luchd CPU, a ’meudachadh amannan agus a’ lughdachadh TPS, agus an ith e cus ghoireasan ma bheir thu comas dha.

Tha luchdachadh PostgreSQL a’ cleachdadh pgbench na phrògram sìmplidh airson deuchainnean coileanaidh a ruith. Bidh e a’ cur an gnìomh sreath singilte de dh’ àitheantan a-rithist is a-rithist, is dòcha ann an seiseanan stòr-dàta co-shìnte, agus an uairsin a’ tomhas ìre cuibheasach malairt.

Deuchainn 1 gun SSL agus a 'cleachdadh SSL - tha an ceangal air a stèidheachadh airson gach gnothach:

pgbench.exe --connect -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres sslmode=require 
sslrootcert=rootCA.crt sslcert=client.crt sslkey=client.key"

vs

pgbench.exe --connect -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres"

Deuchainn 2 gun SSL agus a 'cleachdadh SSL - thèid a h-uile gnothach a dhèanamh ann an aon cheangal:

pgbench.exe -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres sslmode=require
sslrootcert=rootCA.crt sslcert=client.crt sslkey=client.key"

vs

pgbench.exe -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres"

Suidheachaidhean eile:

scaling factor: 1
query mode: simple
number of clients: 10
number of threads: 1
number of transactions per client: 5000
number of transactions actually processed: 50000/50000

Toraidhean deuchainn:

 
GUN SSL
SSL

Tha ceangal air a stèidheachadh airson gach gnothach

cuibheasachd latency
171.915 ms
187.695 ms

tps a’ toirt a-steach stèidheachadh cheanglaichean
58.168112
53.278062

tps às aonais stèidheachadh cheanglaichean
64.084546
58.725846

CPU
24%
28%

Tha a h-uile gnothach air a dhèanamh ann an aon cheangal

cuibheasachd latency
6.722 ms
6.342 ms

tps a’ toirt a-steach stèidheachadh cheanglaichean
1587.657278
1576.792883

tps às aonais stèidheachadh cheanglaichean
1588.380574
1577.694766

CPU
17%
21%

Aig luchdan aotrom, tha buaidh SSL an coimeas ris a’ mhearachd tomhais. Ma tha an àireamh de dhàta a chaidh a ghluasad gu math mòr, faodaidh an suidheachadh a bhith eadar-dhealaichte. Ma stèidhicheas sinn aon cheangal airson gach gnothach (tha seo tearc, mar as trice bidh an ceangal air a roinn eadar luchd-cleachdaidh), tha àireamh mhòr de cheanglaichean/dì-cheangail agad, dh’ fhaodadh a’ bhuaidh a bhith beagan nas motha. Is e sin, dh'fhaodadh gum bi cunnartan ann mu choileanadh nas lugha, ge-tà, chan eil an eadar-dhealachadh cho mòr ri bhith a 'cleachdadh dìon.

Thoir an aire gu bheil eadar-dhealachadh làidir ann ma nì thu coimeas eadar na modhan obrachaidh: tha thu ag obair taobh a-staigh an aon seisean no ann an feadhainn eadar-dhealaichte. Tha seo furasta a thuigsinn: thathas a’ cosg goireasan air gach ceangal a chruthachadh.

Bha cùis againn nuair a cheangail sinn Zabbix ann am modh earbsa, is e sin, cha deach md5 a sgrùdadh, cha robh feum air dearbhadh. An uairsin dh’ iarr an neach-ceannach modh dearbhaidh md5 a chomasachadh. Chuir seo luchd trom air an CPU, agus thuit coileanadh. Thòisich sinn a 'coimhead airson dòighean gus an fheum as fheàrr a dhèanamh. Is e aon de na fuasglaidhean a dh’ fhaodadh a bhith ann air an duilgheadas bacadh lìonra a chuir an gnìomh, VLANs fa leth a dhèanamh airson an DBMS, cuir roghainnean a-steach gus a dhèanamh soilleir cò a tha a’ ceangal cò às a thàinig agus thoir air falbh dearbhadh. , ach san fharsaingeachd tha cleachdadh diofar dhòighean dearbhaidh a’ toirt buaidh air coileanadh agus feumar aire a thoirt do na factaran sin nuair a thathar a’ dealbhadh cumhachd coimpiutaireachd luchd-frithealaidh (bathar-cruaidh) airson an DBMS.

Co-dhùnadh: ann an grunn fhuasglaidhean, faodaidh eadhon nuances beaga ann an dearbhadh buaidh mhòr a thoirt air a ’phròiseact agus tha e dona nuair a dh’ fhàsas seo soilleir ach nuair a thèid a chuir an gnìomh ann an riochdachadh.

Sgrùdadh gnìomh

Faodaidh sgrùdadh a bhith chan e a-mhàin DBMS. Tha sgrùdadh mu dheidhinn fiosrachadh fhaighinn mu na tha a’ tachairt ann an diofar roinnean. Faodaidh seo a bhith na bhalla-teine ​​​​stòr-dàta no an siostam obrachaidh air a bheil an DBMS air a thogail.

Ann an DBMS ìre Iomairt malairteach tha a h-uile dad gu math le sgrùdadh, ach ann an stòr fosgailte - chan ann an-còmhnaidh. Seo na tha aig PostgreSQL:

  • log bunaiteach - logadh a-steach;
  • leudachain: pgaudit - mura h-eil an logadh bunaiteach gu leòr dhut, faodaidh tu roghainnean fa leth a chleachdadh a dh’ fhuasgladh cuid de dhuilgheadasan.

A bharrachd air an aithisg anns a’ bhidio:

"Faodar logadh aithris bhunaiteach a sholarachadh le goireas logaidh àbhaisteach le log_statement = all.

Gabhar ri seo airson sgrùdadh agus cleachdaidhean eile, ach chan eil e a’ toirt seachad an ìre de mhion-fhiosrachadh a tha riatanach airson sgrùdadh.

Chan eil e gu leòr liosta a bhith agad de na h-obraichean air fad a chaidh a dhèanamh air an stòr-dàta.

Bu chòir gum biodh e comasach cuideachd aithrisean sònraichte a lorg anns a bheil ùidh aig an neach-sgrùdaidh.

Tha logadh àbhaisteach a’ sealltainn na dh’ iarr an neach-cleachdaidh, fhad ‘s a tha pgAudit a’ cuimseachadh air mion-fhiosrachadh mu na thachair nuair a chuir an stòr-dàta a’ cheist an gnìomh.

Mar eisimpleir, is dòcha gum bi an neach-sgrùdaidh airson dearbhadh gun deach clàr sònraichte a chruthachadh taobh a-staigh uinneag cumail suas clàraichte.

Is dòcha gur e obair shìmplidh a tha seo le sgrùdadh bunaiteach agus grep, ach dè ma chaidh rudeigin mar seo a thoirt dhut (a dh’aona ghnothach troimh-chèile):

DO$$
BEGIN
Cuir an gnìomh ‘CREATE TABLE import’ || 'ant_table(id int)';
END$$;

Bheir logadh àbhaisteach seo dhut:

LOG: aithris: DO $$
BEGIN
Cuir an gnìomh ‘CREATE TABLE import’ || 'ant_table(id int)';
END$$;

Tha e coltach gur dòcha gu feum lorg a’ chlàr ùidh beagan eòlas còd ann an cùisean far a bheil bùird air an cruthachadh gu dinamach.

Chan eil seo air leth freagarrach, oir bhiodh e na b’ fheàrr dìreach sgrùdadh a dhèanamh le ainm clàr.

Seo far a bheil pgAudit feumail.

Airson an aon chur-a-steach, bheir e a-mach an toradh seo sa loga:

SGRÙDADH: SEISEAN,33,1,FEUMAL,DÈ ,,, "DÈANAMH $$
BEGIN
Cuir an gnìomh ‘CREATE TABLE import’ || 'ant_table(id int)';
END$$;"
SGRÙDADH: SESSION, 33,2, DDL, CREATE TABLE, TABLE, public.important_table, CREATE TABLE important_table (id INT)

Chan e a-mhàin gu bheil am bloc DO air a logadh, ach cuideachd teacsa slàn an CREATE TABLE le seòrsa aithris, seòrsa nì, agus làn ainm, a’ dèanamh rannsachadh nas fhasa.

Nuair a bhios tu a’ logadh a-steach aithrisean SELECT agus DML, faodar pgAudit a rèiteachadh gus inntrigeadh fa leth a chlàradh airson gach dàimh air a bheil iomradh san aithris.

Chan eil feum air parsadh gus a h-uile aithris a lorg a tha a’ suathadh ri clàr sònraichte (*). "

Ciamar a bheir seo buaidh air coileanadh an DBMS?

Feuch an ruith sinn deuchainnean le làn sgrùdadh air a chomasachadh agus faic dè thachras do choileanadh PostgreSQL. Leig leinn logadh stòr-dàta as àirde a chomasachadh airson a h-uile paramadair.

Cha mhòr nach atharraich sinn dad anns an fhaidhle rèiteachaidh, is e an rud as cudromaiche am modh debug5 a thionndadh gus am fiosrachadh as motha fhaighinn.

postgresql.conf

log_destination = 'stderr'
logging_collector = air adhart
log_truncate_on_rotation = air adhart
log_rotation_age = 1d
log_rotation_size = 10MB
log_min_messages = deasbug 5
log_min_error_statement = deasbug 5
log_min_duration_statement = 0
debug_print_parse = air adhart
debug_print_rewritten = air adhart
debug_print_plan = air adhart
debug_pretty_print = air adhart
log_checkpoints = air adhart
log_connections = air adhart
log_disconnections = air adhart
log_duration = air adhart
log_hostname = air adhart
log_lock_wait = air adhart
log_replication_commands = air adhart
log_temp_files = 0
log_timezone = 'An Roinn Eòrpa/Moscow'

Air DBMS PostgreSQL le paramadairean 1 CPU, 2,8 GHz, 2 GB RAM, 40 GB HDD, bidh sinn a’ dèanamh trì deuchainnean luchdan a ’cleachdadh na h-òrdughan:

$ pgbench -p 3389 -U postgres -i -s 150 benchmark
$ pgbench -p 3389 -U postgres -c 50 -j 2 -P 60 -T 600 benchmark
$ pgbench -p 3389 -U postgres -c 150 -j 2 -P 60 -T 600 benchmark

Toraidhean deuchainn:

Gun chlàradh
Le logadh a-steach

Ùine lìonadh stòr-dàta iomlan
43,74 a 'sec
53,23 a 'sec

RAM
24%
40%

CPU
72%
91%

Deuchainn 1 (50 ceangal)

An àireamh de ghnothaichean ann an 10 mionaidean
74169
32445

Gnìomhan / diog
123
54

Cuibheasach Latency
405 ms
925 ms

Deuchainn 2 (150 ceangal le 100 comasach)

An àireamh de ghnothaichean ann an 10 mionaidean
81727
31429

Gnìomhan / diog
136
52

Cuibheasach Latency
550 ms
1432 ms

Mu mheudan

Meud DB
2251 MB
2262 MB

Stòr-dàta meud clàr
0 MB
4587 MB

Fon loidhne: chan eil làn sgrùdadh fìor mhath. Bidh an dàta bhon sgrùdadh cho mòr ris an dàta san stòr-dàta fhèin, no eadhon nas motha. Tha an ìre de logadh a thèid a chruthachadh nuair a bhios tu ag obair le DBMS na dhuilgheadas cumanta ann an cinneasachadh.

Bheir sinn sùil air paramadairean eile:

  • Chan eil an astar ag atharrachadh mòran: gun logadh - 43,74 diogan, le logadh - 53,23 diogan.
  • Bidh coileanadh RAM agus CPU a’ fulang, oir feumaidh tu faidhle sgrùdaidh a ghineadh. Tha seo cuideachd follaiseach ann an cinneasachd.

Mar a bhios an àireamh de cheanglaichean a 'dol am meud, gu nàdarra, bidh an coileanadh a' dol sìos beagan.

Ann an corporaidean le sgrùdadh tha e eadhon nas duilghe:

  • tha tòrr dàta ann;
  • tha feum air sgrùdadh chan ann a-mhàin tro syslog ann an SIEM, ach cuideachd ann am faidhlichean: ma thachras rudeigin do syslog, feumaidh faidhle a bhith faisg air an stòr-dàta anns a bheil an dàta air a shàbhaladh;
  • tha feum air sgeilp air leth airson sgrùdadh gus nach caith e diosgan I/O, leis gu bheil e a’ gabhail tòrr àite;
  • Tha e a ’tachairt gu feum luchd-obrach tèarainteachd fiosrachaidh inbhean GOST anns a h-uile àite, feumaidh iad comharrachadh stàite.

A’ cuingealachadh ruigsinneachd air dàta

Bheir sinn sùil air na teicneòlasan a thathas a’ cleachdadh gus dàta a dhìon agus faighinn thuige ann an DBMS malairteach agus stòr fosgailte.

Dè as urrainn dhut a chleachdadh san fharsaingeachd:

  1. Crioptachadh agus obfuscation mhodhan-obrach agus gnìomhan (Wrapping) - is e sin, innealan agus goireasan fa leth a nì còd a ghabhas leughadh gun leughadh. Fìor, an uairsin chan urrainnear atharrachadh no ath-leasachadh air ais. Bidh feum air an dòigh-obrach seo uaireannan co-dhiù air taobh DBMS - tha loidsig cuingealachaidhean ceadachais no loidsig ceadachaidh air a chrioptachadh gu mionaideach aig ìre modh-obrach agus gnìomh.
  2. Is e a bhith a’ cuingealachadh faicsinneachd dàta le sreathan (RLS) nuair a chì luchd-cleachdaidh eadar-dhealaichte aon chlàr, ach co-dhèanamh eadar-dhealaichte de shreathan ann, is e sin, chan urrainnear rudeigin a shealltainn do chuideigin aig ìre na loidhne.
  3. Is e a bhith a’ deasachadh an dàta a tha air a thaisbeanadh (Masking) nuair a chì luchd-cleachdaidh ann an aon cholbh den chlàr an dàrna cuid dàta no dìreach rionnagan, is e sin, airson cuid de luchd-cleachdaidh bidh am fiosrachadh dùinte. Bidh an teicneòlas a’ dearbhadh dè an neach-cleachdaidh a tha a’ sealltainn dè a tha stèidhichte air an ìre ruigsinneachd aca.
  4. Tèarainteachd DBA / Iarrtas Tha smachd ruigsinneachd DBA / DBA mu dheidhinn a bhith a’ cuingealachadh ruigsinneachd don DBMS fhèin, is e sin, faodar luchd-obrach tèarainteachd fiosrachaidh a sgaradh bho rianadairean stòr-dàta agus luchd-rianachd tagraidh. Chan eil mòran de theicneòlasan mar sin ann an stòr fosgailte, ach tha gu leòr dhiubh ann an DBMS malairteach. Tha feum orra nuair a tha cothrom aig mòran de luchd-cleachdaidh air na frithealaichean fhèin.
  5. A’ cuingealachadh ruigsinneachd air faidhlichean aig ìre siostam faidhle. Faodaidh tu còraichean agus sochairean inntrigidh a bhuileachadh air clàran gus nach bi cothrom aig gach rianaire ach air an dàta riatanach.
  6. Cothrom èigneachail agus glanadh cuimhne - is ann ainneamh a bhios na teicneòlasan sin air an cleachdadh.
  7. Is e crioptachadh ceann-gu-deireadh dìreach bhon DBMS crioptachadh taobh teachdaiche le prìomh riaghladh air taobh an fhrithealaiche.
  8. Crioptachadh dàta. Mar eisimpleir, tha crioptachadh colbh nuair a chleachdas tu inneal a chrioptaicheas aon cholbh den stòr-dàta.

Ciamar a bheir seo buaidh air coileanadh an DBMS?

Bheir sinn sùil air an eisimpleir de chrioptachadh colbh ann am PostgreSQL. Tha modal pgcrypto ann, leigidh e leat raointean taghte a stòradh ann an cruth crioptaichte. Tha seo feumail nuair nach eil ach cuid de dhàta luachmhor. Gus na raointean crioptaichte a leughadh, bidh an neach-dèiligidh a’ sgaoileadh iuchair dì-chrioptachaidh, bidh an frithealaiche a’ dì-chrioptachadh an dàta agus ga thilleadh chun neach-dèiligidh. Às aonais an iuchair, chan urrainn dha duine dad a dhèanamh leis an dàta agad.

Feuch an dèan sinn deuchainn le pgcrypto. Cruthaichidh sinn clàr le dàta crioptaichte agus dàta cunbhalach. Gu h-ìosal tha na h-òrdughan airson clàran a chruthachadh, anns a 'chiad loidhne tha òrdugh feumail - a' cruthachadh an leudachadh fhèin le clàradh DBMS:

CREATE EXTENSION pgcrypto;
CREATE TABLE t1 (id integer, text1 text, text2 text);
CREATE TABLE t2 (id integer, text1 bytea, text2 bytea);
INSERT INTO t1 (id, text1, text2)
VALUES (generate_series(1,10000000), generate_series(1,10000000)::text, generate_series(1,10000000)::text);
INSERT INTO t2 (id, text1, text2) VALUES (
generate_series(1,10000000),
encrypt(cast(generate_series(1,10000000) AS text)::bytea, 'key'::bytea, 'bf'),
encrypt(cast(generate_series(1,10000000) AS text)::bytea, 'key'::bytea, 'bf'));

An ath rud, feuchaidh sinn ri sampall dàta a dhèanamh bho gach clàr agus coimhead air na h-amannan cur gu bàs.

A’ taghadh bho bhòrd gun ghnìomh crioptachaidh:

psql -c "timing" -c "select * from t1 limit 1000;" "host=192.168.220.129 dbname=taskdb
user=postgres sslmode=disable" > 1.txt

Tha an stopwatch air.

  id | teacs1 | teacs2
——+——-+——-
1 | 1 | 1
2 | 2 | 2
3 | 3 | 3
...
997 | 997 | 997
998 | 998 | 998
999 | 999 | 999
1000 | 1000 | 1000
(1000 loidhne)

Uair: 1,386 ms

Taghadh bho bhòrd le gnìomh crioptachaidh:

psql -c "timing" -c "select id, decrypt(text1, 'key'::bytea, 'bf'),
decrypt(text2, 'key'::bytea, 'bf') from t2 limit 1000;"
"host=192.168.220.129 dbname=taskdb user=postgres sslmode=disable" > 2.txt

Tha an stopwatch air.

  id | dì-chrioptachadh | dì-chrioptachadh
——+—————+————
1 | x31 | x31
2 | x32 | x32
3 | x33 | x33
...
999 | x393939 | x393939
1000 | x31303030 | x31303030
(1000 loidhne)

Uair: 50,203 ms

Toraidhean deuchainn:

 
Às aonais crioptachadh
Pgcrypto (dì-chrioptachadh)

Eisimpleir 1000 sreath
1,386 ms
50,203 ms

CPU
15%
35%

RAM
 
+ 5%

Tha buaidh mhòr aig crioptachadh air coileanadh. Chìthear gu bheil an ùine air a dhol am meud, leis gu bheil feum air goireasan cudromach airson gnìomhachd dì-chrioptachaidh dàta crioptaichte (agus mar as trice bidh dì-chrioptachadh fhathast ceangailte nad loidsig). Is e sin, tha am beachd a bhith a’ crioptachadh a h-uile colbh anns a bheil beagan dàta làn de lùghdachadh ann an coileanadh.

Ach, chan e peilear airgid a th’ ann an crioptachadh a dh’ fhuasglas a h-uile duilgheadas. Tha an dàta dì-chrioptaichte agus an iuchair dì-chrioptachaidh rè pròiseas dì-chrioptachadh agus tar-chuir an dàta suidhichte air an fhrithealaiche. Mar sin, faodar na h-iuchraichean a ghlacadh le cuideigin aig a bheil làn chothrom air frithealaiche an stòr-dàta, leithid rianadair an t-siostaim.

Nuair a tha aon iuchair ann airson a 'cholbh gu lèir airson a h-uile neach-cleachdaidh (eadhon mura h-eil e airson a h-uile duine, ach airson luchd-dèiligidh seata cuingealaichte), chan eil seo daonnan math agus ceart. Is e sin as coireach gun do thòisich iad air crioptachadh deireadh-gu-deireadh a dhèanamh, anns an DBMS thòisich iad a’ beachdachadh air roghainnean airson dàta a chrioptachadh air taobh teachdaiche is frithealaiche, agus nochd na h-aon stòradh prìomh-bhogha sin - toraidhean air leth a bheir seachad prìomh riaghladh air an DBMS taobh.

Tèarainteachd agus DBMS: na dh'fheumas tu a chuimhneachadh nuair a thaghas tu innealan tèarainteachd
Eisimpleir de leithid de chrioptachadh ann am MongoDB

Feartan tèarainteachd ann an DBMS malairteach agus stòr fosgailte

Feartan
Seòrsa
Poileasaidh Facal-faire
sgrùdadh
Dìon còd stòr mhodhan-obrach agus gnìomhan
EPIRB
crioptachaidh

Oracle
malairteach
+
+
+
+
+

MsSql
malairteach
+
+
+
+
+

Jatoba
malairteach
+
+
+
+
leudachain

PostgreSQL
Saor an-asgaidh
leudachain
leudachain
-
+
leudachain

MongoDb
Saor an-asgaidh
-
+
-
-
Ri fhaighinn ann am MongoDB Enterprise a-mhàin

Tha an clàr fada bho bhith coileanta, ach is e seo an suidheachadh: ann am bathar malairteach, chaidh duilgheadasan tèarainteachd fhuasgladh airson ùine mhòr, ann an stòr fosgailte, mar riaghailt, thathas a ’cleachdadh cuid de thuilleadan airson tèarainteachd, tha mòran ghnìomhan a dhìth , uaireannan feumaidh tu rudeigin a chur ris. Mar eisimpleir, poileasaidhean facal-faire - tha mòran leudachadh eadar-dhealaichte aig PostgreSQL (1, 2, 3, 4, 5), a bhios a’ cur an gnìomh poileasaidhean facal-faire, ach, nam bheachd-sa, chan eil gin dhiubh a’ còmhdach feumalachdan na roinne corporra dachaigheil.

Dè nì thu mura h-eil na tha a dhìth ort an àite sam bith? Mar eisimpleir, tha thu airson DBMS sònraichte a chleachdadh aig nach eil na gnìomhan a dh’ fheumas an neach-ceannach.

An uairsin faodaidh tu fuasglaidhean treas-phàrtaidh a chleachdadh a bhios ag obair le diofar DBMSn, mar eisimpleir, Crypto DB no Garda DB. Ma tha sinn a 'bruidhinn mu dheidhinn fuasglaidhean dachaigheil, tha fios aca mu GOSTs nas fheàrr na ann an stòr fosgailte.

Is e an dàrna roghainn na tha a dhìth ort fhèin a sgrìobhadh, ruigsinneachd dàta agus crioptachadh a chuir an gnìomh san tagradh aig ìre modh-obrach. Fìor, bidh e nas duilghe le GOST. Ach san fharsaingeachd, faodaidh tu an dàta fhalach mar a dh ’fheumar, a chuir ann an DBMS, an uairsin fhaighinn air ais agus a dhì-chrioptachadh mar a dh’ fheumar, dìreach aig ìre an tagraidh. Aig an aon àm, smaoinich sa bhad air mar a dhìonas tu na h-algorithms sin san tagradh. Nar beachd-sa, bu chòir seo a dhèanamh aig ìre DBMS, oir obraichidh e nas luaithe.

Chaidh an aithisg seo a thaisbeanadh an toiseach aig @Stòr-dàta Coinnich le Mail.ru Cloud Solutions. Seall видео cuirmean eile agus fo-sgrìobh gu fiosan tachartais air Telegram Timcheall air Kubernetes aig Mail.ru Group.

Dè eile a leughas tu air a’ chuspair:

  1. Barrachd air Ceph: stòradh bloc sgòthan MCS.
  2. Mar a roghnaicheas tu stòr-dàta airson pròiseact gus nach fheum thu taghadh a-rithist.

Source: www.habr.com

Cuir beachd ann