Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2Farawa - duba sashi na 1.

3. Bambance-bambancen tsari lokacin amfani da duniya

Tsarin kamar itacen da aka ba da oda yana da lokuta na musamman daban-daban. Bari mu yi la'akari da waɗanda ke da fa'ida mai amfani yayin aiki tare da duniya.

3.1 Hali na musamman 1. Kudi ɗaya ba tare da rassan ba


Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2Ana iya amfani da duniya ba kawai kamar tsararru ba, har ma kamar masu canji na yau da kullun. Misali, a matsayin counter:

Set ^counter = 0  ; установка счётчика
Set id=$Increment(^counter) ;  атомарное инкрементирование

A wannan yanayin, na duniya, ban da ma'anarsa, yana iya samun rassa. Daya baya ware daya.

3.2 Hali na musamman 2. Tsayi ɗaya da rassa masu yawa

Gabaɗaya, wannan ƙaƙƙarfan tushe-darajar maɓalli ne. Kuma idan muka adana tuple na dabi'u a matsayin darajar, za mu sami tebur na yau da kullun tare da maɓallin farko.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2

Don aiwatar da tebur akan abubuwan duniya, dole ne mu samar da kanmu layuka daga ƙimar ginshiƙi, sannan mu adana su zuwa duniya ta amfani da maɓallin farko. Don sake sake raba kirtani zuwa ginshiƙai, kuna iya amfani da:

  1. haruffa masu iyaka.
    Set ^t(id1) = "col11/col21/col31"
    Set ^t(id2) = "col12/col22/col32"
  2. m makirci a cikinsa kowane filin ya ƙunshi ƙayyadadden adadin bytes. Kamar yadda ake yi a cikin bayanan bayanai.
  3. wani aiki na musamman $ LB (samuwa a cikin Cache), wanda ke haifar da kirtani na dabi'u.
    Set ^t(id1) = $LB("col11", "col21", "col31")
    Set ^t(id2) = $LB("col12", "col22", "col32")

Abin sha'awa, ba shi da wahala a yi amfani da abubuwan duniya don yin wani abu mai kama da fihirisa na biyu a cikin bayanai na alaƙa. Bari mu kira irin waɗannan sifofi na duniya. Ƙididdigar duniya itace mahimmin bishiyar don neman filaye da sauri waɗanda ba sa cikin maɓalli na farko na babban duniya. Don cika shi da amfani da shi, kuna buƙatar rubuta ƙarin lamba.

Bari mu ƙirƙiri fihirisar duniya a shafi na farko.

Set ^i("col11", id1) = 1
Set ^i("col12", id2) = 1

Yanzu, don neman bayanai cikin sauri a shafi na farko, dole ne mu duba cikin duniya ^i kuma nemo maɓallan farko (id) daidai da ƙimar da ake so na ginshiƙi na farko.

Lokacin shigar da ƙima, nan da nan za mu iya ƙirƙira duka ƙima da ƙima na duniya don filayen da ake buƙata. Kuma don amintacce, bari mu haɗa shi duka a cikin ma'amala.

TSTART
Set ^t(id1) = $LB("col11", "col21", "col31")
Set ^i("col11", id1) = 1
TCOMMIT

Cikakken bayani kan yadda ake yin shi akan M Tables a kan duniya, kwaikwayo na sakandare fihirisa.

Irin waɗannan tebur za su yi aiki da sauri kamar a cikin bayanan gargajiya (ko ma da sauri) idan an rubuta ayyukan don sakawa / sabuntawa / goge layuka a cikin COS / M kuma an haɗa su.Na duba wannan bayanin tare da gwaje-gwaje akan babban INSERT da SELECT a cikin tebur mai shafi guda biyu, gami da amfani da umarnin TSTART da TCOMMIT (ma'amaloli).

Ban gwada ƙarin hadaddun al'amura tare da samun dama da ma'amaloli guda ɗaya ba.

Ba tare da yin amfani da ma'amaloli ba, ƙimar shigar shine 778 abubuwan da aka saka/na biyu a cikin ƙimar miliyan.
Tare da ƙimar miliyan 300 - 422 shigarwa / na biyu.

Lokacin amfani da ma'amaloli - 572 abubuwan da aka saka/na biyu don shigarwar 082M. Dukkan ayyuka an yi su ne daga haɗar lambar M.
Hard Drive na yau da kullun ne, ba SSD ba. RAID5 tare da Rubuta-baya. Phenom II 1100T processor.

Don gwada bayanan SQL ta irin wannan hanya, kuna buƙatar rubuta hanyar da aka adana wacce za ta aiwatar da shigarwa cikin madauki. Lokacin gwada MySQL 5.5 (Ma'ajiyar InnoDB), ta amfani da wannan hanyar na karɓi lambobi waɗanda ba su wuce abubuwan sakawa 11K a sakan daya ba.
Ee, aiwatar da tebur akan abubuwan duniya ya fi rikitarwa fiye da na alaƙar bayanai. Don haka, bayanan masana'antu akan abubuwan duniya suna da damar SQL don sauƙaƙe aiki tare da bayanan tebur.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2Gabaɗaya, idan tsarin tsarin bayanan ba zai canza akai-akai ba, saurin shigarwa ba shi da mahimmanci kuma ana iya wakilta duka bayanan cikin sauƙi a cikin nau'ikan tebur ɗin da aka daidaita, to yana da sauƙin aiki tare da SQL, tunda yana ba da babban matakin abstraction. .

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2A cikin wannan yanayin musamman na so in nuna hakan Globals na iya aiki azaman mai gini don ƙirƙirar wasu bayanan bayanai. Kamar taron da ake iya rubuta wasu harsuna da su. Anan akwai misalan yadda zaku iya ƙirƙirar analogues akan abubuwan duniya maɓalli-darajar, jeri, saiti, tabular, bayanan bayanai masu tushen daftarin aiki.

Idan kana buƙatar ƙirƙirar wasu nau'ikan bayanan da ba daidai ba tare da ƙaramin ƙoƙari, to ya kamata ku kalli duniya.

3.3 Hali na musamman 3. Bishiyar bishiya, kowane kumburi na matakin na biyu yana da ƙayyadadden adadin rassa.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2Wataƙila kun yi tsammani: wannan madadin aiwatar da allunan kan duniya ne. Mu kwatanta wannan aiwatar da na baya.

Tables akan bishiyar mataki biyu vs. akan bishiyar mataki guda.

Минусы
Плюсы

  1. Sannu a hankali don shigarwa, tunda kuna buƙatar saita adadin nodes daidai da adadin ginshiƙai.
  2. Ƙarin amfani da sarari faifai. Tun da firikwensin duniya (wanda aka fahimta azaman maƙasudin tsararru) tare da sunayen ginshiƙan suna ɗaukar sararin faifai kuma ana kwafi akan kowane jere.

  1. Saurin samun dama ga ƙimar ginshiƙai ɗaya, tunda babu buƙatar rarraba kirtani. Dangane da gwaje-gwaje na, yana da sauri 11,5% akan ginshiƙai 2 kuma ƙari akan adadi mafi girma na ginshiƙai.
  2. Sauƙi don canza tsarin bayanai
  3. Karin share lamba

Kammalawa: ba don kowa ba. Tunda gudun yana ɗaya daga cikin mafi mahimman fa'idodin abubuwan duniya, babu ƙaramin ma'ana cikin amfani da wannan aiwatarwa, tunda ba zai yi sauri fiye da teburi a cikin bayanan alaƙa ba.

3.4 Gabaɗaya Harka. Bishiyoyi da itatuwan oda

Duk wani tsarin bayanan da za a iya wakilta a matsayin itace ya dace daidai da duniya.

3.4.1 Abubuwa tare da batutuwa

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2

Wannan yanki ne na al'adar amfani da duniya. A fannin likitanci akwai adadi mai yawa na cututtuka, magunguna, alamu, da hanyoyin magani. Ba daidai ba ne don ƙirƙirar tebur tare da filayen miliyan ga kowane mai haƙuri. Haka kuma, kashi 99% na filayen za su zama fanko.

Ka yi tunanin SQL database na tebur: "haƙuri" ~ 100 filayen, "Medicine" - 000 filayen, "Therapy" - 100 filayen, "Rikicin" - 000 filayen, da dai sauransu. da sauransu. Ko kuma za ku iya ƙirƙirar bayanai na dubban teburi, kowanne don takamaiman nau'in majiyyaci (kuma za su iya haɗawa!), Jiyya, magunguna, da ƙarin ƙarin teburi don haɗin kai tsakanin waɗannan tebur.

Globals sun dace da magani, yayin da suke ba ku damar ƙirƙirar wa kowane majiyyaci cikakken bayanin tarihin likitancinsa, hanyoyin warkewa daban-daban, da ayyukan magunguna, a cikin nau'in itace, ba tare da ɓata ƙarin sararin diski akan ginshiƙai mara kyau ba, kamar yadda zai yiwu. zama al'amarin a cikin wani dangantaka harka.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2Yin amfani da duniya yana dacewa don ƙirƙirar bayanai tare da bayanai game da mutane, lokacin da yake da mahimmanci don tarawa da tsara tsarin iyakar bayanai daban-daban game da abokin ciniki. Ana buƙatar wannan a cikin magunguna, banki, tallace-tallace, adana kayan tarihi da sauran fannoni

.
Tabbas, a cikin SQL kuma kuna iya yin koyi da itace tare da ƴan teburi kaɗan (EAV, 1,2,3,4,5,6,7,8,9,10), duk da haka wannan ya fi rikitarwa kuma zai kasance a hankali. Mahimmanci, dole ne ku rubuta na duniya wanda ke aiki akan tebur kuma ku ɓoye duk aikin tare da tebur a ƙarƙashin maƙalar abstraction. Ba daidai ba ne a yi koyi da ƙananan fasaha (duniya) ta amfani da fasaha mafi girma (SQL). Bai dace ba.

Ba sirri bane cewa canza tsarin bayanai akan manyan tebura (ALTER TABLE) na iya ɗaukar lokaci mai kyau. MySQL, alal misali, yana yin ALTER TABLE ADD|DROP COLUMN ta hanyar kwafin bayanai gaba ɗaya daga tsohon tebur zuwa sabon tebur (gwajin MyISAM, injunan InnoDB). Wanne zai iya rataya bayanan aiki tare da biliyoyin bayanai na kwanaki, idan ba makonni ba.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2Canza tsarin bayanai idan muka yi amfani da abubuwan duniya ba komai bane. A kowane lokaci za mu iya ƙara kowane sabon kaddarorin da muke buƙata ga kowane abu, a kowane matakin matsayi. Canje-canjen da ke da alaƙa da sake suna rassan ana iya gudanar da su a baya akan rumbun adana bayanai mai gudana.


Don haka, idan ana batun adana abubuwa tare da adadi mai yawa na kaddarorin zaɓi, duniya babban zaɓi ne.

Bugu da ƙari, bari in tunatar da ku cewa samun dama ga kowane ɗayan kadarorin yana nan take, tunda a cikin duniya duk hanyoyin bishiyar B.

Mahimman bayanai na duniya, gabaɗaya, nau'in bayanan bayanai ne masu dacewa da daftarin aiki tare da ikon adana bayanan matsayi. Don haka, bayanan da suka dace da daftarin aiki na iya yin gogayya da na duniya a fagen adana bayanan likita. Amma har yanzu ba haka yake baBari mu ɗauki MongoDB don kwatanta. A cikin wannan yanki yana yin hasarar duniya saboda dalilai masu zuwa:

  1. Girman takarda. Rukunin ajiya shine rubutu a tsarin JSON (mafi daidai BSON) tare da matsakaicin girma na kusan 16MB. An sanya takunkumin musamman don kada bayanan JSON ya ragu yayin tantancewa idan an adana babbar takardar JSON a ciki sannan a shiga ta filayen. Wannan takarda ya kamata ya ƙunshi duk bayanai game da majiyyaci. Dukanmu mun san yadda kauri bayanan haƙuri zai iya zama. Matsakaicin girman katin 16MB nan da nan ya kawo ƙarshen marasa lafiya waɗanda katin cutar ya haɗa da fayilolin MRI, sikanin X-ray da sauran karatu. A wani reshe na duniya zaka iya samun gigabytes da terabyte na bayanai. A ka'ida, za mu iya kawo karshen wannan, amma zan ci gaba.
  2. Lokacin sani/canji/sharewar sabbin kaddarorin a cikin jadawalin majiyyaci. Irin wannan ma'ajin bayanai dole ne ya karanta taswirar gabaɗaya zuwa ƙwaƙwalwar ajiya (wannan adadi ne mai yawa!), Rarraba BSON, ƙara/canza/ share sabon kumburi, sabunta fihirisa, shirya shi cikin BSON, kuma adana shi zuwa faifai. Duniya kawai yana buƙatar samun dama ga takamaiman dukiya da sarrafa ta.
  3. Saurin samun dama ga kaddarorin mutum ɗaya. Tare da kaddarorin da yawa a cikin takarda da tsarinsa masu yawa, samun dama ga kaddarorin mutum zai yi sauri saboda gaskiyar cewa kowace hanya a cikin duniya itace B-itace. A cikin BSON, dole ne ku rarraba daftarin aiki a layi daya don nemo kayan da ake so.

3.3.2 Ƙungiyoyin haɗin gwiwa

Shirye-shiryen haɗin gwiwa (har ma tare da tsararrun gida) sun dace daidai da na duniya. Misali, irin wannan tsararru daga PHP za a nuna shi a hoton farko na 3.3.1.

$a = array(
  "name" => "Vince Medvedev",
  "city" => "Moscow",
  "threatments" => array(
    "surgeries" => array("apedicectomy", "biopsy"),
    "radiation" => array("gamma", "x-rays"),
    "physiotherapy" => array("knee", "shoulder")
  )
);

3.3.3 Takardun ma'auni: XML, JSON

Hakanan ana adana shi cikin sauƙi a cikin duniya. Ana iya shimfiɗa ta ta hanyoyi daban-daban don ajiya.

XML
Hanya mafi sauƙi don lalata XML zuwa cikin duniya ita ce adana alamun alamar a cikin nodes. Kuma idan ana buƙatar samun saurin yin amfani da halayen tag, to, zamu iya motsa su zuwa rassan daban.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2

<note id=5>
<to>Вася</to>
<from>Света</from>
<heading>Напоминание</heading>
<body>Позвони мне завтра!</body>
</note>

Akan COS wannan zai dace da lambar:

Set ^xml("note")="id=5"
Set ^xml("note","to")="Саша"
Set ^xml("note","from")="Света"
Set ^xml("note","heading")="Напоминание"
Set ^xml("note","body")="Позвони мне завтра!"

Sharhi: Don XML, JSON, tsarin haɗin gwiwa, zaku iya fito da hanyoyi daban-daban na nunawa akan abubuwan duniya. A wannan yanayin, ba mu yi nuni da tsari na subtags a cikin alamar rubutu ba. Duniya ^xml ku subtags za a nuna a cikin jerin haruffa. Don tsananin nuna oda, zaku iya amfani da, misali, nuni mai zuwa:

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2
JSON.
Hoton farko daga sashe na 3.3.1 yana nuna kwatancen wannan takaddar JSON:

var document = {
  "name": "Vince Medvedev",
  "city": "Moscow",
  "threatments": {
    "surgeries": ["apedicectomy", "biopsy"],
    "radiation": ["gamma", "x-rays"],
    "physiotherapy": ["knee", "shoulder"]
  },
};

3.3.4 Sirri iri ɗaya da aka haɗa ta alaƙar matsayi

Misalai: tsarin ofisoshin tallace-tallace, wurin da mutane suke a cikin tsarin MLM, bayanai na budewa a cikin dara.

Debuts database. Kuna iya amfani da ƙididdigar ƙarfin bugun jini azaman ƙimar ƙima ta kumburin duniya. Sa'an nan, don zaɓar mafi ƙarfi motsi, zai isa ya zaɓi reshe tare da mafi girman nauyi. A cikin duniya, duk rassa a kowane mataki za a jera su ta hanyar ƙarfin motsi.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2

Tsarin ofisoshin tallace-tallace, tsarin mutane a cikin MLM. Nodes na iya adana wasu ƙimar caching waɗanda ke nuna halaye na gabaɗayan ƙaramin itace. Misali, adadin tallace-tallacen da aka ba da katako. A kowane lokaci muna iya samun adadi mai nuna nasarorin kowane reshe.

Globals su ne takuba-takuba don adana bayanai. Bishiyoyi. Kashi na 2

4. A waɗanne yanayi ne ya fi amfani a yi amfani da abubuwan duniya?

Rukunin farko yana gabatar da lokuta inda za ku sami gagarumar riba ta hanyar amfani da duniya, kuma na biyu lokacin da ƙira ko ƙirar bayanai za a sauƙaƙe.

Speed
Sauƙin sarrafa bayanai / gabatarwa

  1. Sakawa [tare da rarrabuwa ta atomatik a kowane matakin], [fitarwa ta maɓalli mai mahimmanci]
  2. Cire ƙananan bishiyoyi
  3. Abubuwan da ke da kaddarorin gidaje masu yawa waɗanda ke buƙatar isa ga mutum ɗaya
  4. Tsarin tsari tare da ikon ketare rassan yara daga kowane reshe, har ma da waɗanda ba su wanzu ba
  5. Zurfin-farko ta ratsa bishiyar ƙasa
  1. Abubuwa/halayen tare da ɗimbin adadin kaddarori/masu gida na zaɓi [da/ko gurbi]
  2. Bayanan ƙira-ƙasa. Lokacin da sabbin kaddarorin na iya bayyana sau da yawa kuma tsofaffin su bace.
  3. Kuna buƙatar ƙirƙirar bayanai na al'ada.
  4. Tushen hanyoyi da bishiyoyin yanke shawara. Lokacin da ya dace don wakiltar hanyoyi a matsayin itace.
  5. Cire tsarin matsayi ba tare da amfani da maimaitawa ba

Ci gaba "Globals ita ce takuba don adana bayanai. Tsara-tsare. Kashi na 3".

Disclaimer: Wannan labarin da sharhi na game da shi ra'ayina ne kuma ba su da alaƙa da matsayin hukuma na InterSystems Corporation.

source: www.habr.com

Add a comment