NewSQL = NoSQL+ACID

NewSQL = NoSQL+ACID
ืขื“ ืœืื—ืจื•ื ื”, ืื•ื“ื ื•ืงืœืกื ื™ืงื™ ืื—ืกื ื” ื›-50 TB ืฉืœ ื ืชื•ื ื™ื ืฉืขื•ื‘ื“ื• ื‘ื–ืžืŸ ืืžืช ื‘-SQL Server. ืขื‘ื•ืจ ื ืคื— ื›ื–ื”, ื›ืžืขื˜ ื‘ืœืชื™ ืืคืฉืจื™ ืœืกืคืง ื’ื™ืฉื” ืžื”ื™ืจื” ื•ืืžื™ื ื”, ื•ืืคื™ืœื• ืกื•ื‘ืœื ื™ืช ืœื›ืฉืœื™ื ื‘ืžืจื›ื– ื”ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช SQL DBMS. ื‘ื“ืจืš ื›ืœืœ, ื‘ืžืงืจื™ื ื›ืืœื”, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืื—ื“ ืžืื—ืกื•ืŸ ื”-NoSQL, ืืš ืœื ื”ื›ืœ ื ื™ืชืŸ ืœื”ืขื‘ื™ืจ ืœ-NoSQL: ื™ืฉื•ื™ื•ืช ืžืกื•ื™ืžื•ืช ื“ื•ืจืฉื•ืช ืขืจื‘ื•ื™ื•ืช ืขืกืงืื•ืช ACID.

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

ืื™ืš ื–ื” ืขื•ื‘ื“ ื•ืžื” ืงืจื” - ืงืจื ืžืชื—ืช ืœื›ืชื‘ื”.

ื›ื™ื•ื, ื”ืงื”ืœ ื”ื—ื•ื“ืฉื™ ืฉืœ Odnoklassniki ื”ื•ื ื™ื•ืชืจ ืž-70 ืžื™ืœื™ื•ืŸ ืžื‘ืงืจื™ื ื™ื™ื—ื•ื“ื™ื™ื. ืึธื ื•ึผ ืื ื—ื ื• ื‘ื—ืžื™ืฉื™ื™ื” ื”ืจืืฉื•ื ื” ื”ืจืฉืชื•ืช ื”ื—ื‘ืจืชื™ื•ืช ื”ื’ื“ื•ืœื•ืช ื‘ืขื•ืœื, ื•ื‘ื™ืŸ ืขืฉืจื™ื ื”ืืชืจื™ื ืฉื‘ื”ื ื”ืžืฉืชืžืฉื™ื ืžื‘ืœื™ื ื”ื›ื™ ื”ืจื‘ื” ื–ืžืŸ. ืชืฉืชื™ืช OK ืžื˜ืคืœืช ื‘ืขื•ืžืกื™ื ื’ื‘ื•ื”ื™ื ืžืื•ื“: ื™ื•ืชืจ ืžืžื™ืœื™ื•ืŸ ื‘ืงืฉื•ืช HTTP/ืฉื ื™ื™ื” ืœื›ืœ ื—ื–ื™ืช. ื—ืœืงื™ื ืžืฆื™ ืฉืจืชื™ื ืฉืœ ื™ื•ืชืจ ืž-8000 ื—ืœืงื™ื ืžืžื•ืงืžื™ื ืงืจื•ื‘ ื–ื” ืœื–ื” - ื‘ืืจื‘ืขื” ืžืจื›ื–ื™ ื ืชื•ื ื™ื ื‘ืžื•ืกืงื‘ื”, ืžื” ืฉืžืืคืฉืจ ื”ืฉื”ื™ื™ืช ืจืฉืช ืฉืœ ืคื—ื•ืช ืž-1 ms ื‘ื™ื ื™ื”ื.

ืื ื• ืžืฉืชืžืฉื™ื ื‘ืงืกื ื“ืจื” ืžืื– 2010, ื”ื—ืœ ืžื’ืจืกื” 0.6. ื›ื™ื•ื ืคื•ืขืœื™ื ื›ืžื” ืขืฉืจื•ืช ืืฉื›ื•ืœื•ืช. ื”ืืฉื›ื•ืœ ื”ืžื”ื™ืจ ื‘ื™ื•ืชืจ ืžืขื‘ื“ ื™ื•ืชืจ ืž-4 ืžื™ืœื™ื•ืŸ ืคืขื•ืœื•ืช ื‘ืฉื ื™ื™ื”, ื•ื”ื’ื“ื•ืœ ืžืื—ืกืŸ 260 TB.

ืขื ื–ืืช, ื›ืœ ืืœื” ื”ื ืืฉื›ื•ืœื•ืช NoSQL ืจื’ื™ืœื™ื ื”ืžืฉืžืฉื™ื ืœืื—ืกื•ืŸ ืžืชื•ืื ื—ืœืฉ ื ืชื•ื ื™ื. ืจืฆื™ื ื• ืœื”ื—ืœื™ืฃ ืืช ื”ืื—ืกื•ืŸ ื”ืขืงื‘ื™ ื”ืขื™ืงืจื™, Microsoft SQL Server, ืฉื ืžืฆื ื‘ืฉื™ืžื•ืฉ ืžืื– ื”ืงืžืช Odnoklassniki. ื”ืื—ืกื•ืŸ ื›ืœืœ ื™ื•ืชืจ ืž-300 ืžื›ื•ื ื•ืช SQL Server Standard Edition, ืฉื”ื›ื™ืœื• 50 TB ืฉืœ ื ืชื•ื ื™ื - ื’ื•ืคื™ื ืขืกืงื™ื™ื. ื ืชื•ื ื™ื ืืœื” ืžืฉืชื ื™ื ื›ื—ืœืง ืžืขืกืงืื•ืช ACID ื•ื“ื•ืจืฉื™ื ืขืงื‘ื™ื•ืช ื’ื‘ื•ื”ื”.

ื›ื“ื™ ืœื”ืคื™ืฅ ื ืชื•ื ื™ื ืขืœ ืคื ื™ ืฆืžืชื™ื ืฉืœ SQL Server, ื”ืฉืชืžืฉื ื• ื”ืŸ ื‘ืื ื›ื™ ื•ื”ืŸ ื‘ืื•ืคืงื™ ืžื—ื™ืฆื” (ืจื™ืกื•ืง). ืžื‘ื—ื™ื ื” ื”ื™ืกื˜ื•ืจื™ืช, ื”ืฉืชืžืฉื ื• ื‘ืกื›ื™ืžืช ืคื™ืฆื•ืœ ื ืชื•ื ื™ื ืคืฉื•ื˜ื”: ื›ืœ ื™ืฉื•ืช ื”ื™ื™ืชื” ืžืฉื•ื™ื›ืช ืœืืกื™ืžื•ืŸ - ืคื•ื ืงืฆื™ื” ืฉืœ ืžื–ื”ื” ื”ื™ืฉื•ืช. ื™ืฉื•ื™ื•ืช ืขื ืื•ืชื• ืืกื™ืžื•ืŸ ื”ื•ืฆื‘ื• ื‘ืื•ืชื• ืฉืจืช SQL. ืžืขืจื›ืช ื”ื™ื—ืกื™ื ื”ืจืืฉื™ืช ืœืคืจื˜ ื™ื•ืฉืžื” ื›ืš ืฉื”ืืกื™ืžื•ื ื™ื ืฉืœ ื”ืจืฉื•ืžื•ืช ื”ืจืืฉื™ื•ืช ื•ื”ื™ืœื“ื™ื ืชืžื™ื“ ื”ืชืื™ืžื• ื•ื”ื™ื• ืžืžื•ืงืžื™ื ื‘ืื•ืชื• ืฉืจืช. ื‘ืจืฉืช ื—ื‘ืจืชื™ืช, ื›ืžืขื˜ ื›ืœ ื”ืจืฉื•ืžื•ืช ื ื•ืฆืจื•ืช ืžื˜ืขื ื”ืžืฉืชืžืฉ - ืžื” ืฉืื•ืžืจ ืฉื›ืœ ื ืชื•ื ื™ ื”ืžืฉืชืžืฉ ื‘ืชื•ืš ืชืช-ืžืขืจื›ืช ืคื•ื ืงืฆื™ื•ื ืœื™ืช ืื—ืช ืžืื•ื—ืกื ื™ื ื‘ืฉืจืช ืื—ื“. ื›ืœื•ืžืจ, ืขืกืงื” ืขืกืงื™ืช ื›ืœืœื” ื›ืžืขื˜ ืชืžื™ื“ ื˜ื‘ืœืื•ืช ืžืฉืจืช SQL ืื—ื“, ืžื” ืฉืืคืฉืจ ืœื”ื‘ื˜ื™ื— ืขืงื‘ื™ื•ืช ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ื˜ืจื ื–ืงืฆื™ื•ืช ACID ืžืงื•ืžื™ื•ืช, ืœืœื ืฆื•ืจืš ื‘ืฉื™ืžื•ืฉ ืื™ื˜ื™ ื•ืœื ืืžื™ืŸ ืขืกืงืื•ืช ACID ืžื‘ื•ื–ืจื•ืช.

ื”ื•ื“ื•ืช ืœืจื™ืกื•ืง ื•ืœื–ื™ืจื•ื– SQL:

  • ืื ื• ืœื ืžืฉืชืžืฉื™ื ื‘ืื™ืœื•ืฆื™ื ืฉืœ ืžืคืชื— ื–ืจ, ืฉื›ืŸ ื‘ืขืช โ€‹โ€‹ืคื™ืฆื•ืœ ืžื–ื”ื” ื”ื™ืฉื•ืช ืขืฉื•ื™ ืœื”ื™ื•ืช ืžืžื•ืงื ื‘ืฉืจืช ืื—ืจ.
  • ืื ื• ืœื ืžืฉืชืžืฉื™ื ื‘ืคืจื•ืฆื“ื•ืจื•ืช ืžืื•ื—ืกื ื•ืช ื•ื‘ื˜ืจื™ื’ืจื™ื ืขืงื‘ ื”ืขื•ืžืก ื”ื ื•ืกืฃ ืขืœ ืžืขื‘ื“ ื”-DBMS.
  • ืื ื—ื ื• ืœื ืžืฉืชืžืฉื™ื ื‘-JOIN ื‘ื’ืœืœ ื›ืœ ื”ืืžื•ืจ ืœืขื™ืœ ื•ื”ืจื‘ื” ืงืจื™ืื•ืช ืืงืจืื™ื•ืช ืžื”ื“ื™ืกืง.
  • ืžื—ื•ืฅ ืœืขืกืงื”, ืื ื• ืžืฉืชืžืฉื™ื ื‘ืจืžืช ื”ื‘ื™ื“ื•ื“ Read Uncommitted ื›ื“ื™ ืœื”ืคื—ื™ืช ืžื‘ื•ื™ ืกืชื•ื.
  • ืื ื• ืžื‘ืฆืขื™ื ืจืง ืขืกืงืื•ืช ืงืฆืจื•ืช (ื‘ืžืžื•ืฆืข ืงืฆืจื•ืช ืž-100 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื”).
  • ืื ื—ื ื• ืœื ืžืฉืชืžืฉื™ื ื‘-UPDATE ื•-DELETE ืžืจื•ื‘ื™ ืฉื•ืจื•ืช ื‘ื’ืœืœ ื”ืžืกืคืจ ื”ืจื‘ ืฉืœ ืžื‘ื•ื™ ืกืชื•ื - ืื ื—ื ื• ืžืขื“ื›ื ื™ื ืจืง ืจืฉื•ืžื” ืื—ืช ื‘ื›ืœ ืคืขื.
  • ืื ื—ื ื• ืชืžื™ื“ ืžื‘ืฆืขื™ื ืฉืื™ืœืชื•ืช ืจืง ื‘ืื™ื ื“ืงืกื™ื โ€“ ืฉืื™ืœืชื” ืขื ืชื•ื›ื ื™ืช ืกืจื™ืงืช ื˜ื‘ืœื” ืžืœืื” ืขื‘ื•ืจื ื• ืคื™ืจื•ืฉื” ืขื•ืžืก ื™ืชืจ ืขืœ ืžืกื“ ื”ื ืชื•ื ื™ื ื•ื’ืจื™ืžืชื• ืœื›ื™ืฉืœื•ืŸ.

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

ื‘ืขื™ื•ืช ืขื SQL

  • ืžื›ื™ื•ื•ืŸ ืฉื”ืฉืชืžืฉื ื• ื‘ืจืกื™ืกื™ื ื‘ื›ืชื‘ ืขืฆืžื™, ื”ื•ืกืคืช ืจืกื™ืกื™ื ื—ื“ืฉื™ื ื ืขืฉืชื” ื‘ืื•ืคืŸ ื™ื“ื ื™ ืขืœ ื™ื“ื™ ืžื ื”ืœื™ ืžืขืจื›ืช. ื›ืœ ื”ื–ืžืŸ ื”ื–ื”, ื”ืขืชืงื™ ื ืชื•ื ื™ื ื ื™ืชื ื™ื ืœื”ืจื—ื‘ื” ืœื ื”ื™ื• ื‘ืงืฉื•ืช ืฉื™ืจื•ืช.
  • ื›ื›ืœ ืฉืžืกืคืจ ื”ืจืฉื•ืžื•ืช ื‘ื˜ื‘ืœื” ื’ื“ืœ, ืžื”ื™ืจื•ืช ื”ื”ื•ืกืคื” ื•ื”ืฉื™ื ื•ื™ ืคื•ื—ืชืช; ื›ืืฉืจ ืžื•ืกื™ืคื™ื ืื™ื ื“ืงืกื™ื ืœื˜ื‘ืœื” ืงื™ื™ืžืช, ื”ืžื”ื™ืจื•ืช ื™ื•ืจื“ืช ื‘ื’ื•ืจื ืื—ื“; ื™ืฆื™ืจื” ื•ื™ืฆื™ืจื” ืžื—ื“ืฉ ืฉืœ ืื™ื ื“ืงืกื™ื ืžืชืจื—ืฉืช ืขื ื”ืฉื‘ืชื”.
  • ืฉื™ืžื•ืฉ ื‘ื›ืžื•ืช ืงื˜ื ื” ืฉืœ Windows ืขื‘ื•ืจ SQL Server ื‘ื™ื™ืฆื•ืจ ืžืงืฉื” ืขืœ ื ื™ื”ื•ืœ ื”ืชืฉืชื™ืช

ืื‘ืœ ื”ื‘ืขื™ื” ื”ืขื™ืงืจื™ืช ื”ื™ื

ืกื•ื‘ืœื ื•ืช ืœืชืงืœื•ืช

ืœืฉืจืช SQL ื”ืงืœืืกื™ ื™ืฉ ืกื•ื‘ืœื ื•ืช ืชืงืœื•ืช ื™ืจื•ื“ื”. ื ื ื™ื— ืฉื™ืฉ ืœืš ืจืง ืฉืจืช ืžืกื“ ื ืชื•ื ื™ื ืื—ื“, ื•ื”ื•ื ื ื›ืฉืœ ืคืขื ื‘ืฉืœื•ืฉ ืฉื ื™ื. ื‘ืžื”ืœืš ืชืงื•ืคื” ื–ื• ื”ืืชืจ ืžื•ืฉื‘ืช ืœืžืฉืš 20 ื“ืงื•ืช, ื•ื–ื” ืžืงื•ื‘ืœ. ืื ื™ืฉ ืœืš 64 ืฉืจืชื™ื, ื”ืืชืจ ืžื•ืฉื‘ืช ืคืขื ื‘ืฉืœื•ืฉื” ืฉื‘ื•ืขื•ืช. ื•ืื ื™ืฉ ืœืš 200 ืฉืจืชื™ื, ืื– ื”ืืชืจ ืœื ืขื•ื‘ื“ ื›ืœ ืฉื‘ื•ืข. ื–ื• ื‘ืขื™ื”.

ืžื” ื ื™ืชืŸ ืœืขืฉื•ืช ื›ื“ื™ ืœืฉืคืจ ืืช ืกื‘ื™ืœื•ืช ื”ืชืงืœื•ืช ืฉืœ ืฉืจืช SQL? ื•ื™ืงื™ืคื“ื™ื” ืžื–ืžื™ื ื” ืื•ืชื ื• ืœื‘ื ื•ืช ืืฉื›ื•ืœ ื–ืžื™ืŸ ื‘ืžื™ื•ื—ื“: ื›ืืฉืจ ื‘ืžืงืจื” ืฉืœ ื›ืฉืœ ืฉืœ ื›ืœ ืื—ื“ ืžื”ืจื›ื™ื‘ื™ื ื™ืฉ ื’ื™ื‘ื•ื™.

ื–ื” ื“ื•ืจืฉ ืฆื™ ืฉืœ ืฆื™ื•ื“ ื™ืงืจ: ื›ืคื™ืœื•ื™ื•ืช ืจื‘ื•ืช, ืกื™ื‘ื™ื ืื•ืคื˜ื™ื™ื, ืื—ืกื•ืŸ ืžืฉื•ืชืฃ ื•ื”ื›ืœืœืช ืจื–ืจื‘ื” ืื™ื ื” ืคื•ืขืœืช ื‘ืฆื•ืจื” ืžื”ื™ืžื ื”: ื›-10% ืžื”ืžื™ืชื•ื’ื™ื ืžืกืชื™ื™ืžื™ื ื‘ื›ืฉืœ ืฉืœ ืฆื•ืžืช ื”ื’ื™ื‘ื•ื™ ื›ืžื• ืจื›ื‘ืช ืžืื—ื•ืจื™ ื”ืฆื•ืžืช ื”ืจืืฉื™.

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

ื‘ืฉื‘ื™ืœ ื–ื” ื ื•ื›ืœ ืœื”ืฉืชืžืฉ ืจื‘ ืžืืกื˜ืจ ืฉื›ืคื•ืœ ืžื•ื‘ื ื” ื‘-SQL Server. ืคืชืจื•ืŸ ื–ื” ื™ืงืจ ื‘ื”ืจื‘ื” ื‘ื’ืœืœ ืขืœื•ืช ื”ืชื•ื›ื ื” ื•ืกื•ื‘ืœ ืžื‘ืขื™ื•ืช ืžื•ื›ืจื•ืช ื‘ืฉื›ืคื•ืœ โ€“ ืขื™ื›ื•ื‘ื™ื ื‘ืœืชื™ ืฆืคื•ื™ื™ื ื‘ืขืกืงืื•ืช ืขื ืฉื›ืคื•ืœ ืกื™ื ื›ืจื•ื ื™ ื•ืขื™ื›ื•ื‘ื™ื ื‘ื™ื™ืฉื•ื ืจืคืœื™ืงืฆื™ื•ืช (ื•ื›ืชื•ืฆืื” ืžื›ืš ืื‘ื“ื• ืฉื™ื ื•ื™ื™ื) ื‘ืฉื›ืคื•ืœ ืืกื™ื ื›ืจื•ื ื™. ื”ืžืจื•ืžื– ืคืชืจื•ืŸ ืกื›ืกื•ื›ื™ื ื™ื“ื ื™ ื”ื•ืคืš ืืช ื”ืืคืฉืจื•ืช ื”ื–ื• ืœื‘ืœืชื™ ื™ืฉื™ืžื” ืœื—ืœื•ื˜ื™ืŸ ืขืœื™ื ื•.

ื›ืœ ื”ื‘ืขื™ื•ืช ื”ืœืœื• ื“ืจืฉื• ืคืชืจื•ืŸ ืงื™ืฆื•ื ื™, ื•ื”ืชื—ืœื ื• ืœื ืชื— ืื•ืชืŸ ื‘ืคื™ืจื•ื˜. ื›ืืŸ ืฆืจื™ืš ืœื”ื›ื™ืจ ืืช ืžื” ืฉืขื•ืฉื” ื‘ืขื™ืงืจ SQL Server - ื˜ืจื ื–ืงืฆื™ื•ืช.

ืขืกืงื” ืคืฉื•ื˜ื”

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

  1. ืื ื—ื ื• ื—ื•ืกืžื™ื ืืช ื”ืืœื‘ื•ื ื‘ืžืคืชื—.
  2. ืฆื•ืจ ืขืจืš ื‘ื˜ื‘ืœืช ื”ืชืžื•ื ื•ืช.
  3. ืื ืœืชืžื•ื ื” ื™ืฉ ืกื˜ื˜ื•ืก ืฆื™ื‘ื•ืจื™, ื”ื•ืกืฃ ืžื•ื ื” ืชืžื•ื ื” ืฆื™ื‘ื•ืจื™ืช ืœืืœื‘ื•ื, ืขื“ื›ืŸ ืืช ื”ืจืฉื•ืžื” ื•ื‘ืฆืข ืืช ื”ืขืกืงื”.

ืื• ื‘ืคืกืื•ื“ื•ืงื•ื“:

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 ืœืขืจืš ืื—ืจ ื•ืœื›ื‘ื•ืช ืืช ื”ืžื•ื ื™ื ื”ืžืชืื™ืžื™ื. ื‘ืจื•ืจ ืฉืื ืคืขื•ืœื” ื–ื• ืžืชืจื—ืฉืช ืœืœื ื”ื‘ื˜ื—ื•ืช ืœืื˜ื•ืžื™ื•ืช ืฉืœ ื™ื™ืฉื•ื ื•ื‘ื™ื“ื•ื“ ืฉืœ ืฉื™ื ื•ื™ื™ื ืžืชื—ืจื™ื, ื›ืžื• ื‘ ACID, ืื– ื”ืชื•ืฆืื” ืœื ืชื”ื™ื” ืžื” ืฉืฆืจื™ืš - ืื• ืฉืžื•ื ื” ื”ืชืžื•ื ื•ืช ื™ืจืื” ืืช ื”ืขืจืš ื”ืฉื’ื•ื™, ืื• ืฉืœื ื›ืœ ื”ืชืžื•ื ื•ืช ื™ื™ืฉืœื—ื• ืœืชื™ื—ื•ื.

ื”ืจื‘ื” ืงื•ื“ ื“ื•ืžื”, ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ื’ื•ืคื™ื ืขืกืงื™ื™ื ืฉื•ื ื™ื ื‘ืชื•ืš ืขืกืงื” ืื—ืช, ื ื›ืชื‘ ืœืื•ืจืš ื›ืœ ืงื™ื•ืžื” ืฉืœ Odnoklassniki. ืžื‘ื•ืกืก ืขืœ ื ื™ืกื™ื•ืŸ ื”ื”ื’ื™ืจื•ืช ืœ-NoSQL ืž ืขืงื‘ื™ื•ืช ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืื ื• ื™ื•ื“ืขื™ื ืฉื”ืืชื’ืจ ื”ื’ื“ื•ืœ ื‘ื™ื•ืชืจ (ื•ื”ืฉืงืขืช ื”ื–ืžืŸ) ื ื•ื‘ืข ืžืคื™ืชื•ื— ืงื•ื“ ืœืฉืžื™ืจื” ืขืœ ืขืงื‘ื™ื•ืช ื”ื ืชื•ื ื™ื. ืœื›ืŸ, ืฉืงืœื ื• ืืช ื”ื“ืจื™ืฉื” ื”ืขื™ืงืจื™ืช ืœืื—ืกื•ืŸ ื”ื—ื“ืฉ ืœื”ื™ื•ืช ืžืชืŸ ืขืกืงืื•ืช ACID ืืžื™ืชื™ื•ืช ืœืœื•ื’ื™ืงื” ืฉืœ ื™ื™ืฉื•ืžื™ื.

ื“ืจื™ืฉื•ืช ืื—ืจื•ืช, ืœื ืคื—ื•ืช ื—ืฉื•ื‘ื•ืช, ื”ื™ื•:

  • ืื ืžืจื›ื– ื”ื ืชื•ื ื™ื ื ื›ืฉืœ, ื’ื ืงืจื™ืื” ื•ื’ื ื›ืชื™ื‘ื” ืœืื—ืกื•ืŸ ื”ื—ื“ืฉ ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื–ืžื™ื ื™ื.
  • ืฉืžื™ืจื” ืขืœ ืžื”ื™ืจื•ืช ื”ืคื™ืชื•ื— ื”ื ื•ื›ื—ื™ืช. ื›ืœื•ืžืจ, ื›ืฉืขื•ื‘ื“ื™ื ืขื ืžืื’ืจ ื—ื“ืฉ, ื›ืžื•ืช ื”ืงื•ื“ ืฆืจื™ื›ื” ืœื”ื™ื•ืช ื‘ืขืจืš ื–ื”ื”, ืœื ืฆืจื™ืš ืœื”ื•ืกื™ืฃ ืฉื•ื ื“ื‘ืจ ืœืžืื’ืจ, ืœืคืชื— ืืœื’ื•ืจื™ืชืžื™ื ืœืคืชืจื•ืŸ ืงื•ื ืคืœื™ืงื˜ื™ื, ืฉืžื™ืจื” ืขืœ ืื™ื ื“ืงืกื™ื ืžืฉื ื™ื™ื ื•ื›ื•'.
  • ื”ืžื”ื™ืจื•ืช ืฉืœ ื”ืื—ืกื•ืŸ ื”ื—ื“ืฉ ื”ื™ื™ืชื” ืฆืจื™ื›ื” ืœื”ื™ื•ืช ื“ื™ ื’ื‘ื•ื”ื”, ื”ืŸ ื‘ืขืช โ€‹โ€‹ืงืจื™ืืช ื ืชื•ื ื™ื ื•ื”ืŸ ื‘ืขืช โ€‹โ€‹ืขื™ื‘ื•ื“ ืขืกืงืื•ืช, ืžื” ืฉืื•ืžืจ ืœืžืขืฉื” ืฉืคืชืจื•ื ื•ืช ืืงื“ืžื™ื™ื ืงืคื“ื ื™ื™ื, ืื•ื ื™ื‘ืจืกืœื™ื™ื ืืš ืื™ื˜ื™ื™ื, ื›ื’ื•ืŸ, ืœืžืฉืœ, ืœื ื”ื™ื• ื™ืฉื™ืžื™ื. ื”ืชื—ื™ื™ื‘ื•ื™ื•ืช ื“ื•-ืฉืœื‘ื™ื•ืช.
  • ืงื ื” ืžื™ื“ื” ืื•ื˜ื•ืžื˜ื™ ืชื•ืš ื›ื“ื™ ืชื ื•ืขื”.
  • ืฉื™ืžื•ืฉ ื‘ืฉืจืชื™ื ื–ื•ืœื™ื ืจื’ื™ืœื™ื, ืœืœื ืฆื•ืจืš ื‘ืจื›ื™ืฉืช ื—ื•ืžืจื” ืืงื–ื•ื˜ื™ืช.
  • ืืคืฉืจื•ืช ืœืคื™ืชื•ื— ืื—ืกื•ืŸ ืขืœ ื™ื“ื™ ืžืคืชื—ื™ ื”ื—ื‘ืจื”. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ื ื™ืชื ื” ืขื“ื™ืคื•ืช ืœืคืชืจื•ื ื•ืช ืงื ื™ื™ื ื™ื™ื ืื• ืงื•ื“ ืคืชื•ื—, ืจืฆื•ื™ ื‘ื’'ืื•ื•ื”.

ื”ื—ืœื˜ื•ืช ื”ื—ืœื˜ื•ืช

ื‘ื ื™ืชื•ื— ืคืชืจื•ื ื•ืช ืืคืฉืจื™ื™ื, ื”ื’ืขื ื• ืœืฉืชื™ ืืคืฉืจื•ื™ื•ืช ืืจื›ื™ื˜ืงื˜ื•ืจื” ืืคืฉืจื™ื•ืช:

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

ื”ืืคืฉืจื•ืช ื”ืฉื ื™ื™ื” ื”ื™ื ืœืงื—ืช ืื—ืกื•ืŸ NoSQL ืžื•ื›ืŸ ืขื ืงื ื” ืžื™ื“ื” ืžื™ื•ืฉื, ืืฉื›ื•ืœ ื›ืฉืœ, ืคืชืจื•ืŸ ืงื•ื ืคืœื™ืงื˜ื™ื ื•ืœื™ื™ืฉื ื˜ืจื ื–ืงืฆื™ื•ืช ื•-SQL ื‘ืขืฆืžืš. ื‘ืžื‘ื˜ ืจืืฉื•ืŸ, ืืคื™ืœื• ื”ืžืฉื™ืžื” ืฉืœ ื”ื˜ืžืขืช SQL, ืฉืœื ืœื“ื‘ืจ ืขืœ ืขืกืงืื•ืช ACID, ื ืจืื™ืช ื›ืžื• ืžืฉื™ืžื” ืฉืชื™ืžืฉืš ืฉื ื™ื. ืื‘ืœ ืื– ื”ื‘ื ื• ืฉืกื˜ ื”ืชื›ื•ื ื•ืช ืฉืœ SQL ืฉืื ื• ืžืฉืชืžืฉื™ื ื‘ื• ื‘ืคื•ืขืœ ืจื—ื•ืง ืž-ANSI SQL ื›ืžื• ืงืกื ื“ืจื” CQL ืจื—ื•ืง ืž-ANSI SQL. ื›ืฉื‘ื“ืงื ื• ืขื•ื“ ื™ื•ืชืจ ืืช CQL, ื”ื‘ื ื• ืฉื”ื™ื ื“ื™ ืงืจื•ื‘ื” ืœืžื” ืฉื”ื™ื™ื ื• ืฆืจื™ื›ื™ื.

ืงืกื ื“ืจื” ื•-CQL

ืื– ืžื” ืžืขื ื™ื™ืŸ ื‘ืงืกื ื“ืจื”, ืื™ืœื• ื™ื›ื•ืœื•ืช ื™ืฉ ืœื”?

ืจืืฉื™ืช, ื›ืืŸ ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ื˜ื‘ืœืื•ืช ื”ืชื•ืžื›ื•ืช ื‘ืกื•ื’ื™ ื ืชื•ื ื™ื ืฉื•ื ื™ื; ืืชื” ื™ื›ื•ืœ ืœืขืฉื•ืช SELECT ืื• UPDATE ืขืœ ื”ืžืคืชื— ื”ืจืืฉื™.

CREATE TABLE photos (id bigint KEY, owner bigint,โ€ฆ);
SELECT * FROM photos WHERE id=?;
UPDATE photos SET โ€ฆ WHERE id=?;

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

ื”ื’ื™ืฉื” ืฉื‘ื” ืื ื• ื™ื•ืฆืจื™ื ืงืฉืจ ืขื ืฉืœื•ืฉื” ืฆืžืชื™ื ื•ืžืงื‘ืœื™ื ืชื’ื•ื‘ื” ืžืฉื ื™ื™ื ื ืงืจืืช ืกืคึผึตืงื•ึผืœึธืฆึดื™ึธื”: ื‘ืงืฉื” ืœื”ืขืชืงื™ื ื ื•ืกืคื™ื ื ืฉืœื—ืช ืขื•ื“ ืœืคื ื™ ืฉื”ื™ื "ื ื•ืคืœืช".

ื™ืชืจื•ืŸ ื ื•ืกืฃ ืฉืœ Cassandra ื”ื•ื Batchlog, ืžื ื’ื ื•ืŸ ื”ืžื‘ื˜ื™ื— ืฉืงื‘ื•ืฆืช ืฉื™ื ื•ื™ื™ื ืฉืชื‘ืฆืข ืžื™ื•ืฉืžื™ื ื‘ืžืœื•ืื ืื• ืœื ืžื™ื•ืฉืžื™ื ื›ืœืœ. ื–ื” ืžืืคืฉืจ ืœื ื• ืœืคืชื•ืจ ืืช A ื‘-ACID - ืื˜ื•ืžื™ื•ืช ืžื—ื•ืฅ ืœืงื•ืคืกื”.

ื”ื“ื‘ืจ ื”ืงืจื•ื‘ ื‘ื™ื•ืชืจ ืœืขืกืงืื•ืช ื‘ืงืกื ื“ืจื” ื”ื ืžื” ืฉื ืงืจื "ืขืกืงืื•ืช ืงืœื•ืช ืžืฉืงืœ". ืื‘ืœ ื”ื ืจื—ื•ืงื™ื ืžืขืกืงืื•ืช ACID "ืืžื™ืชื™ื•ืช": ืœืžืขืฉื”, ื–ื• ื”ื–ื“ืžื ื•ืช ืœืขืฉื•ืช CAS ืขืœ ื ืชื•ื ื™ื ืžืจืฉื•ืžื” ืื—ืช ื‘ืœื‘ื“, ืชื•ืš ืฉื™ืžื•ืฉ ื‘ืงื•ื ืฆื ื–ื•ืก ื‘ืืžืฆืขื•ืช ืคืจื•ื˜ื•ืงื•ืœ Paxos ื‘ืžืฉืงืœ ื›ื‘ื“. ืœื›ืŸ, ื”ืžื”ื™ืจื•ืช ืฉืœ ืขืกืงืื•ืช ื›ืืœื” ื ืžื•ื›ื”.

ืžื” ืฉื”ื™ื” ื—ืกืจ ืœื ื• ื‘ืงืกื ื“ืจื”

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

ืงื•ึนื ื•ึผืก

ื›ืš ื ื•ืœื“ DBMS ื—ื“ืฉ ืงื•ึนื ื•ึผืก, ื”ืžื•ืจื›ื‘ ืžืฉืœื•ืฉื” ืกื•ื’ื™ื ืฉืœ ืฆืžืชื™ ืฉืจืช:

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

NewSQL = NoSQL+ACID

ืฉืจืชื™ื ืžื›ืœ ื”ืกื•ื’ื™ื ื”ื ื—ืœืง ืžืืฉื›ื•ืœ ืžืฉื•ืชืฃ, ืžืฉืชืžืฉื™ื ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ื”ื•ื“ืขื•ืช ื”ืคื ื™ืžื™ ืฉืœ Cassandra ื›ื“ื™ ืœืชืงืฉืจ ืื—ื“ ืขื ื”ืฉื ื™ ื• ืจื›ื™ืœื•ืช ืœื”ื—ืœืคืช ืžื™ื“ืข ืืฉื›ื•ืœ. ืขื Heartbeat, ืฉืจืชื™ื ืœื•ืžื“ื™ื ืขืœ ื›ืฉืœื™ื ื”ื“ื“ื™ื™ื, ืฉื•ืžืจื™ื ืขืœ ืกื›ื™ืžืช ื ืชื•ื ื™ื ืื—ืช - ื˜ื‘ืœืื•ืช, ื”ืžื‘ื ื” ื•ื”ืฉื›ืคื•ืœ ืฉืœื”ืŸ; ืขืจื›ืช ื—ืœื•ืงื”, ื˜ื•ืคื•ืœื•ื’ื™ื™ืช ืืฉื›ื•ืœื•ืช ื•ื›ื•'.

ืœืงื•ื—ื•ืช

NewSQL = NoSQL+ACID

ื‘ืžืงื•ื ืžื ื”ืœื™ ื”ืชืงื ื™ื ืจื’ื™ืœื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžืฆื‘ Fat Client. ืฆื•ืžืช ื›ื–ื” ืื™ื ื• ืžืื—ืกืŸ ื ืชื•ื ื™ื, ืืš ื™ื›ื•ืœ ืœืฉืžืฉ ื›ืจื›ื– ืœื‘ื™ืฆื•ืข ื”ื‘ืงืฉื•ืช, ื›ืœื•ืžืจ, ื”ืœืงื•ื— ืขืฆืžื• ืคื•ืขืœ ื›ืžืชืื ืฉืœ ื‘ืงืฉื•ืชื™ื•: ื”ื•ื ืžื‘ืฆืข ืฉืื™ืœืชื•ืช ืฉืœ ื”ืขืชืงื•ืช ืื—ืกื•ืŸ ื•ืคื•ืชืจ ืงื•ื ืคืœื™ืงื˜ื™ื. ื–ื” ืœื ืจืง ืืžื™ืŸ ื•ืžื”ื™ืจ ื™ื•ืชืจ ืžื”ื ื”ื’ ื”ืจื’ื™ืœ, ื”ื“ื•ืจืฉ ืชืงืฉื•ืจืช ืขื ืจื›ื– ืžืจื—ื•ืง, ืืœื ื’ื ืžืืคืฉืจ ืœืฉืœื•ื˜ ื‘ื”ืขื‘ืจืช ื”ื‘ืงืฉื•ืช. ืžื—ื•ืฅ ืœืขืกืงื” ื”ืคืชื•ื—ื” ื‘ืœืงื•ื—, ื‘ืงืฉื•ืช ื ืฉืœื—ื•ืช ืœืžืื’ืจื™ื. ืื ื”ืœืงื•ื— ืคืชื— ืขืกืงื”, ืื– ื›ืœ ื”ื‘ืงืฉื•ืช ื‘ืชื•ืš ื”ืขืกืงื” ื ืฉืœื—ื•ืช ืœืจื›ื– ื”ืขืกืงื”.
NewSQL = NoSQL+ACID

C*One ืจื›ื– ืขืกืงื”

ื”ืจื›ื– ื”ื•ื ืžืฉื”ื• ืฉื™ื™ืฉืžื ื• ืขื‘ื•ืจ C*One ืžืืคืก. ื”ื™ื ืื—ืจืื™ืช ืขืœ ื ื™ื”ื•ืœ ืขืกืงืื•ืช, ืžื ืขื•ืœื™ื ื•ืกื“ืจ ื‘ื™ืฆื•ืข ื”ืขืกืงืื•ืช.

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

ืžื ืขื•ืœื™ื

ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ื‘ื™ื“ื•ื“, ื”ื—ืœื˜ื ื• ืœื”ืฉืชืžืฉ ื‘ืฉื™ื˜ื” ื”ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ - ืžื ืขื•ืœื™ื ืคืกื™ืžื™ื™ื ื”ืžื‘ื•ืกืกื™ื ืขืœ ื”ืžืคืชื— ื”ืจืืฉื™ ืฉืœ ื”ืจืฉื•ืžื”. ื‘ืžื™ืœื™ื ืื—ืจื•ืช, ื‘ืขืกืงื”, ืชื—ื™ืœื” ื™ืฉ ืœื ืขื•ืœ ืจืฉื•ืžื”, ืจืง ืœืื—ืจ ืžื›ืŸ ืœืงืจื•ื, ืœืฉื ื•ืช ื•ืœืฉืžื•ืจ. ืจืง ืœืื—ืจ ื”ืชื—ื™ื™ื‘ื•ืช ืžื•ืฆืœื—ืช ื ื™ืชืŸ ืœืคืชื•ื— ืจืฉื•ืžื” ื›ืš ืฉืขืกืงืื•ืช ืžืชื—ืจื•ืช ื™ื•ื›ืœื• ืœื”ืฉืชืžืฉ ื‘ื”.

ื™ื™ืฉื•ื ื ืขื™ืœื” ื›ื–ื• ื”ื•ื ืคืฉื•ื˜ ื‘ืกื‘ื™ื‘ื” ืœื ืžื‘ื•ื–ืจืช. ื‘ืžืขืจื›ืช ืžื‘ื•ื–ืจืช, ืงื™ื™ืžื•ืช ืฉืชื™ ืืคืฉืจื•ื™ื•ืช ืขื™ืงืจื™ื•ืช: ืื• ืœื™ื™ืฉื ื ืขื™ืœื” ืžื‘ื•ื–ืจืช ืขืœ ื”ืืฉื›ื•ืœ, ืื• ืœื”ืคื™ืฅ ืขืกืงืื•ืช ื›ืš ืฉืขืกืงืื•ืช ื”ื›ืจื•ื›ื•ืช ื‘ืื•ืชื” ืจืฉื•ืžื” ืžื˜ื•ืคืœื•ืช ืชืžื™ื“ ืขืœ ื™ื“ื™ ืื•ืชื• ืจื›ื–.

ืžื›ื™ื•ื•ืŸ ืฉื‘ืžืงืจื” ืฉืœื ื• ื”ื ืชื•ื ื™ื ื›ื‘ืจ ืžื—ื•ืœืงื™ื ื‘ื™ืŸ ืงื‘ื•ืฆื•ืช ืฉืœ ื˜ืจื ื–ืงืฆื™ื•ืช ืžืงื•ืžื™ื•ืช ื‘-SQL, ื”ื•ื—ืœื˜ ืœื”ืงืฆื•ืช ืงื‘ื•ืฆื•ืช ื˜ืจื ื–ืงืฆื™ื•ืช ืžืงื•ืžื™ื•ืช ืœืจื›ื–ื™ื: ืจื›ื– ืื—ื“ ืžื‘ืฆืข ืืช ื›ืœ ื”ืขืกืงืื•ืช ื‘ืืกื™ืžื•ื ื™ื ืž-0 ืขื“ 9, ื”ืฉื ื™ - ืขื ืืกื™ืžื•ื ื™ื ืž-10 ืขื“ 19, ื•ื›ื•ืœื™. ื›ืชื•ืฆืื” ืžื›ืš, ื›ืœ ืื—ื“ ืžืžื•ืคืขื™ ื”ืจื›ื– ื”ื•ืคืš ืœืžืืกื˜ืจ ืฉืœ ืงื‘ื•ืฆืช ื”ืขืกืงืื•ืช.

ืœืื—ืจ ืžื›ืŸ ื ื™ืชืŸ ืœื™ื™ืฉื ืžื ืขื•ืœื™ื ื‘ืฆื•ืจื” ืฉืœ HashMap ื‘ื ืืœื™ ื‘ื–ื™ื›ืจื•ืŸ ืฉืœ ื”ืจื›ื–.

ื›ืฉืœื™ื ืฉืœ ืจื›ื–

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

ื›ืœ ืžืจื›ื– ื ืชื•ื ื™ื ืžืืจื— ืœืคื—ื•ืช ืฉื ื™ ืฆืžืชื™ื ืจื›ื–ื™ื. ืžืขืช ืœืขืช, ื›ืœ ืจื›ื– ืฉื•ืœื— ื”ื•ื“ืขืช ื“ื•ืคืง ืœืฉืืจ ื”ืจื›ื–ื™ื ื•ืžื•ื“ื™ืข ืœื”ื ืขืœ ืชืคืงื•ื“ื• ื•ื›ืŸ ืื™ืœื• ื”ื•ื“ืขื•ืช ื“ื•ืคืง ืงื™ื‘ืœ ืžืื™ื–ื” ืจื›ื–ื™ื ื‘ืืฉื›ื•ืœ ื‘ืคืขื ื”ืื—ืจื•ื ื”.

NewSQL = NoSQL+ACID

ื‘ืงื‘ืœืช ืžื™ื“ืข ื“ื•ืžื” ืžืื—ืจื™ื ื›ื—ืœืง ืžื”ื•ื“ืขื•ืช ืคืขื™ืžื•ืช ื”ืœื‘ ืฉืœื”ื, ื›ืœ ืžืชืื ืžื—ืœื™ื˜ ื‘ืขืฆืžื• ืื™ืœื• ืฆืžืชื™ ืืฉื›ื•ืœ ืžืชืคืงื“ื™ื ื•ืื™ื–ื” ืœื, ื‘ื”ื ื—ื™ื™ืช ืขืงืจื•ืŸ ื”ืงื•ื•ืจื•ื: ืื ืฆื•ืžืช X ืงื™ื‘ืœ ืžื™ื“ืข ืžืจื•ื‘ ื”ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ ืขืœ ื”ืžืฆื‘ ื”ื ื•ืจืžืœื™. ืงื‘ืœืช ื”ื•ื“ืขื•ืช ืžืฆื•ืžืช Y, ืœืื—ืจ ืžื›ืŸ, Y ืขื•ื‘ื“. ื•ืœื”ื™ืคืš, ื‘ืจื’ืข ืฉื”ืจื•ื‘ ืžื“ื•ื•ื—ื™ื ืขืœ ื”ื•ื“ืขื•ืช ื—ืกืจื•ืช ืžืฆื•ืžืช Y, ืื– Y ืกื™ืจื‘. ื–ื” ืžื•ื–ืจ ืฉืื ื”ืžื ื™ื™ืŸ ื™ื•ื“ื™ืข ืœืฆื•ืžืช X ืฉื”ื•ื ื›ื‘ืจ ืœื ืžืงื‘ืœ ืžืžื ื• ื”ื•ื“ืขื•ืช, ืื– ื”ืฆื•ืžืช X ืขืฆืžื• ื™ื—ืฉื™ื‘ ืืช ืขืฆืžื• ื›ื›ืฉืœ.

ื”ื•ื“ืขื•ืช ื“ื•ืคืง ื ืฉืœื—ื•ืช ื‘ืชื“ื™ืจื•ืช ื’ื‘ื•ื”ื”, ื›-20 ืคืขืžื™ื ื‘ืฉื ื™ื™ื”, ื‘ืคืจืง ื–ืžืŸ ืฉืœ 50 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื”. ื‘-Java, ืงืฉื” ืœื”ื‘ื˜ื™ื— ืชื’ื•ื‘ืช ื™ื™ืฉื•ืžื™ื ื‘ืชื•ืš 50 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื” ื‘ื’ืœืœ ืžืฉืš ื”ื”ืฉื”ื•ืช ื”ื“ื•ืžื” ืฉื ื’ืจื ืขืœ ื™ื“ื™ ืื•ืกืฃ ื”ืืฉืคื”. ื”ืฆืœื—ื ื• ืœื”ืฉื™ื’ ืืช ื–ืžืŸ ื”ืชื’ื•ื‘ื” ื”ื–ื” ื‘ืืžืฆืขื•ืช ืืกืคืŸ ื”ืืฉืคื” G1, ื”ืžืืคืฉืจ ืœื ื• ืœืฆื™ื™ืŸ ื™ืขื“ ืœืžืฉืš ื”ื”ืคืกืงื•ืช ืฉืœ GC. ืขื ื–ืืช, ืœืคืขืžื™ื, ืœืขืชื™ื ื ื“ื™ืจื•ืช ืœืžื“ื™, ื”ืคืกืงื•ืช ื”ืืกืคืŸ ืขื•ืœื•ืช ืขืœ 50 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื”, ืžื” ืฉืขืœื•ืœ ืœื”ื•ื‘ื™ืœ ืœื–ื™ื”ื•ื™ ืชืงืœื•ืช ืฉื•ื•ื. ื›ื“ื™ ืœืžื ื•ืข ืืช ื–ื”, ื”ืจื›ื– ืœื ืžื“ื•ื•ื— ืขืœ ืชืงืœื” ืฉืœ ืฆื•ืžืช ืžืจื•ื—ืง ื›ืืฉืจ ื”ื•ื“ืขืช ืคืขื™ืžื•ืช ื”ืœื‘ ื”ืจืืฉื•ื ื” ืžืžื ื• ื ืขืœืžืช, ืจืง ืื ื›ืžื” ื ืขืœืžื• ื‘ืจืฆืฃ. ื›ืš ื”ืฆืœื—ื ื• ืœื–ื”ื•ืช ื›ืฉืœ ื‘ืฆื•ืžืช ื”ืจื›ื– ื‘ืฉื ืช 200 ื’ื‘ืจืช.

ืื‘ืœ ื–ื” ืœื ืžืกืคื™ืง ื›ื“ื™ ืœื”ื‘ื™ืŸ ื‘ืžื”ื™ืจื•ืช ืื™ื–ื” ืฆื•ืžืช ื”ืคืกื™ืง ืœืชืคืงื“. ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœืขืฉื•ืช ืžืฉื”ื• ื‘ื ื™ื“ื•ืŸ.

ื”ื–ืžื ื”

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

NewSQL = NoSQL+ACID

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

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

ืื‘ืœ ืื™ืš ืœืงื•ื—ื•ืช ื™ื‘ื™ื ื• ืื™ื–ื” ืžืืกื˜ืจ ืขื•ื‘ื“ ืขื›ืฉื™ื•? ืื™ ืืคืฉืจ ืœืฉืœื•ื— ืžื™ื“ืข ืœืืœืคื™ ืœืงื•ื—ื•ืช ื‘-50 ืืœืคื™ื•ืช ื”ืฉื ื™ื™ื”. ื™ืชื›ืŸ ืžืฆื‘ ื›ืืฉืจ ืœืงื•ื— ืฉื•ืœื— ื‘ืงืฉื” ืœืคืชื™ื—ืช ืขืกืงื”, ืžื‘ืœื™ ืœื“ืขืช ืฉืžืืกื˜ืจ ื–ื” ืื™ื ื• ืคื•ืขืœ ื™ื•ืชืจ, ื•ื”ื‘ืงืฉื” ืชืกืชื™ื™ื. ื›ื“ื™ ืœืžื ื•ืข ืืช ื–ื”, ืœืงื•ื—ื•ืช ืฉื•ืœื—ื™ื ื‘ืื•ืคืŸ ืกืคืงื•ืœื˜ื™ื‘ื™ ื‘ืงืฉื” ืœืคืชื™ื—ืช ืขืกืงื” ืœืžื ื”ืœ ื”ืงื‘ื•ืฆื” ื•ืœืฉืชื™ ื”ืขืชื•ื“ื•ืช ืฉืœื• ื‘ื‘ืช ืื—ืช, ืืš ืจืง ืžื™ ืฉื”ื•ื ื”ืžื ื”ืœ ื”ืคืขื™ืœ ื›ืจื’ืข ื™ืขื ื” ืœื‘ืงืฉื” ื–ื•. ื”ืœืงื•ื— ื™ื‘ืฆืข ืืช ื›ืœ ื”ืชืงืฉื•ืจืช ื”ืขื•ืงื‘ืช ื‘ืชื•ืš ื”ืขืกืงื” ืจืง ืขื ื”ืžืืกื˜ืจ ื”ืคืขื™ืœ.

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

ืื™ืš ื”ืขืกืงื” ืขื•ื‘ื“ืช

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

NewSQL = NoSQL+ACID

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

NewSQL = NoSQL+ACID

ื›ืืฉืจ ืœืงื•ื— ืžื‘ืงืฉ ืืช ื”ื ืชื•ื ื™ื ืฉื”ืฉืชื ื• ื›ื—ืœืง ืžืขืกืงื” ืคืขื™ืœื”, ื”ืจื›ื– ืคื•ืขืœ ื‘ืื•ืคืŸ ื”ื‘ื:

  • ืื ื”ืžื–ื”ื” ื›ื‘ืจ ื‘ืขืกืงื”, ื”ื ืชื•ื ื™ื ื ืœืงื—ื™ื ืžื”ื–ื™ื›ืจื•ืŸ;
  • ืื ืื™ืŸ ืžื–ื”ื” ื‘ื–ื™ื›ืจื•ืŸ, ื”ื ืชื•ื ื™ื ื”ื—ืกืจื™ื ื ืงืจืื™ื ืžืฆืžืชื™ ื”ืื—ืกื•ืŸ, ื‘ืฉื™ืœื•ื‘ ืขื ืืœื• ืฉื›ื‘ืจ ื ืžืฆืื™ื ื‘ื–ื™ื›ืจื•ืŸ, ื•ื”ืชื•ืฆืื” ื ื™ืชื ืช ืœืœืงื•ื—.

ืœืคื™ื›ืš, ื”ืœืงื•ื— ื™ื›ื•ืœ ืœืงืจื•ื ืืช ื”ืฉื™ื ื•ื™ื™ื ืฉืœื•, ืืš ืœืงื•ื—ื•ืช ืื—ืจื™ื ืื™ื ื ืจื•ืื™ื ืืช ื”ืฉื™ื ื•ื™ื™ื ื”ืœืœื•, ืžื›ื™ื•ื•ืŸ ืฉื”ื ืžืื•ื—ืกื ื™ื ืจืง ื‘ื–ื™ื›ืจื•ืŸ ืฉืœ ื”ืžืชืื; ื”ื ืขื“ื™ื™ืŸ ืœื ื ืžืฆืื™ื ื‘ืฆืžืชื™ ืงืกื ื“ืจื”.

NewSQL = NoSQL+ACID

ื›ืืฉืจ ื”ืœืงื•ื— ืฉื•ืœื— commit, ื”ืžืฆื‘ ืฉื”ื™ื” ื‘ื–ื™ื›ืจื•ืŸ ื”ืฉื™ืจื•ืช ื ืฉืžืจ ืขืœ ื™ื“ื™ ื”ืจื›ื– ื‘ืืฆื•ื•ื” ืจืฉื•ืžื”, ื•ื ืฉืœื— ื›ืืฆื•ื•ื” ืจืฉื•ืžื” ืœืื—ืกื•ืŸ Cassandra. ื”ื—ื ื•ื™ื•ืช ืขื•ืฉื•ืช ื›ืœ ืžื” ืฉืฆืจื™ืš ืขืœ ืžื ืช ืœื•ื•ื“ื ืฉื”ื—ื‘ื™ืœื” ื”ื–ื• ืžื™ื•ืฉืžืช ื‘ืฆื•ืจื” ืื˜ื•ืžื™ืช (ืฉืœืžื”) ื•ืžื—ื–ื™ืจื” ืชืฉื•ื‘ื” ืœืจื›ื–, ืฉืžืฉื—ืจืจ ืืช ื”ืžื ืขื•ืœื™ื ื•ืžืืฉืจ ืœืœืงื•ื— ืืช ื”ืฆืœื—ืช ื”ืขืกืงื”.

NewSQL = NoSQL+ACID

ื•ื›ื“ื™ ืœื”ื—ื–ื™ืจ ืื•ืชื• ืœืื—ื•ืจ, ื”ืจื›ื– ืฆืจื™ืš ืจืง ืœืฉื—ืจืจ ืืช ื”ื–ื™ื›ืจื•ืŸ ืฉืชืคื•ืก ืขืœ ื™ื“ื™ ืžืฆื‘ ื”ืขืกืงื”.

ื›ืชื•ืฆืื” ืžื”ืฉื™ืคื•ืจื™ื ืœืขื™ืœ, ื™ื™ืฉืžื ื• ืืช ืขืงืจื•ื ื•ืช ื”-ACID:

  • ืึธื˜ื•ึนืžึดื™ื•ึผืช. ื–ื•ื”ื™ ืขืจื•ื‘ื” ืœื›ืš ืฉืฉื•ื ืขืกืงื” ืœื ืชื™ืจืฉื ื—ืœืงื™ืช ื‘ืžืขืจื›ืช; ืื• ืฉื›ืœ ืคืขื•ืœื•ืช ื”ืžืฉื ื” ืฉืœื” ื™ื•ืฉืœืžื•, ืื• ืฉืืฃ ืื—ืช ืœื ืชื•ืฉืœื. ืื ื• ืžืงืคื™ื“ื™ื ืขืœ ืขื™ืงืจื•ืŸ ื–ื” ื‘ืืžืฆืขื•ืช ืืฆื•ื•ื” ืจืฉื•ืžื” ื‘ืงืกื ื“ืจื”.
  • ืขึฒืงึตื‘ึดื™ื•ึผืช. ื›ืœ ืขืกืงื” ืžื•ืฆืœื—ืช, ื‘ื”ื’ื“ืจื”, ืžืชืขื“ืช ืจืง ืชื•ืฆืื•ืช ืชืงืคื•ืช. ืื ืœืื—ืจ ืคืชื™ื—ืช ืขืกืงื” ื•ื‘ื™ืฆื•ืข ื—ืœืง ืžื”ืคืขื•ืœื•ืช, ืžืชื’ืœื” ื›ื™ ื”ืชื•ืฆืื” ืื™ื ื” ื—ื•ืงื™ืช, ืžืชื‘ืฆืข ื”ื—ื–ืจื”.
  • ื‘ื™ื“ื•ื“. ื›ืืฉืจ ืขืกืงื” ืžื‘ื•ืฆืขืช, ืขืกืงืื•ืช ื‘ืžืงื‘ื™ืœ ืœื ืืžื•ืจื•ืช ืœื”ืฉืคื™ืข ืขืœ ืชื•ืฆืื•ืชื™ื”. ืขืกืงืื•ืช ืžืชื—ืจื•ืช ืžื‘ื•ื“ื“ื•ืช ื‘ืืžืฆืขื•ืช ื ืขื™ืœื•ืช ืคืกื™ืžื™ื•ืช ืขืœ ื”ืจื›ื–. ืขื‘ื•ืจ ืงืจื™ืื•ืช ืžื—ื•ืฅ ืœืขืกืงื”, ืขืงืจื•ืŸ ื”ื‘ื™ื“ื•ื“ ื ืฉืžืจ ื‘ืจืžืช Read Committed.
  • ืงื™ื™ืžื•ืช. ืœืœื ืงืฉืจ ืœื‘ืขื™ื•ืช ื‘ืจืžื•ืช ื ืžื•ื›ื•ืช ื™ื•ืชืจ - ื”ืคืกืงืช ืžืขืจื›ืช, ื›ืฉืœ ื‘ื—ื•ืžืจื” - ืฉื™ื ื•ื™ื™ื ืฉื ืขืฉื• ืขืœ ื™ื“ื™ ืขืกืงื” ืฉื”ื•ืฉืœืžื” ื‘ื”ืฆืœื—ื” ืฆืจื™ื›ื™ื ืœื”ื™ืฉืืจ ื ืฉืžืจื™ื ื›ืืฉืจ ื”ืคืขื•ืœื•ืช ื™ืชื—ื“ืฉื•.

ืงืจื™ืื” ืœืคื™ ืื™ื ื“ืงืกื™ื

ื ื™ืงื— ื˜ื‘ืœื” ืคืฉื•ื˜ื”:

CREATE TABLE photos (
id bigint primary key,
owner bigint,
modified timestamp,
โ€ฆ)

ื™ืฉ ืœื–ื” ืžื–ื”ื” (ืžืคืชื— ืจืืฉื™), ื‘ืขืœื™ื ื•ืชืืจื™ืš ืฉื™ื ื•ื™. ืืชื” ืฆืจื™ืš ืœื”ื’ื™ืฉ ื‘ืงืฉื” ืคืฉื•ื˜ื” ืžืื•ื“ - ื‘ื—ืจ ื ืชื•ื ื™ื ืขืœ ื”ื‘ืขืœื™ื ืขื ืชืืจื™ืš ื”ืฉื™ื ื•ื™ "ืœื™ื•ื ื”ืื—ืจื•ืŸ".

SELECT *
WHERE owner=?
AND modified>?

ื›ื“ื™ ืฉืฉืื™ืœืชื” ื›ื–ื• ืชืขื•ื‘ื“ ื‘ืžื”ื™ืจื•ืช, ื‘-SQL DBMS ืงืœืืกื™ ืฆืจื™ืš ืœื‘ื ื•ืช ืื™ื ื“ืงืก ืœืคื™ ืขืžื•ื“ื•ืช (ื‘ืขืœื™ื, ืฉื•ื ื”). ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœืขืฉื•ืช ื–ืืช ื“ื™ ื‘ืงืœื•ืช, ืžื›ื™ื•ื•ืŸ ืฉื™ืฉ ืœื ื• ื›ืขืช ืขืจื‘ื•ื™ื•ืช ACID!

ืื™ื ื“ืงืกื™ื ื‘-C*One

ื™ืฉ ื˜ื‘ืœืช ืžืงื•ืจ ืขื ืชืžื•ื ื•ืช ืฉื‘ื” ืžื–ื”ื” ื”ืจืฉื•ืžื” ื”ื•ื ื”ืžืคืชื— ื”ืจืืฉื™.

NewSQL = NoSQL+ACID

ืขื‘ื•ืจ ืื™ื ื“ืงืก, C*One ื™ื•ืฆืจ ื˜ื‘ืœื” ื—ื“ืฉื” ืฉื”ื™ื ืขื•ืชืง ืฉืœ ื”ืžืงื•ืจ. ื”ืžืคืชื— ื–ื”ื” ืœื‘ื™ื˜ื•ื™ ื”ืื™ื ื“ืงืก, ื•ื”ื•ื ื›ื•ืœืœ ื’ื ืืช ื”ืžืคืชื— ื”ืจืืฉื™ ืฉืœ ื”ืจืฉื•ืžื” ืžื˜ื‘ืœืช ื”ืžืงื•ืจ:

NewSQL = NoSQL+ACID

ื›ืขืช ื ื™ืชืŸ ืœืฉื›ืชื‘ ืืช ื”ืฉืื™ืœืชื” ืขื‘ื•ืจ "ื‘ืขืœื™ื ืœื™ื•ื ื”ืื—ืจื•ืŸ" ื›ื‘ื—ื™ืจื” ืžื˜ื‘ืœื” ืื—ืจืช:

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

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