แฉแแแ แฌแแ แแแขแแแแ แจแแแฅแแแแแ แฉแแแแ PostgreSQL แแแแแชแแแแ แแแแแก แกแขแ แฃแฅแขแฃแ แ แแแ แแกแแแแแแแชแแแก แจแแกแแแแฎแแ, แแแแแแ แแ แแ แฌแแแ, แแแแฎแแแ แแแแแแ แแฅแขแแฃแ แแ แแแกแแแแ แแแก แแ แแฎแแ แแก แจแแแชแแแก แแแแแแแแแแ แฉแแแแฌแแ แ, แแ... แ แแฆแแชแแ แจแแแแแแแ แแแแฌแงแ.
แแแฌแแแ 1: แแแแแก แฉแแ แฉแแก แแแแแแแ - แแแฌแแแ 2: แแแแงแแคแแแแแ "แแแแแแแกแแแแก"
แคแแฅแขแแ, แ แแ แ แแแแ แช แชแฎแ แแแแก แแแแ แแแ แแแแ, แแกแแแ แแแ แแแแ แแแแแฅแกแแแแก "แกแแฆแ แแ". - แแฆแแแ แแแแแ แแแแฃแแแ. แแแแ แแ แแ แแแ แแแแแแแแแแแจแ แแก แแแซแฃแแแแก แกแแ แแแ แก แจแแแกแ แฃแแแก แแแแแ แฌแแแแแฎแแ/แฉแแฌแแ แ แแแแแชแแแแ แแ แแแแแฏแแ แแแขแ แแแแ แแแก แแแแฃแจแแแแแแแแแ แ แแแกแแฌแงแแกแจแ.
แกแฌแแ แแ แแฅ แแแแแก แกแแฅแแ แกแแแแจแแแแแจแ แแแแงแแคแแแแแ.
แแแแ แแแแแชแแ แแฆแแแแจแแ, แ แแ แฉแแแ แแ แแกแแฃแแ แแแ sharding-แแ, แแแฃ แแแแแชแแแแ แแแแแฌแแแแแแแ แกแฎแแแแแกแฎแแ แแแแแชแแแแ แแแแแแกแ แแฃ แกแแ แแแ แแแก แจแแ แแก. แ แแแแแแแช แแ แแแแแชแแแแแแก แแแงแแคแ แแแแแแ แแ แกแแ แแแ แแแแ, แแ แแแ แแแแแแแแแแแจแ แแ แแแแจแแ แแแ แแแแแฅแกแแแแก โแจแแจแฃแแแแแกโ แแ แแแแแแแก. แแแกแแแแแแ, แ แแ แแฃ แแฅแแแ แจแแซแแแแ แงแแแแแแฆแแฃแ แแ แแฎแแแ แกแแ แแแ แแก แแแแฅแแแแแแแก, แแแจแแ แแฅแแแแ แแ แแแแแแแแ แกแแแ แแแ แแฆแแ แแฅแแแแ แแแแแ แแขแฃแแ แแแแแชแแแแ แแแแแก แกแแแ แขแงแแจแ.
แฉแแแ แแแแแแฎแแแแแ แแ แ แแแแแ แแขแฃแ แกแแ แแแขแแแก "แขแแฅแแแแแจแ" แแแแแงแแคแแก แแแแกแแฎแแ แชแแแแแแแแ, แแ แแแแ แแแแแ แแแแแแแแก - แ แ แแ แ แแแแ แฃแแแ แแงแแก "แแแญแ แแแ" แแ แ แแก แแฌแแแแก แแกแแแ แกแฃแ แแแแ.
แฒจแแแแแ แกแ
แแแแแ แแแแแกแแแฆแแ แแ แฉแแแแ แแแแแแ แแแแแ แแ แแฎแแ: แแแแแแ แแแแ แฌแแฃแแแแ, แ แแ แแฆแแก, แฎแแแ แแ แแ แ แฌแแแแฌแแแจแ PostgreSQL-แแก แแแแ แฌแแแแแฎแฃแแ แแแแแชแแแแแแก แ แแแแแแแแ แฌแแแแแฎแแแก/แฉแแฌแแ แแก แแแแแกแแแแ แ แแแแ แแชแแแก แแ แแก แแแแฎแแแแแแ แแแแแ แแแ แฉแแแ.
แแแแแกแแแแ แแกแแแแก แฅแ แแแแแแแแฃแ แแ แแแแ แแแแแ แแแแแชแแแแแ (แจแแขแงแแแแแแแแแ, แแแแฃแแแแขแแแ, แแฃแ แแแแแแ, แแ แฅแแแแแ, ...) แแฃแแแแ แแแ แแ แฉแแแแแ, แ แแแแ แช แแแแแงแแคแแก แแแกแแฆแแแ แแ แแก แฆแแแแกแซแแแแแก แแแ แแฆแ/แแ แ. แฉแแแแก แจแแแแฎแแแแแจแ แแกแแแ แแแแแแแแ แจแแขแงแแแแแแแแก แแแแแแแแแก แแแแแแขแ.
แแแแแแแแแกแฌแแแแ, แ แแ แแแแฎแแแ แแแแแแ แแแแฅแแแก แงแแแแแแแแก แแแฃแจแแแแ แแฎแแแแ "แฃแแฎแแแกแแแแแ". แแกแแแ แแแแแชแแแแแ - แแแแฎแฃแแแแแ แฃแแฎแแแก แจแแขแงแแแแแแแแแก, แแแแแแแแแแแ แฃแแฎแแแก แแฃแ แแแแแแก... แแ แ, แ แ แแฅแแ แฃแแแ, แจแแฃแซแแแแ แแ แแจแ แฃแคแ แ แฌแแ แแแแแแแแแแแแ, แแแแ แแ แแแแก แซแแแแแ แแจแแแแแแ แแแแแแแแ.
แแ แจแแแฆแฃแแแแแแแแ แแ แแแแแ, แ แแ แจแแขแงแแแแแแแแก แแแขแแแแแฃแ แ แแแแแฌแงแแแขแ แแฅแแแแ "แงแแแแแแฆแแฃแ แ" แกแแฅแชแแแแ - แแแแแก แแ แแแแแก, แฉแแแแ แแแแฎแแแ แแแแแ แแแแฅแแแก แงแแแแแแแแก แฌแแแแแแฎแแแก แ แ แแแฃแแแแ แแแก "แแฆแแก" แแ "แแฃแจแแ".
แแฃ แแฆแแก แแแแแแแแแแแจแ แแฌแแ แ แแ แแแแแฎแฃแแแแ แแแแฅแแแก แแฎแแแแ แแ แ แแแแแแแแแจแ, แแแจแแ แแกแแช แแแแซแแแแก แแแฎแกแแแ แแแแก แแ แแแกแแแก แฃแคแ แ แแคแแฅแขแฃแ แ แแแแแงแแแแแ - แ แแแแแ แงแแแแ แแแแงแแคแแแแแแก แแแแแฅแกแ แแแแแแแ แฏแแแแ RAM-แจแ, แแแแกแฎแแแแแแแ "แแแแ แแ แแกแฃแฅแแแ" แแแแ แแแแแแแแ.
แแแแแฏ - แแแแแฏ
แแแแแแแ, แงแแแแแคแแ แ, แ แแช แแแแแ แแ แแก แแแแฅแแแแ, แแ แ แฃแฌแงแแแข แแแแแแแก แฐแแแแก. แแ แแก แแแฆแฌแแแแแแ, แแแแ แแ แแแแกแแแแก แแแแ แ แฃแแแ แแแชแแแแ - แแแแขแแ แแ แ-แแ แแ แกแฃแแแแฅแขแแก แแแงแแคแแก แแแแแฌแงแแแขแแแแแ แแฌแแแแก แแกแแชแแ แแแฃแแแก โแแแแแฎแแแกโ แแฃแชแแแแแแแแแก.
แจแแขแงแแแแแแแ, แแแกแ แแแแกแแแแแ แแ แแ แแแแแแแแ
แแแก แจแแแแแ, แ แแช แแแแแแฌแงแแแขแแ แจแแขแงแแแแแแแแแแก แแแ แแฆแแแแก แแแฎแแแแแ แแแญแ แ, แแแ แ แแฅแแก แแแ แแแแ แแแแแ แแแแแแแแแแฃแแ แแ แแแฃแแแแ-แแแแกแแแแแ (แแแ แแฃแแ แคแแแแแแ, แแแแฆแแแแ แกแแ) แแแงแแคแ แแ แแกแแแ แจแแขแงแแแแแแแแก แแแ แแฆแแ.
แแแแแแแแ แฉแแแแ แแ แ-แแ แแ แขแแแแฃแ แ แแแแชแแแแ แแฃแกแขแแ แแแฎแแก แจแแขแงแแแแแแแแแแก แ แแแแกแขแ แแแ (แฌแแแแแฎแฃแแ, แจแแแแแแแแแ, แงแแแแ), แแกแแแ แแแแแแฃแ แแ โแจแแแแขแแแแ แแกแแแโ แแแงแแคแแจแ แจแแขแงแแแแแแแแก แแแ แแฆแแแแก แแแฎแแแแแ.
แฉแแแ แแแแแขแแแ แแแแแงแแคแแก แแแกแแฆแแแก (แจแแขแงแแแแแแแแก แแแ แแฆแก) แงแแแแ แชแฎแ แแแก: แแแแฆแแแแแก, แคแแแแแแก, แ แแแกแขแ แแแก. แแฅแแแ แแ แแญแแ แแแแแ แแแกแ แแแแแขแแแ แแแแแ แจแแขแงแแแแแแแแจแ, แแแแ แแ แแแแแแงแแแแ แแ แกแแแฃแแ DateTime.
ะขะตะผั
แแแแแแแแ แ แแแแแแแแ แแแกแแฏแแกแแแแก แแฎแแแแ แแ แแ แแแแแ, แแ แแ แกแแแแแก แแแกแ แแ แ แแแแแแจแ โแแแญแ แแกโ แแแ, แแฅแแแ แฃแแแ แแแแงแ แแแแ แกแฎแแ แ แแแแก. แฉแแแแก แจแแแแฎแแแแแจแ แแแแแแฃแ แแ แแแแแฌแแ แแจแ แแแ แแแแ แจแแขแงแแแแแแแแก แแแ แแฆแ โ แแแฃ, แคแแฅแขแแแ แแแแ, แแแแแก แจแแฅแแแแก แแแแแแขแ.
แแแแแแขแแ แแแแแงแแคแแก แแแกแแฆแแแ (แแแแแก แแแ แแฆแ) แงแแแแ แชแฎแ แแแก: แแแแ, แแแแแฌแแแ.
แแแแ แแ แแฎแแ แฉแแแ แแแแฅแแก แแ แ แแ แแแแแแ แแ แแแ แแฃแแแ:
- แ แแแแ แแแแงแแคแแแแแแจแ แฃแแแ แแแซแแ แจแแขแงแแแแแแแแแ แแแแแแ?
- แ แแแแ แแแแงแแคแแแแแแจแ แฃแแแ แแแซแแ แแแแ แแแกแแฏแแแแ?
แฉแแแ, แ แ แแฅแแ แฃแแแ, แจแแแแแซแแแ แแแแแแ แซแแแแ แซแแแแ แงแแแแ แแแแงแแคแแแแแแจแ, แแแแ แแ แแก แซแแแแแ แกแแแฌแฃแฎแแ แ แแฅแแแแ แแ แงแแแแ แฉแแแแก แแแแแแแก แแแแฃแฅแแแแก. แแแแขแแ, แแแแกแแแแก, แ แแ แแแชแแแแ แแฃแกแขแแ แกแแ แฃแแแ แแแซแแแแ, แฉแแแ แแแแแแแแแแ แแแแแแฃแ แแแฃแแแแก / แแแแแแแแแแก แแแแงแแคแแแแแแแแ:
- แจแแขแงแแแแแแแแจแ แแแแแแแขแแแ แแแแแก แแแ แแฆแแก แแแแ
- แแแแแก แแแแแแแขแแ แแแงแแแแแฃแแแ แจแแขแงแแแแแแแแก แแแ แแฆแ แแก แแแแแฌแแ แ (แจแแแซแแแแ แแงแแก แชแแแแ แชแฎแ แแแ แแ แแแ แแฆแแแแก แแแกแแแ)
แแแแก แแแแ, แ แแ แจแแขแงแแแแแแแแแแก แแแ แแฆแแแแก แกแแแจแ แ แแแแแแแแ แชแแแแแแแ แแฅแแแแ แแแแแแฃแแ แแแแแแแแฃแแแฃแ แ แแแแแฌแแ แแกแแแแก (แแแแแก แแ แแแแแก, แแแแฅแแแก แงแแแแ แจแแขแงแแแแแแแ แแแแแก 1-2 แแแแแแแแ แ แแฆแแก), แแ แงแฃแ แแแฆแแแแก แแแแแแแฎแแแแแ แแ แแแ แแแแขแแ.
แกแแแ แแ แฏแแแจแ, แฉแแแแ แแแแแชแแแแ แแแแแก แกแขแ แฃแฅแขแฃแ แแ แแแแฆแ แจแแแแแแ แคแแ แแ แแแงแแคแแก แแแแแแแแกแฌแแแแแแ:
แชแฎแ แแแแแ: RU, แแฃ แแฅแแแ แแแฅแแ แแแแฆแ แแแ แแฃแแ แแแแแแแก แแแแแ แ แชแฎแ แแแแแแก/แแแแแแแก แกแแฎแแแแแจแ, แฏแแแแ แแ แจแแฎแแแแ
-- ัะตะบัะธะธ ะฟะพ ะดะฐัะต ัะพะพะฑัะตะฝะธั
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
);
แแแแแแ แกแแแแแแ แแแแ
แ แ แแแฎแแแแ, แแฃ แแ แแแแแแแงแแแแแ
แแกแ แ แแ, แแฃ แแกแ แฎแแ แซแแแแแ แแแฌแฃแฎแแแ แจแแแแฎแฃแแ แแแแแชแแแแแแก แ แแแแแแแแ?, แแแจแแ แจแแแแซแแแแ แแแแชแแแแ แแก โแแแแแขแแแแแโ แแแแแแ แแ แแแแแ แแแ แแแแแ แแขแฃแ แชแฎแ แแแแแก. แแแ แแแแแ, แแ แจแแแแฎแแแแแจแ แ แแแแแแแแ แกแแฅแชแแแแแ แงแแแแ แแ แฉแแแแแ แฃแแแ แแแแแแแแแก แแแแแชแฎแแแแก แแฎแแ แแก.
แฌแงแแ แ: www.habr.com