ืขืœื™ื‘ืื‘ื ืคืชื—ื” ืืช ื”ืงื•ื“ ืขื‘ื•ืจ PolarDB, DBMS ืžื‘ื•ื–ืจ ื”ืžื‘ื•ืกืก ืขืœ PostgreSQL.

ืขืœื™ื‘ืื‘ื, ืื—ืช ืžื—ื‘ืจื•ืช ื”-IT ื”ืกื™ื ื™ื•ืช ื”ื’ื“ื•ืœื•ืช, ืคืชื—ื” ืืช ืงื•ื“ ื”ืžืงื•ืจ ืฉืœ ื”-DBMS ื”ืžื‘ื•ื–ืจ PolarDB, ื”ืžื‘ื•ืกืก ืขืœ PostgreSQL. PolarDB ืžืจื—ื™ื‘ ืืช ื”ื™ื›ื•ืœื•ืช ืฉืœ PostgreSQL ืขื ื›ืœื™ื ืœืื—ืกื•ืŸ ื ืชื•ื ื™ื ืžื‘ื•ื–ืจ ืขื ืฉืœืžื•ืช ื•ืชืžื™ื›ื” ื‘ื˜ืจื ื–ืงืฆื™ื•ืช ACID ื‘ื”ืงืฉืจ ืฉืœ ื›ืœ ืžืกื“ ื”ื ืชื•ื ื™ื ื”ื’ืœื•ื‘ืœื™ ื”ืžื•ืคืฅ ืขืœ ืคื ื™ ืฆืžืชื™ ืืฉื›ื•ืœื•ืช ืฉื•ื ื™ื. PolarDB ืชื•ืžืš ื’ื ื‘ืขื™ื‘ื•ื“ ืฉืื™ืœืชื•ืช SQL ืžื‘ื•ื–ืจ, ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื•ืื—ืกื•ืŸ ื ืชื•ื ื™ื ืžื™ื•ืชืจ ืœืฉื—ื–ื•ืจ ืžื™ื“ืข ืœืื—ืจ ื›ืฉืœ ืฉืœ ืฆืžืชื™ื ืื—ื“ ืื• ื™ื•ืชืจ. ืื ืืชื” ืฆืจื™ืš ืœื”ืจื—ื™ื‘ ืืช ื”ืื—ืกื•ืŸ ืฉืœืš, ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ื•ืกื™ืฃ ืฆืžืชื™ื ื—ื“ืฉื™ื ืœืืฉื›ื•ืœ. ื”ืงื•ื“ ืคืชื•ื— ืชื—ืช ืจื™ืฉื™ื•ืŸ Apache 2.0.

PolarDB ืžื•ืจื›ื‘ ืžืฉื ื™ ืจื›ื™ื‘ื™ื - ื”ืจื—ื‘ื•ืช ื•ืกื˜ ืชื™ืงื•ื ื™ื ืขื‘ื•ืจ PostgreSQL. ืชื™ืงื•ื ื™ื ืžืจื—ื™ื‘ื™ื ืืช ื”ื™ื›ื•ืœื•ืช ืฉืœ ืœื™ื‘ืช PostgreSQL, ื•ื”ืจื—ื‘ื•ืช ื›ื•ืœืœื•ืช ืจื›ื™ื‘ื™ื ื”ืžื™ื•ืฉืžื™ื ื‘ื ืคืจื“ ืž-PostgreSQL, ื›ื’ื•ืŸ ืžื ื’ื ื•ืŸ ื ื™ื”ื•ืœ ืขืกืงืื•ืช ืžื‘ื•ื–ืจ, ืฉื™ืจื•ืชื™ื ื’ืœื•ื‘ืœื™ื™ื, ืžืขื‘ื“ ืฉืื™ืœืชื•ืช SQL ืžื‘ื•ื–ืจ, ืžื˜ื ื ืชื•ื ื™ื ื ื•ืกืคื™ื, ื›ืœื™ื ืœื ื™ื”ื•ืœ ืืฉื›ื•ืœื•ืช, ืคืจื™ืกืช ืืฉื›ื•ืœื•ืช ื•ืคื™ืฉื•ื˜ ื”ื”ื’ื™ืจื” ืฉืœ ื”ืžืขืจื›ื•ืช ื”ืงื™ื™ืžื•ืช ืืœื™ื•.

ื”ืชื™ืงื•ื ื™ื ืžื•ืกื™ืคื™ื ืœืœื™ื‘ืช PostgreSQL ื’ืจืกื” ืžื‘ื•ื–ืจืช ืฉืœ ื”ืžื ื’ื ื•ืŸ ืœื‘ืงืจืช ื’ื™ืฉื” ืžืงื‘ื™ืœื” ืœื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช multiversion (MVCC, Multiversion concurrency control) ืขื‘ื•ืจ ืจืžื•ืช ื‘ื™ื“ื•ื“ ืฉื•ื ื•ืช. ืจื•ื‘ ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ PolarDB ื›ืœื•ืœื” ื‘ื”ืจื—ื‘ื•ืช, ืžื” ืฉืžืคื—ื™ืช ืืช ื”ืชืœื•ืช ื‘-PostgreSQL ื•ืžืคืฉื˜ ืืช ื”ืขื“ื›ื•ืŸ ื•ื”ื”ื˜ืžืขื” ืฉืœ ืคืชืจื•ื ื•ืช ื”ืžื‘ื•ืกืกื™ื ืขืœ PolarDB (ื–ื” ืžืคืฉื˜ ืืช ื”ืžืขื‘ืจ ืœื’ืจืกืื•ืช ื—ื“ืฉื•ืช ืฉืœ PostgreSQL ื•ืฉืžื™ืจื” ืขืœ ืชืื™ืžื•ืช ืžืœืื” ืœ-PostgreSQL). ื›ื“ื™ ืœื ื”ืœ ืืช ื”ืืฉื›ื•ืœ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืขืจื›ืช ื”ื›ืœื™ื pgxc_ctl, ื”ืžื‘ื•ืกืกืช ืขืœ ื›ืœื™ ืขื–ืจ ื“ื•ืžื” ืž- PostgreSQL-XC ื•- PostgreSQL-XL.

ื™ืฉื ื ืฉืœื•ืฉื” ืžืจื›ื™ื‘ื™ื ื‘ืกื™ืกื™ื™ื ื‘ืืฉื›ื•ืœ: ืฆืžืชื™ ืžืกื“ ื ืชื•ื ื™ื (DN), ืžื ื”ืœ ืืฉื›ื•ืœื•ืช (CM) ื•ืฉื™ืจื•ืช ื ื™ื”ื•ืœ ืขืกืงืื•ืช (TM). ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืื–ืŸ ืขื•ืžืก ืคืจื•ืงืกื™. ื›ืœ ืจื›ื™ื‘ ื”ื•ื ืชื”ืœื™ืš ื ืคืจื“ ื•ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืื•ืชื• ืขืœ ืฉืจืช ืื—ืจ. ืฆืžืชื™ ืžืกื“ ื ืชื•ื ื™ื ืžืฉืจืชื™ื ืฉืื™ืœืชื•ืช SQL ืžืœืงื•ื—ื•ืช ื•ื‘ืžืงื‘ื™ืœ ืคื•ืขืœื™ื ื›ืžืชืืžื™ื ืฉืœ ื‘ื™ืฆื•ืข ืฉืื™ืœืชื•ืช ืžื‘ื•ื–ืจืช ื‘ื”ืฉืชืชืคื•ืช ืฆืžืชื™ ืžืกื“ ื ืชื•ื ื™ื ืื—ืจื™ื. ืžื ื”ืœ ื”ืืฉื›ื•ืœื•ืช ืขื•ืงื‘ ืื—ืจ ื”ืžืฆื‘ ืฉืœ ื›ืœ ืฆื•ืžืช ืžืกื“ ื ืชื•ื ื™ื, ืžืื—ืกืŸ ืืช ืชืฆื•ืจืช ื”ืืฉื›ื•ืœื•ืช ื•ืžืกืคืง ื›ืœื™ื ืœื ื™ื”ื•ืœ, ื’ื™ื‘ื•ื™, ืื™ื–ื•ืŸ ืขื•ืžืกื™ื, ืขื“ื›ื•ืŸ, ื”ืคืขืœื” ื•ืขืฆื™ืจื” ืฉืœ ืฆืžืชื™ื. ืฉื™ืจื•ืช ื ื™ื”ื•ืœ ื”ืขืกืงืื•ืช ืื—ืจืื™ ืœืฉืžื™ืจื” ืขืœ ื”ืฉืœืžื•ืช ื”ื›ื•ืœืœืช ื‘ื›ืœ ื”ืืฉื›ื•ืœ.

ืขืœื™ื‘ืื‘ื ืคืชื—ื” ืืช ื”ืงื•ื“ ืขื‘ื•ืจ PolarDB, DBMS ืžื‘ื•ื–ืจ ื”ืžื‘ื•ืกืก ืขืœ PostgreSQL.

PolarDB ืžื‘ื•ืกืก ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช ื”ืžื—ืฉื•ื‘ ื”ืžื‘ื•ื–ืจ Shared-nothing, ืœืคื™ื” ื”ื ืชื•ื ื™ื ืžื•ืคืฆื™ื ื›ืืฉืจ ื”ื ืžืื•ื—ืกื ื™ื ื‘ืฆืžืชื™ื ืฉื•ื ื™ื, ืœืœื ืฉื™ืžื•ืฉ ื‘ืื—ืกื•ืŸ ืžืฉื•ืชืฃ ืœื›ืœ ื”ืฆืžืชื™ื, ื•ื›ืœ ืฆื•ืžืช ืื—ืจืื™ ืขืœ ื—ืœืง ื”ื ืชื•ื ื™ื ื”ืžืฉื•ื™ื›ื™ื ืืœื™ื• ื•ืžื‘ืฆืข ืฉืื™ืœืชื•ืช ื”ืงืฉื•ืจื•ืช ืืœื™ื•. ืœื ืชื•ื ื™ื. ื›ืœ ื˜ื‘ืœื” ืžื ื•ืคืฆืช ืœื—ืœืงื™ื (ืจื™ืกื•ืง) ื‘ืืžืฆืขื•ืช hashing ื”ืžื‘ื•ืกืกืช ืขืœ ื”ืžืคืชื— ื”ืจืืฉื™. ืื ื”ื‘ืงืฉื” ืžืฉืชืจืขืช ืขืœ ื ืชื•ื ื™ื ื”ืžืžื•ืงืžื™ื ื‘ืฆืžืชื™ื ืฉื•ื ื™ื, ืžื•ืคืขืœื™ื ืžื ื’ื ื•ืŸ ื‘ื™ืฆื•ืข ืขืกืงืื•ืช ืžื‘ื•ื–ืจ ื•ืžืชืื ืขืกืงืื•ืช ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืื˜ื•ืžื™ื•ืช, ืขืงื‘ื™ื•ืช, ื‘ื™ื“ื•ื“ ื•ืืžื™ื ื•ืช (ACID).

ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืกื•ื‘ืœื ื•ืช ืœืชืงืœื•ืช, ื›ืœ ืžืงื˜ืข ืžืฉื•ื›ืคืœ ืœืฉืœื•ืฉื” ืฆืžืชื™ื ืœืคื—ื•ืช. ื›ื“ื™ ืœื—ืกื•ืš ื‘ืžืฉืื‘ื™ื, ื”ื ืชื•ื ื™ื ื”ืžืœืื™ื ื›ื•ืœืœื™ื ืจืง ืฉื ื™ ื”ืขืชืงื™ื, ื•ืื—ื“ ืžื•ื’ื‘ืœ ืœืื—ืกื•ืŸ ื™ื•ืžืŸ ื”ื›ืชื™ื‘ื” ื‘ื—ื–ืจื” (WAL). ืื—ื“ ืžืฉื ื™ ื”ืฆืžืชื™ื ืขื ื”ืขืชืงื™ื ืžืœืื™ื ื ื‘ื—ืจ ื›ืžื ื”ื™ื’ ื•ืžืฉืชืชืฃ ื‘ืขื™ื‘ื•ื“ ื‘ืงืฉื•ืช. ื”ืฆื•ืžืช ื”ืฉื ื™ ืžืฉืžืฉ ื›ื—ื™ืœื•ืฃ ืœืžืงื˜ืข ื”ื ืชื•ื ื™ื ื”ืžื“ื•ื‘ืจ, ื•ื”ืฉืœื™ืฉื™ ืœื•ืงื— ื—ืœืง ื‘ื‘ื—ื™ืจืช ื”ืฆื•ืžืช ื”ืžื•ื‘ื™ืœ ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืœืฉื—ื–ื•ืจ ืžื™ื“ืข ื‘ืžืงืจื” ืฉืœ ื›ืฉืœ ืฉืœ ืฉื ื™ ืฆืžืชื™ื ืขื ื”ืขืชืงื™ื ืžืœืื™ื. ืฉื›ืคื•ืœ ื ืชื•ื ื™ื ื‘ื™ืŸ ืฆืžืชื™ ืืฉื›ื•ืœ ืžืื•ืจื’ืŸ ื‘ืืžืฆืขื•ืช ืืœื’ื•ืจื™ืชื Paxos, ื”ืžื‘ื˜ื™ื— ื”ื’ื“ืจื” ืขืงื‘ื™ืช ืฉืœ ืงื•ื ืฆื ื–ื•ืก ื‘ืจืฉืช ืขื ืฆืžืชื™ื ืฉืขืœื•ืœื™ื ืœื”ื™ื•ืช ื‘ืœืชื™ ืืžื™ื ื™ื.

ื™ืฆื•ื™ืŸ ื›ื™ ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื”ืžืœืื” ืฉืœ PolarDB DBMS ืžืชื•ื›ื ื ืช ืœื”ื™ื—ืฉืฃ ื‘ืžื”ืœืš ืฉืœื•ืฉ ืžื”ื“ื•ืจื•ืช: ื‘ื’ืจืกื” ื”ืจืืฉื•ื ื” ื™ืคื•ืจืกืžื• ื›ืœื™ื ืœืฉื›ืคื•ืœ, ื–ืžื™ื ื•ืช ื’ื‘ื•ื”ื” ื•ื ื™ื”ื•ืœ ืืฉื›ื•ืœื•ืช. ื”ืžื”ื“ื•ืจื” ื”ืฉื ื™ื™ื” ืชื›ืœื•ืœ ืžืขืจื›ืช ื‘ื™ืฆื•ืข ืขืกืงืื•ืช ืžื‘ื•ื–ืจืช ื”ืชื•ืžื›ืช ื‘-ACID ื—ื•ืฆื” ืฆืžืชื™ื ื•ื‘ื‘ื™ืฆื•ืข ืžื‘ื•ื–ืจ ืฉืœ SQL. ื”ืžื”ื“ื•ืจื” ื”ืฉืœื™ืฉื™ืช ืชื›ืœื•ืœ ืชื•ืกืฃ ืขื‘ื•ืจ PostgreSQL ื•ื›ืœื™ื ืœื”ืคืฆืช ื ืชื•ื ื™ื ื’ืžื™ืฉื™ื ืขืœ ืคื ื™ ืฆืžืชื™ื, ื›ื•ืœืœ ืžื™ืงื•ื ืื“ืคื˜ื™ื‘ื™ ืฉืœ ืกื’ืžื ื˜ื™ื ืœื”ืฉื’ืช ื‘ื™ืฆื•ืขื™ื ืžื™ื˜ื‘ื™ื™ื ื•ื™ื›ื•ืœืช ืœื”ืจื—ื™ื‘ ืืช ื”ืืฉื›ื•ืœ ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืฆืžืชื™ื ื—ื“ืฉื™ื.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”