ืขื ืืืืจืื ื, ืืืื ืืงืืกื ืืงื ืืืกื ื ื-50 TB ืฉื ื ืชืื ืื ืฉืขืืืื ืืืื ืืืช ื-SQL Server. ืขืืืจ ื ืคื ืืื, ืืืขื ืืืชื ืืคืฉืจื ืืกืคืง ืืืฉื ืืืืจื ืืืืื ื, ืืืคืืื ืกืืืื ืืช ืืืฉืืื ืืืจืื ืื ืชืื ืื ืืืืฆืขืืช SQL DBMS. ืืืจื ืืื, ืืืงืจืื ืืืื, ื ืขืฉื ืฉืืืืฉ ืืืื ืืืืกืื ื-NoSQL, ืื ืื ืืื ื ืืชื ืืืขืืืจ ื-NoSQL: ืืฉืืืืช ืืกืืืืืช ืืืจืฉืืช ืขืจืืืืืช ืขืกืงืืืช ACID.
ืื ืืืืื ืืืชื ื ืืฉืืืืฉ ืืืืกืื NewSQL, ืืืืืจ, DBMS ืืืกืคืง ืกืืืื ืืช ืืชืงืืืช, ืืืจืืืืช ืืืืฆืืขืื ืฉื ืืขืจืืืช NoSQL, ืื ืืื ืขื ืืืช ืฉืืืจื ืขื ืขืจืืืืืช ื-ACID ืืืืืจืืช ืืืขืจืืืช ืืงืืืกืืืช. ืืฉ ืืขื ืืขืจืืืช ืชืขืฉืืืชืืืช ืขืืืืืช ืืืืขืื ืืืืฉ ืืื, ืื ืืืืขื ื ืืขืจืืช ืืื ืืขืฆืื ื ืืืื ืกื ื ืืืชื ืืคืขืืื ืืกืืจืืช.
ืืื ืื ืขืืื ืืื ืงืจื - ืงืจื ืืชืืช ืืืชืื.
ืืืื, ืืงืื ืืืืืฉื ืฉื Odnoklassniki ืืื ืืืชืจ ื-70 ืืืืืื ืืืงืจืื ืืืืืืืื. ืึธื ืึผ
ืื ื ืืฉืชืืฉืื ืืงืกื ืืจื ืืื 2010, ืืื ืืืจืกื 0.6. ืืืื ืคืืขืืื ืืื ืขืฉืจืืช ืืฉืืืืืช. ืืืฉืืื ืืืืืจ ืืืืชืจ ืืขืื ืืืชืจ ื-4 ืืืืืื ืคืขืืืืช ืืฉื ืืื, ืืืืืื ืืืืกื 260 TB.
ืขื ืืืช, ืื ืืื ืื ืืฉืืืืืช NoSQL ืจืืืืื ืืืฉืืฉืื ืืืืกืื
ืืื ืืืคืืฅ ื ืชืื ืื ืขื ืคื ื ืฆืืชืื ืฉื SQL Server, ืืฉืชืืฉื ื ืื ืืื ืื ืืื ืืืืคืงื
ืืืืืช ืืจืืกืืง ืืืืืจืื SQL:
- ืื ื ืื ืืฉืชืืฉืื ืืืืืืฆืื ืฉื ืืคืชื ืืจ, ืฉืื ืืขืช โโืคืืฆืื ืืืื ืืืฉืืช ืขืฉืื ืืืืืช ืืืืงื ืืฉืจืช ืืืจ.
- ืื ื ืื ืืฉืชืืฉืื ืืคืจืืฆืืืจืืช ืืืืืกื ืืช ืืืืจืืืจืื ืขืงื ืืขืืืก ืื ืืกืฃ ืขื ืืขืื ื-DBMS.
- ืื ืื ื ืื ืืฉืชืืฉืื ื-JOIN ืืืื ืื ืืืืืจ ืืขืื ืืืจืื ืงืจืืืืช ืืงืจืืืืช ืืืืืกืง.
- ืืืืฅ ืืขืกืงื, ืื ื ืืฉืชืืฉืื ืืจืืช ืืืืืื Read Uncommitted ืืื ืืืคืืืช ืืืื ืกืชืื.
- ืื ื ืืืฆืขืื ืจืง ืขืกืงืืืช ืงืฆืจืืช (ืืืืืฆืข ืงืฆืจืืช ื-100 ืืืคืืืช ืืฉื ืืื).
- ืื ืื ื ืื ืืฉืชืืฉืื ื-UPDATE ื-DELETE ืืจืืื ืฉืืจืืช ืืืื ืืืกืคืจ ืืจื ืฉื ืืืื ืกืชืื - ืื ืื ื ืืขืืื ืื ืจืง ืจืฉืืื ืืืช ืืื ืคืขื.
- ืื ืื ื ืชืืื ืืืฆืขืื ืฉืืืืชืืช ืจืง ืืืื ืืงืกืื โ ืฉืืืืชื ืขื ืชืืื ืืช ืกืจืืงืช ืืืื ืืืื ืขืืืจื ื ืคืืจืืฉื ืขืืืก ืืชืจ ืขื ืืกื ืื ืชืื ืื ืืืจืืืชื ืืืืฉืืื.
ืืฉืืืื ืืืื ืืคืฉืจื ืื ื ืืกืืื ืืืขื ืืืฆืืขืื ืืงืกืืืืืื ืืฉืจืชื SQL. ืขื ืืืช, ืืืขืืืช ืืืื ืืืชืจ ืืืืชืจ. ืืืื ื ืกืชืื ืขืืืื.
ืืขืืืช ืขื SQL
- ืืืืืื ืฉืืฉืชืืฉื ื ืืจืกืืกืื ืืืชื ืขืฆืื, ืืืกืคืช ืจืกืืกืื ืืืฉืื ื ืขืฉืชื ืืืืคื ืืื ื ืขื ืืื ืื ืืื ืืขืจืืช. ืื ืืืื ืืื, ืืขืชืงื ื ืชืื ืื ื ืืชื ืื ืืืจืืื ืื ืืื ืืงืฉืืช ืฉืืจืืช.
- ืืื ืฉืืกืคืจ ืืจืฉืืืืช ืืืืื ืืื, ืืืืจืืช ืืืืกืคื ืืืฉืื ืื ืคืืืชืช; ืืืฉืจ ืืืกืืคืื ืืื ืืงืกืื ืืืืื ืงืืืืช, ืืืืืจืืช ืืืจืืช ืืืืจื ืืื; ืืฆืืจื ืืืฆืืจื ืืืืฉ ืฉื ืืื ืืงืกืื ืืชืจืืฉืช ืขื ืืฉืืชื.
- ืฉืืืืฉ ืืืืืช ืงืื ื ืฉื Windows ืขืืืจ SQL Server ืืืืฆืืจ ืืงืฉื ืขื ื ืืืื ืืชืฉืชืืช
ืืื ืืืขืื ืืขืืงืจืืช ืืื
ืกืืืื ืืช ืืชืงืืืช
ืืฉืจืช SQL ืืงืืืกื ืืฉ ืกืืืื ืืช ืชืงืืืช ืืจืืื. ื ื ืื ืฉืืฉ ืื ืจืง ืฉืจืช ืืกื ื ืชืื ืื ืืื, ืืืื ื ืืฉื ืคืขื ืืฉืืืฉ ืฉื ืื. ืืืืื ืชืงืืคื ืื ืืืชืจ ืืืฉืืช ืืืฉื 20 ืืงืืช, ืืื ืืงืืื. ืื ืืฉ ืื 64 ืฉืจืชืื, ืืืชืจ ืืืฉืืช ืคืขื ืืฉืืืฉื ืฉืืืขืืช. ืืื ืืฉ ืื 200 ืฉืจืชืื, ืื ืืืชืจ ืื ืขืืื ืื ืฉืืืข. ืื ืืขืื.
ืื ื ืืชื ืืขืฉืืช ืืื ืืฉืคืจ ืืช ืกืืืืืช ืืชืงืืืช ืฉื ืฉืจืช SQL? ืืืงืืคืืื ืืืืื ื ืืืชื ื ืืื ืืช
ืื ืืืจืฉ ืฆื ืฉื ืฆืืื ืืงืจ: ืืคืืืืืืช ืจืืืช, ืกืืืื ืืืคืืืื, ืืืกืื ืืฉืืชืฃ ืืืืืืช ืจืืจืื ืืื ื ืคืืขืืช ืืฆืืจื ืืืืื ื: ื-10% ืืืืืชืืืื ืืกืชืืืืื ืืืฉื ืฉื ืฆืืืช ืืืืืื ืืื ืจืืืช ืืืืืจื ืืฆืืืช ืืจืืฉื.
ืืื ืืืืกืจืื ืืขืืงืจื ืฉื ืืฉืืื ืื ืื ืืืื ืืื ืืคืก ืืืื ืืช ืื ืืจืื ืื ืชืื ืื ืฉืื ืืื ื ืืฆื ื ืืฉื. ืืืืื ืืงืืกื ืืงื ืืฉ ืืจืืขื ืืจืืื ื ืชืื ืื, ืืขืืื ื ืืืืืื ืคืขืืื ืืืงืจื ืฉื ืืฉื ืืืืื ืืืื ืืื.
ืืฉืืื ืื ื ืืื ืืืฉืชืืฉ
ืื ืืืขืืืช ืืืื ืืจืฉื ืคืชืจืื ืงืืฆืื ื, ืืืชืืื ื ืื ืชื ืืืชื ืืคืืจืื. ืืื ืฆืจืื ืืืืืจ ืืช ืื ืฉืขืืฉื ืืขืืงืจ SQL Server - ืืจื ืืงืฆืืืช.
ืขืกืงื ืคืฉืืื
ืืืื ื ืืงื ืืืฉืืื ืืช ืืขืกืงื ืืคืฉืืื ืืืืชืจ, ืื ืงืืืช ืืืื ืฉื ืืชืื ืช SQL ืืืฉืืื: ืืืกืคืช ืชืืื ื ืืืืืื. ืืืืืืื ืืชืฆืืืืื ืืืืืกื ืื ืืฆืืืืช ืฉืื ืืช. ืืืืืื ืืฉ ืืืคืง ืชืืื ืืช ืฆืืืืจื. ืื ืขืกืงื ืืื ืืืืืงืช ืืฉืืืื ืืืืื:
- ืื ืื ื ืืืกืืื ืืช ืืืืืื ืืืคืชื.
- ืฆืืจ ืขืจื ืืืืืช ืืชืืื ืืช.
- ืื ืืชืืื ื ืืฉ ืกืืืืก ืฆืืืืจื, ืืืกืฃ ืืื ื ืชืืื ื ืฆืืืืจืืช ืืืืืื, ืขืืื ืืช ืืจืฉืืื ืืืฆืข ืืช ืืขืกืงื.
ืื ืืคืกืืืืืงืื:
TX.start("Albums", id);
Album album = albums.lock(id);
Photo photo = photos.create(โฆ);
if (photo.status == PUBLIC ) {
album.incPublicPhotosCount();
}
album.update();
TX.commit();
ืื ื ืจืืืื ืฉืืชืจืืืฉ ืื ืคืืฅ ืืืืชืจ ืืขืกืงื ืขืกืงืืช ืืื ืืงืจืื ื ืชืื ืื ืืืกื ืื ืชืื ืื ืืืืืจืื ืฉื ืฉืจืช ืืืคืืืงืฆืืืช, ืืฉื ืืช ืืฉืื ืืืฉืืืจ ืืช ืืขืจืืื ืืืืฉืื ืืืืจื ืืืกื ืื ืชืื ืื. ืืืจื ืืื ืืขืกืงื ืืื ืื ื ืืขืืื ืื ืืกืคืจ ืืฉืืืืช, ืืกืคืจ ืืืืืืช.
ืืขืช ืืืฆืืข ืขืกืงื, ืขืฉืื ืืืชืจืืฉ ืฉืื ืื ืืืงืืื ืฉื ืืืชื ื ืชืื ืื ืืืขืจืืช ืืืจืช. ืืืืืื, Antispam ืขืฉืื ืืืืืื ืฉืืืฉืชืืฉ ืืฉืื ืืืืฉืื ืืืื ืื ืืชืืื ืืช ืฉื ืืืฉืชืืฉ ืืืจ ืื ืฆืจืืืืช ืืืืืช ืฆืืืืจืืืช, ืืฉ ืืฉืืื ืืืชื ืืชืืืื, ืืืืืจ ืืฉื ืืช ืืช photo.status ืืขืจื ืืืจ ืืืืืืช ืืช ืืืื ืื ืืืชืืืืื. ืืจืืจ ืฉืื ืคืขืืื ืื ืืชืจืืฉืช ืืื ืืืืืืช ืืืืืืืืช ืฉื ืืืฉืื ืืืืืื ืฉื ืฉืื ืืืื ืืชืืจืื, ืืื ื
ืืจืื ืงืื ืืืื, ืื ืืคืืืฆืื ืฉื ืืืคืื ืขืกืงืืื ืฉืื ืื ืืชืื ืขืกืงื ืืืช, ื ืืชื ืืืืจื ืื ืงืืืื ืฉื Odnoklassniki. ืืืืกืก ืขื ื ืืกืืื ืืืืืจืืช ื-NoSQL ื
ืืจืืฉืืช ืืืจืืช, ืื ืคืืืช ืืฉืืืืช, ืืื:
- ืื ืืจืื ืื ืชืื ืื ื ืืฉื, ืื ืงืจืืื ืืื ืืชืืื ืืืืกืื ืืืืฉ ืืืืืื ืืืืืช ืืืื ืื.
- ืฉืืืจื ืขื ืืืืจืืช ืืคืืชืื ืื ืืืืืช. ืืืืืจ, ืืฉืขืืืืื ืขื ืืืืจ ืืืฉ, ืืืืช ืืงืื ืฆืจืืื ืืืืืช ืืขืจื ืืื, ืื ืฆืจืื ืืืืกืืฃ ืฉืื ืืืจ ืืืืืจ, ืืคืชื ืืืืืจืืชืืื ืืคืชืจืื ืงืื ืคืืืงืืื, ืฉืืืจื ืขื ืืื ืืงืกืื ืืฉื ืืื ืืื'.
- ืืืืืจืืช ืฉื ืืืืกืื ืืืืฉ ืืืืชื ืฆืจืืื ืืืืืช ืื ืืืืื, ืื ืืขืช โโืงืจืืืช ื ืชืื ืื ืืื ืืขืช โโืขืืืื ืขืกืงืืืช, ืื ืฉืืืืจ ืืืขืฉื ืฉืคืชืจืื ืืช ืืงืืืืื ืงืคืื ืืื, ืืื ืืืจืกืืืื ืื ืืืืืื, ืืืื, ืืืฉื, ืื ืืื ืืฉืืืื.
ืืชืืืืืืืืช ืื-ืฉืืืืืช . - ืงื ื ืืืื ืืืืืืื ืชืื ืืื ืชื ืืขื.
- ืฉืืืืฉ ืืฉืจืชืื ืืืืื ืจืืืืื, ืืื ืฆืืจื ืืจืืืฉืช ืืืืจื ืืงืืืืืช.
- ืืคืฉืจืืช ืืคืืชืื ืืืกืื ืขื ืืื ืืคืชืื ืืืืจื. ืืืืืื ืืืจืืช, ื ืืชื ื ืขืืืคืืช ืืคืชืจืื ืืช ืงื ืืื ืืื ืื ืงืื ืคืชืื, ืจืฆืื ืื'ืืืื.
ืืืืืืช ืืืืืืช
ืื ืืชืื ืคืชืจืื ืืช ืืคืฉืจืืื, ืืืขื ื ืืฉืชื ืืคืฉืจืืืืช ืืจืืืืงืืืจื ืืคืฉืจืืืช:
ืืจืืฉืื ืืื ืืงืืช ืื ืฉืจืช SQL ืืืืืฉื ืืช ืกืืืื ืืช ืืชืงืืืช ืื ืืจืฉืช, ืื ืื ืื ืงื ื ืืืืื, ืืฉืืื ืืืฉื, ืคืชืจืื ืงืื ืคืืืงืืื ืืขืกืงืืืช ACID ืืืืืจืืช, ืืืื ืืช ืืืืืจืืช. ืืืจืื ื ืืคืฉืจืืช ืื ืืื ืืจืืืืืืืืช ืืขืชืืจืช ืขืืืื.
ืืืคืฉืจืืช ืืฉื ืืื ืืื ืืงืืช ืืืกืื NoSQL ืืืื ืขื ืงื ื ืืืื ืืืืฉื, ืืฉืืื ืืฉื, ืคืชืจืื ืงืื ืคืืืงืืื ืืืืืฉื ืืจื ืืงืฆืืืช ื-SQL ืืขืฆืื. ืืืื ืจืืฉืื, ืืคืืื ืืืฉืืื ืฉื ืืืืขืช SQL, ืฉืื ืืืืจ ืขื ืขืกืงืืืช ACID, ื ืจืืืช ืืื ืืฉืืื ืฉืชืืืฉื ืฉื ืื. ืืื ืื ืืื ื ืฉืกื ืืชืืื ืืช ืฉื SQL ืฉืื ื ืืฉืชืืฉืื ืื ืืคืืขื ืจืืืง ื-ANSI SQL ืืื
ืงืกื ืืจื ื-CQL
ืื ืื ืืขื ืืื ืืงืกื ืืจื, ืืืื ืืืืืืช ืืฉ ืื?
ืจืืฉืืช, ืืื ืืชื ืืืื ืืืฆืืจ ืืืืืืช ืืชืืืืืช ืืกืืื ื ืชืื ืื ืฉืื ืื; ืืชื ืืืื ืืขืฉืืช SELECT ืื UPDATE ืขื ืืืคืชื ืืจืืฉื.
CREATE TABLE photos (id bigint KEY, owner bigint,โฆ);
SELECT * FROM photos WHERE id=?;
UPDATE photos SET โฆ WHERE id=?;
ืืื ืืืืืื ืขืงืืืืช ืฉื ื ืชืื ืื ืืขืชืงืื, ืงืกื ืืจื ืืฉืชืืฉืช
ืืืืฉื ืฉืื ืื ื ืืืฆืจืื ืงืฉืจ ืขื ืฉืืืฉื ืฆืืชืื ืืืงืืืื ืชืืืื ืืฉื ืืื ื ืงืจืืช
ืืชืจืื ื ืืกืฃ ืฉื Cassandra ืืื Batchlog, ืื ืื ืื ืืืืืื ืฉืงืืืฆืช ืฉืื ืืืื ืฉืชืืฆืข ืืืืฉืืื ืืืืืื ืื ืื ืืืืฉืืื ืืื. ืื ืืืคืฉืจ ืื ื ืืคืชืืจ ืืช A ื-ACID - ืืืืืืืช ืืืืฅ ืืงืืคืกื.
ืืืืจ ืืงืจืื ืืืืชืจ ืืขืกืงืืืช ืืงืกื ืืจื ืื ืื ืฉื ืงืจื "
ืื ืฉืืื ืืกืจ ืื ื ืืงืกื ืืจื
ืื, ืืืื ื ืฆืจืืืื ืืืืฉื ืขืกืงืืืช ACID ืืืืชืืืช ืืงืกื ืืจื. ืืืืฆืขืืชื ื ืืื ืืืืฉื ืืงืืืช ืฉืชื ืชืืื ืืช ื ืืืืช ื ืืกืคืืช ืฉื DBMS ืงืืืกื: ืืื ืืงืกืื ืืืืจืื ืขืงืืืื, ืฉืืืคืฉืจื ืื ื ืืืฆืข ืืืืจืืช ื ืชืื ืื ืื ืจืง ืขื ืืื ืืืคืชื ืืจืืฉื, ืืืืืื ืจืืื ืฉื ืืืืื ืืื ืืืื ืืื ืืืืืื ืืืืืืืืช.
ืงืึนื ืึผืก
ืื ื ืืื DBMS ืืืฉ ืงืึนื ืึผืก, ืืืืจืื ืืฉืืืฉื ืกืืืื ืฉื ืฆืืชื ืฉืจืช:
- ืืืกืื โ ืฉืจืชื ืงืกื ืืจื (ืืืขื) ืกืื ืืจืืืื ืืืืจืืื ืขื ืืืกืื ื ืชืื ืื ืขื ืืืกืงืื ืืงืืืืื. ืืื ืฉืืขืืืก ืื ืคื ืื ืชืื ืื ืืืืื, ื ืืชื ืืืืืื ืืช ืืืืืช ืฉืืื ืืงืืืช ืืขืฉืจืืช ืืืืืช.
- ืจืืื ืขืกืงืืืช - ืืืืืื ืืืืฆืืข ืขืกืงืืืช.
- ืืงืืืืช ืื ืฉืจืชื ืืืฉืืืื ืืืืืฉืืื ืคืขืืืืช ืขืกืงืืืช ืืืืืืื ืขืกืงืืืช. ืืืืืื ืืืืืช ืืืคื ืืงืืืืช ืืืื.
ืฉืจืชืื ืืื ืืกืืืื ืื ืืืง ืืืฉืืื ืืฉืืชืฃ, ืืฉืชืืฉืื ืืคืจืืืืงืื ืืืืืขืืช ืืคื ืืื ืฉื Cassandra ืืื ืืชืงืฉืจ ืืื ืขื ืืฉื ื ื
ืืงืืืืช
ืืืงืื ืื ืืื ืืชืงื ืื ืจืืืืื, ื ืขืฉื ืฉืืืืฉ ืืืฆื Fat Client. ืฆืืืช ืืื ืืื ื ืืืืกื ื ืชืื ืื, ืื ืืืื ืืฉืืฉ ืืจืื ืืืืฆืืข ืืืงืฉืืช, ืืืืืจ, ืืืงืื ืขืฆืื ืคืืขื ืืืชืื ืฉื ืืงืฉืืชืื: ืืื ืืืฆืข ืฉืืืืชืืช ืฉื ืืขืชืงืืช ืืืกืื ืืคืืชืจ ืงืื ืคืืืงืืื. ืื ืื ืจืง ืืืื ืืืืืจ ืืืชืจ ืืื ืื ืืจืืื, ืืืืจืฉ ืชืงืฉืืจืช ืขื ืจืื ืืจืืืง, ืืื ืื ืืืคืฉืจ ืืฉืืื ืืืขืืจืช ืืืงืฉืืช. ืืืืฅ ืืขืกืงื ืืคืชืืื ืืืงืื, ืืงืฉืืช ื ืฉืืืืช ืืืืืจืื. ืื ืืืงืื ืคืชื ืขืกืงื, ืื ืื ืืืงืฉืืช ืืชืื ืืขืกืงื ื ืฉืืืืช ืืจืื ืืขืกืงื.
C*One ืจืื ืขืกืงื
ืืจืื ืืื ืืฉืื ืฉืืืฉืื ื ืขืืืจ C*One ืืืคืก. ืืื ืืืจืืืช ืขื ื ืืืื ืขืกืงืืืช, ืื ืขืืืื ืืกืืจ ืืืฆืืข ืืขืกืงืืืช.
ืขืืืจ ืื ืขืกืงื ืืืืคืืช, ืืจืื ืืืฆืจ ืืืชืืช ืืื: ืื ืขืกืงื ืฉืืืืจ ืืื ืืืืื ืืืขืกืงื ืืงืืืืช. ืืืืืื ืฉืืขืจืืช ืคืชืจืื ืืกืืกืืืื ืฉื ืงืกื ืืจื ืืืืกืกืช ืขื ืืืชืืืช ืืื (ืฉื ืฉืชื ืจืฉืืืืช ืกืืชืจืืช, ืื ืขื ืืืชืืช ืืืื ืืขืืื ืืช ื ืืฉืืช ืขืืื ืืช), ืืกืืกืื ืชืืื ืืืคืชืจ ืืืืืช ืืขืกืงื ืืืื. ืื ืืืฉืื ื
ืื ืขืืืื
ืืื ืืืืืื ืืืืื, ืืืืื ื ืืืฉืชืืฉ ืืฉืืื ืืคืฉืืื ืืืืชืจ - ืื ืขืืืื ืคืกืืืืื ืืืืืกืกืื ืขื ืืืคืชื ืืจืืฉื ืฉื ืืจืฉืืื. ืืืืืื ืืืจืืช, ืืขืกืงื, ืชืืืื ืืฉ ืื ืขืื ืจืฉืืื, ืจืง ืืืืจ ืืื ืืงืจืื, ืืฉื ืืช ืืืฉืืืจ. ืจืง ืืืืจ ืืชืืืืืืช ืืืฆืืืช ื ืืชื ืืคืชืื ืจืฉืืื ืื ืฉืขืกืงืืืช ืืชืืจืืช ืืืืื ืืืฉืชืืฉ ืื.
ืืืฉืื ื ืขืืื ืืื ืืื ืคืฉืื ืืกืืืื ืื ืืืืืจืช. ืืืขืจืืช ืืืืืจืช, ืงืืืืืช ืฉืชื ืืคืฉืจืืืืช ืขืืงืจืืืช: ืื ืืืืฉื ื ืขืืื ืืืืืจืช ืขื ืืืฉืืื, ืื ืืืคืืฅ ืขืกืงืืืช ืื ืฉืขืกืงืืืช ืืืจืืืืช ืืืืชื ืจืฉืืื ืืืืคืืืช ืชืืื ืขื ืืื ืืืชื ืจืื.
ืืืืืื ืฉืืืงืจื ืฉืื ื ืื ืชืื ืื ืืืจ ืืืืืงืื ืืื ืงืืืฆืืช ืฉื ืืจื ืืงืฆืืืช ืืงืืืืืช ื-SQL, ืืืืื ืืืงืฆืืช ืงืืืฆืืช ืืจื ืืงืฆืืืช ืืงืืืืืช ืืจืืืื: ืจืื ืืื ืืืฆืข ืืช ืื ืืขืกืงืืืช ืืืกืืืื ืื ื-0 ืขื 9, ืืฉื ื - ืขื ืืกืืืื ืื ื-10 ืขื 19, ืืืืื. ืืชืืฆืื ืืื, ืื ืืื ืืืืคืขื ืืจืื ืืืคื ืืืืกืืจ ืฉื ืงืืืฆืช ืืขืกืงืืืช.
ืืืืจ ืืื ื ืืชื ืืืืฉื ืื ืขืืืื ืืฆืืจื ืฉื HashMap ืื ืืื ืืืืืจืื ืฉื ืืจืื.
ืืฉืืื ืฉื ืจืื
ืืืืืื ืฉืจืื ืืื ืืฉืจืช ืื ืืจืง ืงืืืฆืช ืขืกืงืืืช, ืืฉืื ืืืื ืืงืืืข ืืืืืจืืช ืืช ืขืืืืช ืืืืฉืืื ืฉืื, ืื ืฉืื ืืกืืื ืืฉื ื ืืืืฆืืข ืืขืกืงื ืืคืื. ืืื ืืืคืื ืืช ืื ืืืืืจ ืืืืื, ืืฉืชืืฉื ื ืืคืจืืืืงืื ืงืืืจืื ืฉืืืขื ืืืืืจ ืืืืืืื:
ืื ืืจืื ื ืชืื ืื ืืืจื ืืคืืืช ืฉื ื ืฆืืชืื ืจืืืื. ืืขืช ืืขืช, ืื ืจืื ืฉืืื ืืืืขืช ืืืคืง ืืฉืืจ ืืจืืืื ืืืืืืข ืืื ืขื ืชืคืงืืื ืืื ืืืื ืืืืขืืช ืืืคืง ืงืืื ืืืืื ืจืืืื ืืืฉืืื ืืคืขื ืืืืจืื ื.
ืืงืืืช ืืืืข ืืืื ืืืืจืื ืืืืง ืืืืืขืืช ืคืขืืืืช ืืื ืฉืืื, ืื ืืชืื ืืืืื ืืขืฆืื ืืืื ืฆืืชื ืืฉืืื ืืชืคืงืืื ืืืืื ืื, ืืื ืืืืช ืขืงืจืื ืืงืืืจืื: ืื ืฆืืืช X ืงืืื ืืืืข ืืจืื ืืฆืืชืื ืืืฉืืื ืขื ืืืฆื ืื ืืจืืื. ืงืืืช ืืืืขืืช ืืฆืืืช Y, ืืืืจ ืืื, Y ืขืืื. ืืืืืคื, ืืจืืข ืฉืืจืื ืืืืืืื ืขื ืืืืขืืช ืืกืจืืช ืืฆืืืช Y, ืื Y ืกืืจื. ืื ืืืืจ ืฉืื ืืื ืืื ืืืืืข ืืฆืืืช X ืฉืืื ืืืจ ืื ืืงืื ืืื ื ืืืืขืืช, ืื ืืฆืืืช X ืขืฆืื ืืืฉืื ืืช ืขืฆืื ืืืฉื.
ืืืืขืืช ืืืคืง ื ืฉืืืืช ืืชืืืจืืช ืืืืื, ื-20 ืคืขืืื ืืฉื ืืื, ืืคืจืง ืืื ืฉื 50 ืืืคืืืช ืืฉื ืืื. ื-Java, ืงืฉื ืืืืืื ืชืืืืช ืืืฉืืืื ืืชืื 50 ืืืคืืืช ืืฉื ืืื ืืืื ืืฉื ืืืฉืืืช ืืืืื ืฉื ืืจื ืขื ืืื ืืืกืฃ ืืืฉืคื. ืืฆืืื ื ืืืฉืื ืืช ืืื ืืชืืืื ืืื ืืืืฆืขืืช ืืกืคื ืืืฉืคื G1, ืืืืคืฉืจ ืื ื ืืฆืืื ืืขื ืืืฉื ืืืคืกืงืืช ืฉื GC. ืขื ืืืช, ืืคืขืืื, ืืขืชืื ื ืืืจืืช ืืืื, ืืคืกืงืืช ืืืกืคื ืขืืืืช ืขื 50 ืืืคืืืช ืืฉื ืืื, ืื ืฉืขืืื ืืืืืื ืืืืืื ืชืงืืืช ืฉืืื. ืืื ืืื ืืข ืืช ืื, ืืจืื ืื ืืืืื ืขื ืชืงืื ืฉื ืฆืืืช ืืจืืืง ืืืฉืจ ืืืืขืช ืคืขืืืืช ืืื ืืจืืฉืื ื ืืื ื ื ืขืืืช, ืจืง ืื ืืื ื ืขืืื ืืจืฆืฃ. ืื ืืฆืืื ื ืืืืืช ืืฉื ืืฆืืืช ืืจืื ืืฉื ืช 200 ืืืจืช.
ืืื ืื ืื ืืกืคืืง ืืื ืืืืื ืืืืืจืืช ืืืื ืฆืืืช ืืคืกืืง ืืชืคืงื. ืื ืื ื ืฆืจืืืื ืืขืฉืืช ืืฉืื ืื ืืืื.
ืืืื ื
ืืชืืื ืืช ืืงืืืกืืช ืืืืืช, ืืืงืจื ืฉื ืืืฉืืื ืจืืฉื, ืืชืืืช ืืืืจืืช ืืืฉืืช ืืืืฆืขืืช ืืื ืืื
ื ื ืื ืฉืื ื ืจืืฆืื ืืืฆืข ืขืกืงื ืืงืืืฆื 50. ืืื ื ืงืืข ืืจืืฉ ืืช ืกืืืช ืืืืืคื, ืืืืืจ ืืืื ืฆืืชืื ืืืฆืขื ืขืกืงืืืช ืืงืืืฆื 50 ืืืงืจื ืฉื ืืฉื ืฉื ืืจืื ืืจืืฉื. ืืืืจื ืฉืื ื ืืื ืืฉืืืจ ืขื ืคืื ืงืฆืืื ืืืืช ืืืขืจืืช ืืืงืจื ืฉื ืชืงืื ืืืจืื ืื ืชืื ืื. ืืื ื ืงืืข ืฉืืขืชืืื ืืจืืฉืื ื ืชืืื ืฆืืืช ืืืจืื ื ืชืื ืื ืืืจ, ืืืขืชืืื ืืฉื ืืื ืชืืื ืฆืืืช ืืืจืื ืฉืืืฉื. ืกืืืื ืื ื ืืืจืช ืคืขื ืืืช ืืืื ื ืืฉืชื ื ืขื ืฉืืืืคืืืืืื ืฉื ืืืฉืืื ืืฉืชื ื, ืืืืืจ ืขื ืฉื ืื ืกืื ืืืื ืฆืืชืื ืืืฉืื (ืื ืฉืงืืจื ืืขืชืื ืจืืืงืืช ืืืื). ืืืืื ืืืืืจืช ืืืกืืจ ืคืขืื ืืืฉ ืื ืืืฉื ื ืืฉื ืืืื ืชืืื ืืืืงืื: ืืขืชืืื ืืจืืฉืื ื ืชืืคืื ืืืืกืืจ ืืคืขืื, ืืื ืืื ืืคืกืืงื ืืชืคืงื, ืืขืชืืื ืืฉื ืืื ืชืืคืื ืืืืกืืจ ืืคืขืื.
ืกืืืื ืื ืืืื ื ืืืชืจ ืืืืืืืจืืชื ืืืื ืืืจืกืื, ืฉืื ืืื ืืืคืขืื ืืืกืืจ ืืืฉ ืื ืืกืคืืง ืืื ืืงืืืข ืืช ืืืืฉืืื ืฉื ืืืฉื.
ืืื ืืื ืืงืืืืช ืืืื ื ืืืื ืืืกืืจ ืขืืื ืขืืฉืื? ืื ืืคืฉืจ ืืฉืืื ืืืืข ืืืืคื ืืงืืืืช ื-50 ืืืคืืืช ืืฉื ืืื. ืืชืื ืืฆื ืืืฉืจ ืืงืื ืฉืืื ืืงืฉื ืืคืชืืืช ืขืกืงื, ืืืื ืืืขืช ืฉืืืกืืจ ืื ืืื ื ืคืืขื ืืืชืจ, ืืืืงืฉื ืชืกืชืืื. ืืื ืืื ืืข ืืช ืื, ืืงืืืืช ืฉืืืืื ืืืืคื ืกืคืงืืืืืื ืืงืฉื ืืคืชืืืช ืขืกืงื ืืื ืื ืืงืืืฆื ืืืฉืชื ืืขืชืืืืช ืฉืื ืืืช ืืืช, ืื ืจืง ืื ืฉืืื ืืื ืื ืืคืขืื ืืจืืข ืืขื ื ืืืงืฉื ืื. ืืืงืื ืืืฆืข ืืช ืื ืืชืงืฉืืจืช ืืขืืงืืช ืืชืื ืืขืกืงื ืจืง ืขื ืืืืกืืจ ืืคืขืื.
ืื ืืื ืืืืื ืืืงืืื ืืงืฉืืช ืฉืืชืงืืื ืขืืืจ ืขืกืงืืืช ืฉืืื ื ืฉืืื ืืชืืจ ืฉื ืขืกืงืืืช ืฉืืจื ื ืืืื, ืฉื ืื ืืืืืกื ืืช ืืืื ืื. ืื ืืืืกืืจ ืืคืขืื ืืช, ืืืืกืืจ ืืืืฉ ืืขืื ืืงืฉืืช ืืคืชืืืช ืขืกืงืืืช ืืืชืืจ ืฉืื ืืืฉืื ืืืงืื. ืื ืืืงืื ืืืจ ืคืชื ืขืกืงื ืขื ืืืืกืืจ ืืืฉื, ืืชืขืืืื ืืืชืืืื ืืฉื ืืื (ืืืืืื, ืขืกืงื ืืื ืื ืชืืฉืื ืืชืืืืจ ืขื ืืื ืืืงืื).
ืืื ืืขืกืงื ืขืืืืช
ื ื ืื ืฉืืงืื ืฉืื ืืงืฉื ืืจืื ืืคืชืื ืขืกืงื ืืืืจื ืืื ืืืืจ ืขื ืืคืชื ืจืืฉื ืืื ืืืืจ. ืืจืื ื ืืขื ืืฉืืช ืื ืืื ืื ืืืชื ืืืืืช ืื ืขืืื ืืืืืจืื. ืืืืืช ืืฆืืจื, ืืจืื ืงืืจื ืืฉืืช ืื ืืืืืกืื ืืืืืกื ืืช ืื ืชืื ืื ืืืชืงืืืื ืืืฆื ืขืกืงื ืืืืืจืื ืืจืื.
ืืืฉืจ ืืงืื ืจืืฆื ืืฉื ืืช ื ืชืื ืื ืืขืกืงื, ืืื ืฉืืื ืืงืฉื ืืจืื ืืฉื ืืช ืืช ืืืฉืืช, ืืืืชืื ืืฆืื ืืช ืื ืชืื ืื ืืืืฉืื ืืืืืช ืืฆื ืืขืกืงืืืช ืืืืืจืื. ืื ืืฉืืื ืืช ืืืงืืื - ืื ืืชืืฆืขืช ืืงืืื ืืืืกืื.
ืืืฉืจ ืืงืื ืืืงืฉ ืืช ืื ืชืื ืื ืฉืืฉืชื ื ืืืืง ืืขืกืงื ืคืขืืื, ืืจืื ืคืืขื ืืืืคื ืืื:
- ืื ืืืืื ืืืจ ืืขืกืงื, ืื ืชืื ืื ื ืืงืืื ืืืืืืจืื;
- ืื ืืื ืืืื ืืืืืจืื, ืื ืชืื ืื ืืืกืจืื ื ืงืจืืื ืืฆืืชื ืืืืกืื, ืืฉืืืื ืขื ืืื ืฉืืืจ ื ืืฆืืื ืืืืืจืื, ืืืชืืฆืื ื ืืชื ืช ืืืงืื.
ืืคืืื, ืืืงืื ืืืื ืืงืจืื ืืช ืืฉืื ืืืื ืฉืื, ืื ืืงืืืืช ืืืจืื ืืื ื ืจืืืื ืืช ืืฉืื ืืืื ืืืื, ืืืืืื ืฉืื ืืืืืกื ืื ืจืง ืืืืืจืื ืฉื ืืืชืื; ืื ืขืืืื ืื ื ืืฆืืื ืืฆืืชื ืงืกื ืืจื.
ืืืฉืจ ืืืงืื ืฉืืื commit, ืืืฆื ืฉืืื ืืืืืจืื ืืฉืืจืืช ื ืฉืืจ ืขื ืืื ืืจืื ืืืฆืืื ืจืฉืืื, ืื ืฉืื ืืืฆืืื ืจืฉืืื ืืืืกืื Cassandra. ืืื ืืืืช ืขืืฉืืช ืื ืื ืฉืฆืจืื ืขื ืื ืช ืืืืื ืฉืืืืืื ืืื ืืืืฉืืช ืืฆืืจื ืืืืืืช (ืฉืืื) ืืืืืืจื ืชืฉืืื ืืจืื, ืฉืืฉืืจืจ ืืช ืืื ืขืืืื ืืืืฉืจ ืืืงืื ืืช ืืฆืืืช ืืขืกืงื.
ืืืื ืืืืืืจ ืืืชื ืืืืืจ, ืืจืื ืฆืจืื ืจืง ืืฉืืจืจ ืืช ืืืืืจืื ืฉืชืคืืก ืขื ืืื ืืฆื ืืขืกืงื.
ืืชืืฆืื ืืืฉืืคืืจืื ืืขืื, ืืืฉืื ื ืืช ืขืงืจืื ืืช ื-ACID:
- ืึธืืึนืึดืืึผืช. ืืืื ืขืจืืื ืืื ืฉืฉืื ืขืกืงื ืื ืชืืจืฉื ืืืงืืช ืืืขืจืืช; ืื ืฉืื ืคืขืืืืช ืืืฉื ื ืฉืื ืืืฉืืื, ืื ืฉืืฃ ืืืช ืื ืชืืฉืื. ืื ื ืืงืคืืืื ืขื ืขืืงืจืื ืื ืืืืฆืขืืช ืืฆืืื ืจืฉืืื ืืงืกื ืืจื.
- ืขึฒืงึตืึดืืึผืช. ืื ืขืกืงื ืืืฆืืืช, ืืืืืจื, ืืชืขืืช ืจืง ืชืืฆืืืช ืชืงืคืืช. ืื ืืืืจ ืคืชืืืช ืขืกืงื ืืืืฆืืข ืืืง ืืืคืขืืืืช, ืืชืืื ืื ืืชืืฆืื ืืื ื ืืืงืืช, ืืชืืฆืข ืืืืจื.
- ืืืืื. ืืืฉืจ ืขืกืงื ืืืืฆืขืช, ืขืกืงืืืช ืืืงืืื ืื ืืืืจืืช ืืืฉืคืืข ืขื ืชืืฆืืืชืื. ืขืกืงืืืช ืืชืืจืืช ืืืืืืืช ืืืืฆืขืืช ื ืขืืืืช ืคืกืืืืืช ืขื ืืจืื. ืขืืืจ ืงืจืืืืช ืืืืฅ ืืขืกืงื, ืขืงืจืื ืืืืืื ื ืฉืืจ ืืจืืช Read Committed.
- ืงืืืืืช. ืืื ืงืฉืจ ืืืขืืืช ืืจืืืช ื ืืืืืช ืืืชืจ - ืืคืกืงืช ืืขืจืืช, ืืฉื ืืืืืจื - ืฉืื ืืืื ืฉื ืขืฉื ืขื ืืื ืขืกืงื ืฉืืืฉืืื ืืืฆืืื ืฆืจืืืื ืืืืฉืืจ ื ืฉืืจืื ืืืฉืจ ืืคืขืืืืช ืืชืืืฉื.
ืงืจืืื ืืคื ืืื ืืงืกืื
ื ืืงื ืืืื ืคืฉืืื:
CREATE TABLE photos (
id bigint primary key,
owner bigint,
modified timestamp,
โฆ)
ืืฉ ืืื ืืืื (ืืคืชื ืจืืฉื), ืืขืืื ืืชืืจืื ืฉืื ืื. ืืชื ืฆืจืื ืืืืืฉ ืืงืฉื ืคืฉืืื ืืืื - ืืืจ ื ืชืื ืื ืขื ืืืขืืื ืขื ืชืืจืื ืืฉืื ืื "ืืืื ืืืืจืื".
SELECT *
WHERE owner=?
AND modified>?
ืืื ืฉืฉืืืืชื ืืื ืชืขืืื ืืืืืจืืช, ื-SQL DBMS ืงืืืกื ืฆืจืื ืืื ืืช ืืื ืืงืก ืืคื ืขืืืืืช (ืืขืืื, ืฉืื ื). ืื ืื ื ืืืืืื ืืขืฉืืช ืืืช ืื ืืงืืืช, ืืืืืื ืฉืืฉ ืื ื ืืขืช ืขืจืืืืืช ACID!
ืืื ืืงืกืื ื-C*One
ืืฉ ืืืืช ืืงืืจ ืขื ืชืืื ืืช ืฉืื ืืืื ืืจืฉืืื ืืื ืืืคืชื ืืจืืฉื.
ืขืืืจ ืืื ืืงืก, C*One ืืืฆืจ ืืืื ืืืฉื ืฉืืื ืขืืชืง ืฉื ืืืงืืจ. ืืืคืชื ืืื ืืืืืื ืืืื ืืงืก, ืืืื ืืืื ืื ืืช ืืืคืชื ืืจืืฉื ืฉื ืืจืฉืืื ืืืืืช ืืืงืืจ:
ืืขืช ื ืืชื ืืฉืืชื ืืช ืืฉืืืืชื ืขืืืจ "ืืขืืื ืืืื ืืืืจืื" ืืืืืจื ืืืืื ืืืจืช:
SELECT * FROM i1_test
WHERE owner=?
AND modified>?
ืืขืงืืืืช ืฉื ืื ืชืื ืื ืืชืืื ืืช ืืืืช ืืืงืืจ ืืืืืืช ืืืื ืืงืก i1 ื ืฉืืจืช ืืืืืืืืช ืขื ืืื ืืจืื. ืืืชืืกืก ืขื ืกืืืืช ืื ืชืื ืื ืืืื, ืืืฉืจ ืืชืงืื ืฉืื ืื, ืืจืื ืืืฆืจ ืืืืืกื ืฉืื ืื ืื ืจืง ืืืืื ืืจืืฉืืช, ืืื ืื ืืืขืชืงืื. ืื ืืชืืฆืขืืช ืคืขืืืืช ื ืืกืคืืช ืืืืืช ืืืื ืืงืก, ืืืื ืื ืืื ื ื ืงืจืืื, ืืืื ืฉืืืืฉ ืืื ืขืืืื. ืืืืืจ, ืืืกืคืช ืืื ืืงืกืื ืืื ื ืฆืืจืืช ืืืขื ืืฉืืืื ืืืืขืฉื ืืื ืื ืืฉืคืขื ืขื ืืืืจืืช ืืืืช ืืฉืื ืืืื.
ืืืืฆืขืืช ACID, ืืฆืืื ื ืืืืฉื ืืื ืืงืกืื ืืืืื SQL. ืื ืขืงืืืื, ื ืืชื ืื ืืืจืืื, ืืืืจืื, ื ืืชื ืื ืืืืืืจ ืืืืื ืื ืืฉืคืช ืืฉืืืืชืืช CQL. ืืื ืฆืืจื ืืฉืื ืืืื ืืงืื ืืืืฉืื ืืื ืืชืืื ืืืื ืืงืกืื. ืืื ืคืฉืื ืืื ื-SQL. ืืืื ืืฉืื, ืืื ืืงืกืื ืืื ื ืืฉืคืืขืื ืขื ืืืืจืืช ืืืืฆืืข ืฉื ืฉืื ืืืื ืืืืืช ืืขืกืงืืืช ืืืงืืจืืช.
ืื ืงืจื
ืคืืชืื ื ืืช C*One ืืคื ื ืฉืืืฉ ืฉื ืื ืืืฉืงื ื ืืืชื ืืคืขืืื ืืกืืจืืช.
ืื ืงืืืื ื ืืกืืฃ? ืืื ื ืขืจืื ืืืช ืืืืฆืขืืช ืืืืืื ืฉื ืชืช-ืืขืจืืช ืขืืืื ืืชืืื ืืช ืืืืืกืื, ืืื ืืกืืื ืื ืชืื ืื ืืืฉืืืื ืืืืชืจ ืืจืฉืช ืืืจืชืืช. ืื ืื ื ืื ืืืืจืื ืขื ืืืคืืช ืืฆืืืืืื ืขืฆืื, ืืื ืขื ืื ืืื ื ืืื-ืืื ืคืืจืืฆืื. ืืขืช ื- Odnoklassniki ืืฉ ื-20 ืืืืืืจื ืจืฉืืืืช ืืืื, ืืืขืจืืช ืืขืืืช 80 ืืืฃ ืืงืฉืืช ืงืจืืื ืืฉื ืืื, ืขื 8 ืืืฃ ืขืกืงืืืช ACID ืืฉื ืืื ืืงืฉืืจืืช ืืฉืื ืื ื ืชืื ืื.
ืืืฉืจ ืืฉืชืืฉื ื ื-SQL ืขื ืืงืื ืฉืืคืื = 1 (ืืื ื-RAID 10), ืืืื-ืืืืข ืฉื ืืชืืื ืืช ื ืฉืืจ ืืืฉืืื ืืืื ืืืื ืฉื 32 ืืืื ืืช ืืืจืืฆืื ืืช Microsoft SQL Server (ืืชืืกืคืช 11 ืืืืืืื). 10 ืฉืจืชืื ืืืงืฆื ืื ืืืืกืื ืืืืืืื. ืืกื ืืื 50 ืืืื ืืืช ืืงืจืืช. ืืืงืืื, ืืืขืจืืช ืคืขืื ืืขืืืก ื ืงืื, ืืื ืืืืืืื.
ืืืืจ ืืืขืืจ ืืืขืจืืช ืืืืฉื ืงืืืื ื ืืงืื ืฉืืคืื = 3 - ืขืืชืง ืืื ืืจืื ื ืชืื ืื. ืืืขืจืืช ืืืจืืืช ื-63 ืฆืืชื ืืืกืื Cassandra ื-6 ืืืื ืืช ืจืื, ืืกื ืืื 69 ืฉืจืชืื. ืืื ืืืืื ืืช ืืืื ืืืืืช ืืจืื ืืืชืจ, ืืขืืืช ืืืืืืช ืฉืืื ืืื ื-30% ืืืขืืืช ืฉื ืืขืจืืช SQL. ืืืงืืื, ืืขืืืก ื ืฉืืจ ืขื 30%.
ืขื ืื ืืกืชื ืฉื C*One, ืื ืืืฉืืื ืืจืื: ื-SQL, ืคืขืืืช ืืชืืื ืืจืื ื-4,5 ืืืคืืืช ืืฉื ืืื. ื-C*One - ื-1,6 ืืืคืืืช ืืฉื ืืื. ืืฉื ืืขืกืงื ืืื ืืืืืฆืข ืคืืืช ื-40 ืืืคืืืช ืืฉื ืืื, ืืืชืืืืืืช ืืกืชืืืืช ืชืื 2 ืฉื ืืืช, ืืฉื ืืงืจืืื ืืืืชืืื ืืื ืืืืืฆืข 2 ืืืืืฉื ืืืช. ืืืืืืื ื-99 - ืจืง 3-3,1 ืืืคืืืช ืืฉื ืืื, ืืกืคืจ ืคืกืงื ืืืื ืืจื ืคื 100 - ืืื ืืืื ืืฉืืืืฉ ืื ืจืื ืืกืคืงืืืฆืืืช.
ืขื ืขืืฉืื, ืจืื ืืฆืืชืื ืฉื SQL Server ืืืฆืื ืืฉืืืืฉ; ืืืฆืจืื ืืืฉืื ืืคืืชืืื ืจืง ืืืืฆืขืืช C*One. ืืชืืื ื ืืช C*One ืืขืืืื ืืขื ื ืฉืื ื
ืขืืฉืื ืื ืื ื ืขืืืืื ืขื ืืขืืจืช ืืชืงื ื ืืืืกืื ืืืืจืื ืฉืื ื ืืขื ื - ืืื ืื ืืืจ ืกืืคืืจ ืืืจ ืืืืจื.
ืืงืืจ: www.habr.com