Pātengi raraunga Karere (wahanga 2): wehewehe "mo te pai"

Kua pai ta matou hoahoa i te hanganga o to maatau putunga korero PostgreSQL mo te rokiroki reta, kua pahemo te tau, kei te kaha te whakakii i nga kaiwhakamahi, inaianei kei roto. miriona rekoata, a... ka timata tetahi mea ki te puhoi haere.

Pātengi raraunga Karere (wahanga 2): wehewehe "mo te pai"
Ko Point e Ka piki ake te rahi o te tepu, ka piki ake te "hohonu" o nga tohu. - ahakoa he taurite. Engari i te roanga o te wa ka kaha te kaimau ki te mahi i nga mahi panui/tuhi ano tukatuka he maha nga wa maha atu nga wharangi raraungaatu i te timatanga.

Koinei te waahi ki te whakaora wehewehenga.

Kia mahara ahau kaore matou e korero ana mo te sharding, ara, te tohatoha raraunga i waenga i nga papaaarangi rereke, i nga kaitoro ranei. Na te mea ko te wehewehe i nga raraunga ki roto maha tūmau, e kore koe e maka atu i te raruraru o te taupū "pupuhi" i roto i te wā. E marama ana mena ka taea e koe te whakauru i tetahi tūmau hou ki te mahi i ia ra, katahi ka kore o raru e takoto i runga i te waka rererangi o tetahi putunga raraunga motuhake.

Ka whakaarohia e maatau nga tuhinga motuhake mo te whakatinana i te wehewehe "i roto i nga taputapu", engari ko te huarahi ake - he aha me pehea te "tapahia ki nga poro", me te aha o taua hiahia.

Kaupapa

Me tautuhi ano ta tatou whainga: e hiahia ana matou ki te whakarite i tenei ra, apopo, a i roto i te tau kotahi, ko te nui o nga raraunga ka panuihia e PostgreSQL i nga mahi panui/tuhi ka noho rite tonu.

Mo tetahi raraunga kua whakaemihia (karere, tuhinga, rangitaki, puranga, ...) ko te kowhiringa maori hei taviri wehewehe rā/wā huihuinga. I roto i to maatau, he huihuinga pera te wa o te tuku karere.

Kia mahara ko nga kaiwhakamahi tata tonu mahi anake me nga mea "hou". ko enei raraunga - ka panui ratou i nga karere hou, ka tātari i nga raarangi hou,... Kao, kare, ka taea e ratou te huri haere ki muri i te waa, engari he iti rawa te mahi.

Mai i enei here e marama ana ko te otinga karere tino pai nga waahanga "ia ra". - i muri i nga mea katoa, ka panuihia e taatau kaiwhakamahi nga mea i pa mai ki a ia "i tenei ra" ranei "inanahi".

Mena ka tuhi tatou me te panui tata ki te waahanga kotahi noa i te ra, ka homai ano e tenei ki a tatou he pai ake te whakamahi i te mahara me te kōpae - na te mea he ngawari te uru o nga tohu waahanga katoa ki te RAM, he rereke ki nga mea "nui me te ngako" puta noa i te tepu.

taahiraa-i te-taahiraa

I te nuinga o te waa, ko nga mea katoa i kiia i runga ake nei ka rite ki te hua kotahi tonu. A ka taea, engari mo tenei me whakapau kaha tatou - na te mea ko te whakatau ki te wehewehe i tetahi o nga hinonga e arai ana ki te hiahia ki te "kite" nga hononga.

Karere, ona taonga me ona matapae

I te mea i whakatau matou ki te tapahi i nga karere ma nga ra, he mea tika kia wehewehea nga hinonga-ahuatanga e whakawhirinaki ana ki a raatau (nga konae taapiri, rarangi o nga kaiwhiwhi), me ma te ra o te karere.

I te mea ko tetahi o a maatau mahi ko te maataki i nga rehita karere (kaore ano kia panuitia, taumai, katoa), he mea tika ano kia "kumea mai" ki te wehewehe i nga ra korero.

Pātengi raraunga Karere (wahanga 2): wehewehe "mo te pai"

Ka taapirihia e matou te matua wehewehe (te ra korero) ki nga ripanga katoa: nga kaiwhiwhi, nga konae, nga rehita. Kaore koe e whai ki te taapiri atu ki te karere ake, engari whakamahia te DateTime.

aho

I te mea kotahi noa te kaupapa mo te maha o nga karere, kaore he huarahi ki te "tapahia" i te tauira kotahi; me whakawhirinaki koe ki tetahi atu mea. I roto i to maatau he pai te ra o te karere tuatahi i roto i nga reta reta — ara, ko te wa o te orokohanga, i roto i te meka, o te kaupapa.

Pātengi raraunga Karere (wahanga 2): wehewehe "mo te pai"

Tāpirihia te kī wehewehe (te rā kaupapa) ki ngā ripanga katoa: kaupapa, kaiuru.

Inaianei e rua nga raruraru i te wa kotahi:

  • Ko tehea wahanga me rapu au mo nga korero mo te kaupapa?
  • I tehea wahanga me rapu au mo te kaupapa mai i te karere?

Ka taea e taatau te haere tonu ki te rapu i nga waahanga katoa, engari ka tino pouri tenei ka whakakore i o maatau toa katoa. No reira, kia mohio ai ki te waahi ka tika te titiro, ka hanga hononga arorau/tohu tohu ki nga waahanga:

  • ka tapiritia e matou i roto i te karere āpure rā kaupapa
  • me tapiri atu ki te kaupapa kua whakaritea te ra karere tenei reta (he ripanga motuhake, he huinga ra ranei)

Pātengi raraunga Karere (wahanga 2): wehewehe "mo te pai"

I te mea he iti noa nga whakarereketanga ki te rarangi o nga ra korero mo ia reta takitahi (i muri i nga mea katoa, tata katoa nga karere ka taka ki te 1-2 nga ra tata), ka aro ahau ki tenei waahanga.

I roto i te katoa, ko te hanganga o to maatau papaarangi i whai ahua e whai ake nei, me te whakaaro ki te wehewehenga:

Ripanga: RU, ki te mea he whakahē koe ki te reta Cyrillic i roto i nga ingoa o nga ripanga / mara, he pai ake kia kaua e titiro.

-- секции по дате сообщения
CREATE TABLE "Сообщение_YYYYMMDD"(
  "Сообщение"
    uuid
      PRIMARY KEY
, "Тема"
    uuid
, "ДатаТемы"
    date
, "Автор"
    uuid
, "ДатаВремя" -- используем как дату
    timestamp
, "Текст"
    text
);

CREATE TABLE "Адресат_YYYYMMDD"(
  "ДатаСообщения"
    date
, "Сообщение"
    uuid
, "Персона"
    uuid
, PRIMARY KEY("Сообщение", "Персона")
);

CREATE TABLE "Файл_YYYYMMDD"(
  "ДатаСообщения"
    date
, "Файл"
    uuid
      PRIMARY KEY
, "Сообщение"
    uuid
, "BLOB"
    uuid
, "Имя"
    text
);

CREATE TABLE "РеестрСообщений_YYYYMMDD"(
  "ДатаСообщения"
    date
, "Владелец"
    uuid
, "ТипРеестра"
    smallint
, "ДатаВремя"
    timestamp
, "Сообщение"
    uuid
, PRIMARY KEY("Владелец", "ТипРеестра", "Сообщение")
);
CREATE INDEX ON "РеестрСообщений_YYYYMMDD"("Владелец", "ТипРеестра", "ДатаВремя" DESC);

-- секции по дате темы
CREATE TABLE "Тема_YYYYMMDD"(
  "ДатаТемы"
    date
, "Тема"
    uuid
      PRIMARY KEY
, "Документ"
    uuid
, "Название"
    text
);

CREATE TABLE "УчастникТемы_YYYYMMDD"(
  "ДатаТемы"
    date
, "Тема"
    uuid
, "Персона"
    uuid
, PRIMARY KEY("Тема", "Персона")
);

CREATE TABLE "ДатыСообщенийТемы_YYYYMMDD"(
  "ДатаТемы"
    date
, "Тема"
    uuid
      PRIMARY KEY
, "Дата"
    date
);

Whakaorangia he pene ataahua

Ana, he aha mena kaore e whakamahia e tatou kōwhiringa wāhanga matarohia i runga i te tohatoha o nga uara mara (na roto i nga kaiwhaiwhai me nga taonga tuku iho, PARTITION BY ranei), me te "a-ringa" i te taumata tono, ka kite koe kua rongoahia te uara o te kii wehewehe i te ingoa o te ripanga ake.

Na, ki te pena koe Kei te tino awangawanga koe mo te nui o nga raraunga kua rongoa?, ka taea e koe te whakakore i enei mara "atu" me te whakatutuki i nga ripanga motuhake. Pono, ko nga kowhiringa katoa mai i nga waahanga maha o tenei keehi me whakawhiti ki te taha tono.

Source: will.com

Tāpiri i te kōrero