Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

ืฉืœื•ื, ื—ื‘ืจื•ื‘ื™ื™ื. ื‘ืื•ืคืŸ ืžืกื•ืจืชื™, ืื ื• ืžืžืฉื™ื›ื™ื ืœื—ืœื•ืง ื—ื•ืžืจ ืžืขื ื™ื™ืŸ ืขืจื‘ ืชื—ื™ืœืชื ืฉืœ ืงื•ืจืกื™ื ื—ื“ืฉื™ื. ื”ื™ื•ื, ื‘ืžื™ื•ื—ื“ ื‘ืฉื‘ื™ืœื›ื, ืชืจื’ืžื ื• ืžืืžืจ ืขืœ Google Cloud Spanner, ืฉืชื•ื›ื ืŸ ื‘ืžืงื‘ื™ืœ ืœื”ืฉืงืช ื”ืงื•ืจืก "AWS ืœืžืคืชื—ื™ื".

Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

ืคื•ืจืกื ื‘ืžืงื•ืจ ื‘ ื‘ืœื•ื’ Lightspeed HQ.

ื›ื—ื‘ืจื” ื”ืžืฆื™ืขื” ืžื’ื•ื•ืŸ ืคืชืจื•ื ื•ืช POS ืžื‘ื•ืกืกื™ ืขื ืŸ ืœืงืžืขื•ื ืื™ื, ืžืกืขื“ื ื™ื ื•ืกื•ื—ืจื™ื ืžืงื•ื•ื ื™ื ื‘ืจื—ื‘ื™ ื”ืขื•ืœื, Lightspeed ืžืฉืชืžืฉืช ื‘ืžืกืคืจ ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืคืœื˜ืคื•ืจืžื•ืช ืžืกื“ ื ืชื•ื ื™ื ืขื‘ื•ืจ ืžื’ื•ื•ืŸ ืžืงืจื™ ืฉื™ืžื•ืฉ ื‘ืขืกืงืื•ืช, ื ื™ืชื•ื—ื™ื ื•ื—ื™ืคื•ืฉ. ืœื›ืœ ืื—ืช ืžืคืœื˜ืคื•ืจืžื•ืช ืžืกื“ื™ ื”ื ืชื•ื ื™ื ื”ืœืœื• ื™ืฉ ืืช ื”ื—ื•ื–ืงื•ืช ื•ื”ื—ื•ืœืฉื•ืช ืฉืœื”. ืœื›ืŸ, ื›ืฉื’ื•ื’ืœ ื”ืฆื™ื’ื” ืืช Cloud Spanner ืœืฉื•ืง - ืชื›ื•ื ื•ืช ืžื‘ื˜ื™ื—ื•ืช ืฉืœื ื ืจืื• ื‘ืขื•ืœื ืฉืœ ืžืกื“ื™ ื ืชื•ื ื™ื ื™ื—ืกื™ื™ื, ื›ืžื• ืžื“ืจื’ื™ื•ืช ืื•ืคืงื™ืช ื›ืžืขื˜ ื‘ืœืชื™ ืžื•ื’ื‘ืœืช ื•ื”ืกื›ื ืจืžืช ืฉื™ืจื•ืช ืฉืœ 99,999% (SLA) , ืœื ื™ื›ื•ืœื ื• ืœื•ื•ืชืจ ืขืœ ื”ื”ื–ื“ืžื ื•ืช ืœื”ื—ื–ื™ืง ืื•ืชื” ื‘ื™ื“ื™ื™ื ืฉืœื ื•!

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

  1. ืงืจื™ื˜ืจื™ื•ื ื™ ื”ื”ืขืจื›ื” ืฉืœื ื•
  2. Cloud Spanner ื‘ืงืฆืจื”
  3. ื”ื”ืขืจื›ื” ืฉืœื ื•
  4. ื”ืžืžืฆืื™ื ืฉืœื ื•

Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

1. ืงืจื™ื˜ืจื™ื•ื ื™ ื”ื”ืขืจื›ื” ืฉืœื ื•

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

  • ื›ืชื—ืœื™ืฃ ืœืคืชืจื•ืŸ ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืžืกื•ืจืชื™ (ื”ืจื•ื•ื—) ืฉืœ SQL
  • ื›ืคืชืจื•ืŸ OLTP ืขื ืชืžื™ื›ืช OLAP

ื”ืขืจื”: ื›ื“ื™ ืœื”ืงืœ ืขืœ ื”ื”ืฉื•ื•ืื”, ืžืืžืจ ื–ื” ืžืฉื•ื•ื” ืืช Cloud Spanner ืขื ื’ืจืกืื•ืช MySQL ืฉืœ โ€‹โ€‹ืžืฉืคื—ื•ืช ื”ืคืชืจื•ื ื•ืช GCP Cloud SQL ื•-Amazon AWS RDS.

ืฉื™ืžื•ืฉ ื‘-Cloud Spanner ื›ืชื—ืœื™ืฃ ืœืคืชืจื•ืŸ ืžืกื“ ื ืชื•ื ื™ื ืžืกื•ืจืชื™ ืฉืœ SQL

ื‘ืกื‘ื™ื‘ื” ืžึธืกื•ึนืจืชึดื™ ืžืกื“ื™ ื ืชื•ื ื™ื, ื›ืืฉืจ ื–ืžืŸ ื”ืชื’ื•ื‘ื” ืœืฉืื™ืœืชืช ืžืกื“ ื ืชื•ื ื™ื ืžืชืงืจื‘ ืื• ืืคื™ืœื• ื—ื•ืจื’ ืžืกืฃ ื™ื™ืฉื•ื ืžื•ื’ื“ืจ ืžืจืืฉ (ื‘ืขื™ืงืจ ืขืงื‘ ืขืœื™ื™ื” ื‘ืžืกืคืจ ื”ืžืฉืชืžืฉื™ื ื•/ืื• ื”ื‘ืงืฉื•ืช), ื™ืฉื ืŸ ืžืกืคืจ ื“ืจื›ื™ื ืœืฆืžืฆื ืืช ื–ืžืŸ ื”ืชื’ื•ื‘ื” ืœืจืžื•ืช ืžืงื•ื‘ืœื•ืช. ืขื ื–ืืช, ืจื•ื‘ ื”ืคืชืจื•ื ื•ืช ื”ืœืœื• ื›ืจื•ื›ื™ื ื‘ื”ืชืขืจื‘ื•ืช ื™ื“ื ื™ืช.

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

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

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

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

ืžืฆื“ ืฉื ื™, ื‘ืฉืœ ื˜ื‘ืขื•, Cloud Spanner ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœืฉื ื•ืช ืืช ืงื ื” ื”ืžื™ื“ื” ืื•ืคืงื™ืช ืขื ื”ืชืขืจื‘ื•ืช ืžื™ื ื™ืžืœื™ืช.

ืชื›ื•ื ื•ืช ืžืœืื•ืช DBMS ื›ืฉื™ืจื•ืช ื™ืฉ ืœื”ืขืจื™ืš ืžื ืงื•ื“ื•ืช ืžื‘ื˜ ืฉื•ื ื•ืช. ื›ื‘ืกื™ืก, ืœืงื—ื ื• ืืช ื”-DBMS ื”ืคื•ืคื•ืœืจื™ ื‘ื™ื•ืชืจ ื‘ืขื ืŸ - ืขื‘ื•ืจ Google, GCP Cloud SQL ื•ืขื‘ื•ืจ Amazon, AWS RDS. ื‘ื”ืขืจื›ื” ืฉืœื ื•, ื”ืชืžืงื“ื ื• ื‘ืงื˜ื’ื•ืจื™ื•ืช ื”ื‘ืื•ืช:

  • ืžื™ืคื•ื™ ืชื›ื•ื ื•ืช: ื”ื™ืงืฃ SQL, DDL, DML; ืกืคืจื™ื•ืช ื—ื™ื‘ื•ืจื™ื/ืžื—ื‘ืจื™ื, ืชืžื™ื›ื” ื‘ืขืกืงืื•ืช ื•ื›ืŸ ื”ืœืื”.
  • ืชืžื™ื›ื” ื‘ืคื™ืชื•ื—: ืงืœื•ืช ืคื™ืชื•ื— ื•ื‘ื“ื™ืงื”.
  • ืชืžื™ื›ื” ื‘ื ื™ื”ื•ืœ: ื ื™ื”ื•ืœ ืžื•ืคืขื™ื ื›ื’ื•ืŸ ื”ื’ื“ืœื”/ื”ืงื˜ื ื” ื•ืฉื“ืจื•ื’ ืžื•ืคืขื™ื; SLA, ื’ื™ื‘ื•ื™ ื•ืฉื—ื–ื•ืจ; ืื‘ื˜ื—ื”/ื‘ืงืจืช ื’ื™ืฉื”.

ืฉื™ืžื•ืฉ ื‘-Cloud Spanner ื›ืคืชืจื•ืŸ OLTP ืžืื•ืคืฉืจ OLAP

ื‘ืขื•ื“ ืฉื’ื•ื’ืœ ืื™ื ื” ืžืฆื™ื™ื ืช ื‘ืžืคื•ืจืฉ ืฉ-Cloud Spanner ืžื™ื•ืขื“ ืœื ื™ืชื•ื—, ื”ื™ื ื—ื•ืœืงืช ื›ืžื” ืชื›ื•ื ื•ืช ืขื ืžื ื•ืขื™ื ืื—ืจื™ื ื›ื’ื•ืŸ Apache Impala & Kudu ื•-YugaByte ื”ืžื™ื•ืขื“ื™ื ืœืขื•ืžืกื™ ืขื‘ื•ื“ื” ืฉืœ OLAP.

ื’ื ืื ื”ื™ื” ืจืง โ€‹โ€‹ืกื™ื›ื•ื™ ืงื˜ืŸ ืฉ-Cloud Spanner ื›ืœืœื” ืžื ื•ืข HTAP (Hybrid Transactional/Analytic Processing) ืžื•ืจื—ื‘ืช ืขืงื‘ื™ืช ืขื ืžืขืจืš ืชื›ื•ื ื•ืช OLAP ืฉืžื™ืฉ (ืคื—ื•ืช ืื• ื™ื•ืชืจ), ืื ื—ื ื• ื—ื•ืฉื‘ื™ื ืฉื–ื” ื™ื–ื›ื” ืœืชืฉื•ืžืช ืœื‘ื ื•.

ืขื ื–ืืช ื‘ื—ืฉื‘ื•ืŸ, ื‘ื“ืงื ื• ืืช ื”ืงื˜ื’ื•ืจื™ื•ืช ื”ื‘ืื•ืช:

  • ื˜ืขื™ื ืช ื ืชื•ื ื™ื, ืื™ื ื“ืงืกื™ื ื•ืžื—ื™ืฆื•ืช
  • ื‘ื™ืฆื•ืขื™ ืฉืื™ืœืชื•ืช ื•-DML

2. Cloud Spanner ื‘ืงืฆืจื”

Google Spanner ื”ื™ื ืžืขืจื›ืช ื ื™ื”ื•ืœ ืžืกื“ื™ ื ืชื•ื ื™ื ื™ื—ืกื™ื™ื ืžืงื•ื‘ืฆื™ื (RDBMS) ืฉ-Google ืžืฉืชืžืฉืช ื‘ื” ืขื‘ื•ืจ ื›ืžื” ืžื”ืฉื™ืจื•ืชื™ื ืฉืœื”. Google ื”ืคื›ื” ืื•ืชื• ืœื–ืžื™ืŸ ืœืฆื™ื‘ื•ืจ ืœืžืฉืชืžืฉื™ Google Cloud Platform ื‘ืชื—ื™ืœืช 2017.

ื”ื ื” ื›ืžื” ืžื”ืชื›ื•ื ื•ืช ืฉืœ Cloud Spanner:

  • ืืฉื›ื•ืœ RDBMS ืขืงื‘ื™ ืžืื•ื“, ื ื™ืชืŸ ืœื”ืจื—ื‘ื”: ืžืฉืชืžืฉ ื‘ืกื ื›ืจื•ืŸ ื–ืžืŸ ื—ื•ืžืจื” ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืขืงื‘ื™ื•ืช ื ืชื•ื ื™ื.
  • ืชืžื™ื›ื” ื‘ืขืกืงืื•ืช ื—ื•ืฆื•ืช ื˜ื‘ืœืื•ืช: ืขืกืงืื•ืช ื™ื›ื•ืœื•ืช ืœื”ืฉืชืจืข ืขืœ ื˜ื‘ืœืื•ืช ืžืจื•ื‘ื•ืช - ืœื ื‘ื”ื›ืจื— ืžื•ื’ื‘ืœื•ืช ืœื˜ื‘ืœื” ื‘ื•ื“ื“ืช (ื‘ื ื™ื’ื•ื“ ืœ- Apache HBase ืื• Apache Kudu).
  • ื˜ื‘ืœืื•ืช ืžื‘ื•ืกืกื•ืช ืžืคืชื— ืจืืฉื™: ืœื›ืœ ื”ื˜ื‘ืœืื•ืช ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžืคืชื— ืจืืฉื™ ืžื•ืฆื”ืจ (PC), ืฉื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื•ืจื›ื‘ ืžืžืกืคืจ ืขืžื•ื“ื•ืช ื˜ื‘ืœื”. ื ืชื•ื ื™ื ื˜ื‘ืœืื™ื™ื ืžืื•ื—ืกื ื™ื ื‘ืกื“ืจ ืžื—ืฉื‘, ืžื” ืฉื”ื•ืคืš ืื•ืชื ืœื™ืขื™ืœื™ื ื•ืžื”ื™ืจื™ื ืžืื•ื“ ืขื‘ื•ืจ ื—ื™ืคื•ืฉื™ื ื‘ืžื—ืฉื‘. ื‘ื“ื•ืžื” ืœืžืขืจื›ื•ืช ืื—ืจื•ืช ื”ืžื‘ื•ืกืกื•ืช ืขืœ ืžื—ืฉื‘ื™ื ืื™ืฉื™ื™ื, ื”ื™ื™ืฉื•ื ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžื‘ื•ืกืก ืขืœ ืžืงืจื™ ืฉื™ืžื•ืฉ ืžื•ืงื“ืžื™ื ืขืœ ืžื ืช ืœื”ืฉื™ื’ ื”ื”ื•ืคืขื” ื”ื›ื™ ื˜ื•ื‘ื”.
  • ื˜ื‘ืœืื•ืช ืคืกื™ื: ืœื˜ื‘ืœืื•ืช ื™ื›ื•ืœื•ืช ืœื”ื™ื•ืช ืชืœื•ืช ืคื™ื–ื™ืช ื–ื• ื‘ื–ื•. ื ื™ืชืŸ ืœื”ืชืื™ื ืืช ื”ืฉื•ืจื•ืช ืฉืœ ื˜ื‘ืœืช ื”ืฆืืฆื ืœืฉื•ืจื•ืช ืฉืœ ื˜ื‘ืœืช ื”ืื‘. ื’ื™ืฉื” ื–ื• ืžื–ืจื–ืช ืืช ื”ื—ื™ืคื•ืฉ ืื—ืจ ืงืฉืจื™ื ืฉื ื™ืชืŸ ืœืงื‘ื•ืข ื‘ืฉืœื‘ ืžื•ื“ืœ ื”ื ืชื•ื ื™ื, ืœืžืฉืœ, ื‘ืขืช ื”ืฆื‘ืช ื”ืœืงื•ื—ื•ืช ื•ื”ื—ืฉื‘ื•ื ื™ื•ืช ืฉืœื”ื ื™ื—ื“.
  • ืื™ื ื“ืงืกื™ื: Cloud Spanner ืชื•ืžืš ื‘ืื™ื ื“ืงืกื™ื ืžืฉื ื™ื™ื. ืื™ื ื“ืงืก ืžื•ืจื›ื‘ ืžืขืžื•ื“ื•ืช ื‘ืื™ื ื“ืงืก ื•ื›ืœ ืขืžื•ื“ื•ืช ื”-PC. ืื•ืคืฆื™ื•ื ืœื™, ื”ืื™ื ื“ืงืก ื™ื›ื•ืœ ืœื”ื›ื™ืœ ื’ื ืขืžื•ื“ื•ืช ืื—ืจื•ืช ืฉืื™ื ืŸ ืฆืžื•ื“ื•ืช ืœืื™ื ื“ืงืก. ื ื™ืชืŸ ืœืฉืœื‘ ืืช ื”ืื™ื ื“ืงืก ืขื ื˜ื‘ืœืช ื”ืื‘ ื›ื“ื™ ืœื”ืื™ืฅ ืฉืื™ืœืชื•ืช. ืžืกืคืจ ื”ื’ื‘ืœื•ืช ื—ืœื•ืช ืขืœ ืื™ื ื“ืงืกื™ื, ื›ื’ื•ืŸ ื”ืžืกืคืจ ื”ืžืจื‘ื™ ืฉืœ ืขืžื•ื“ื•ืช ื ื•ืกืคื•ืช ืฉื ื™ืชืŸ ืœืื—ืกืŸ ื‘ืื™ื ื“ืงืก. ื›ืžื• ื›ืŸ, ื™ื™ืชื›ืŸ ืฉืฉืื™ืœืชื•ืช ื“ืจืš ืื™ื ื“ืงืกื™ื ืœื ื™ื”ื™ื• ืคืฉื•ื˜ื•ืช ื›ืžื• ื‘-RDBMS ืื—ืจื•ืช.

"Cloud Spanner ื‘ื•ื—ืจ ืื™ื ื“ืงืก ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™ ืจืง ื‘ืžืงืจื™ื ื ื“ื™ืจื™ื. ื‘ืžื™ื•ื—ื“, Cloud Spanner ืื™ื ื• ื‘ื•ื—ืจ ืื•ื˜ื•ืžื˜ื™ืช ืื™ื ื“ืงืก ืžืฉื ื™ ืื ื”ืฉืื™ืœืชื” ืžื‘ืงืฉืช ืขืžื•ื“ื•ืช ืฉืื™ื ืŸ ืžืื•ื—ืกื ื•ืช ื‘ ืื™ื ื“ืงืก ".

  • ื”ืกื›ื ืจืžืช ืฉื™ืจื•ืช (SLA): ืคืจื™ืกื” ืฉืœ ืื–ื•ืจ ื™ื—ื™ื“ ืขื 99,99% SLA; ืคืจื™ืกื•ืช ืžืจื•ื‘ื•ืช ืื–ื•ืจื™ื ืขื 99,999% SLA. ื‘ืขื•ื“ ืฉื”-SLA ืขืฆืžื• ื”ื•ื ืจืง ื”ืกื›ื ื•ืœื ืขืจื•ื‘ื” ืžื›ืœ ืกื•ื’ ืฉื”ื•ื, ืื ื™ ืžืืžื™ืŸ ืฉืœืื ืฉื™ ื’ื•ื’ืœ ื™ืฉ ื›ืžื” ื ืชื•ื ื™ื ืงืฉื™ื ืœื˜ืขื•ืŸ ื˜ืขื ื” ื›ื” ื—ื–ืงื”. (ืœืขื™ื•ืŸ, 99,999% ืคื™ืจื•ืฉื 26,3 ืฉื ื™ื•ืช ืฉืœ ื”ืฉื‘ืชืช ืฉื™ืจื•ืช ืœื—ื•ื“ืฉ.)
  • ืขื•ื“: https://cloud.google.com/spanner/

ื”ืขืจื”: ืคืจื•ื™ืงื˜ Apache Tephra ืžื•ืกื™ืฃ ืชืžื™ื›ื” ืžืชืงื“ืžืช ื‘ืขืกืงืื•ืช ืœ- Apache HBase (ืžื™ื•ืฉื ื›ืขืช ื’ื ื‘- Apache Phoenix ื›ื’ืจืกืช ื‘ื˜ื).

3. ื”ื”ืขืจื›ื” ืฉืœื ื•

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

ื“ื™ืจื’ื ื• ืืช Cloud Spanner ื›ืชื—ืœื™ืฃ ืœ-Sharded MySQL

ืœ-Google Cloud SQL ื•-Amazon AWS RDS, ืฉื ื™ื™ื ืžืžืกื“ื™ ื”ื ืชื•ื ื™ื ื”ืคื•ืคื•ืœืจื™ื™ื ื‘ื™ื•ืชืจ ืฉืœ OLTP ื‘ืฉื•ืง ื”ืขื ืŸ, ื™ืฉ ืžืขืจืš ืชื›ื•ื ื•ืช ื’ื“ื•ืœ ืžืื•ื“. ืขื ื–ืืช, ืขืœ ืžื ืช ืœื”ืจื—ื™ื‘ ืืช ืžืกื“ื™ ื”ื ืชื•ื ื™ื ื”ืœืœื• ืžืขื‘ืจ ืœื’ื•ื“ืœ ืฉืœ ืฆื•ืžืช ื‘ื•ื“ื“, ืขืœื™ืš ืœื‘ืฆืข ืคื™ืฆื•ืœ ื™ื™ืฉื•ืžื™ื. ื’ื™ืฉื” ื–ื• ื™ื•ืฆืจืช ืžื•ืจื›ื‘ื•ืช ื ื•ืกืคืช ื”ืŸ ืœื™ื™ืฉื•ืžื™ื ื•ื”ืŸ ืœื ื™ื”ื•ืœ. ื‘ื“ืงื ื• ืื™ืš Spanner ืžืฉืชืœื‘ ื‘ืชืจื—ื™ืฉ ืฉืœ ืฉื™ืœื•ื‘ ืฉืœ ืจืกื™ืกื™ื ืžืจื•ื‘ื™ื ืœืžื•ืคืข ืื—ื“ ื•ืื™ืœื• ืชื›ื•ื ื•ืช (ืื ื‘ื›ืœืœ) ื™ืฉ ืœื”ืงืจื™ื‘.

ืชืžื™ื›ื” ื‘-SQL, DML ื•-DDL, ื›ืžื• ื’ื ื‘ืžื—ื‘ืจ ื•ื‘ืกืคืจื™ื•ืช?

ืจืืฉื™ืช, ื›ืืฉืจ ืžืชื—ื™ืœื™ื ืขื ื›ืœ ืžืกื“ ื ืชื•ื ื™ื, ืขืœื™ืš ืœื™ืฆื•ืจ ืžื•ื“ืœ ื ืชื•ื ื™ื. ืื ืืชื” ื—ื•ืฉื‘ ืฉืืชื” ื™ื›ื•ืœ ืœื—ื‘ืจ ืืช JDBC Spanner ืœื›ืœื™ ื”-SQL ื”ืžื•ืขื“ืฃ ืขืœื™ืš, ืชื’ืœื” ืฉืืชื” ื™ื›ื•ืœ ืœื‘ืฆืข ืฉืื™ืœืชื” ืขืœ ื”ื ืชื•ื ื™ื ืฉืœืš ื‘ืืžืฆืขื•ืชื•, ืืš ืื™ื ืš ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื• ื›ื“ื™ ืœื™ืฆื•ืจ ื˜ื‘ืœื” ืื• ืขื“ื›ื•ืŸ (DDL) ืื• ื›ืœ ื”ื•ืกืคื”/ืขื“ื›ื•ืŸ/ืžื—ื™ืงื”. ืคืขื•ืœื•ืช (DML). ื’ื ื”-JDBC ื”ืจืฉืžื™ ืฉืœ ื’ื•ื’ืœ ืื™ื ื• ืชื•ืžืš.

"ืžื ื”ืœื™ ื”ืชืงื ื™ื ืื™ื ื ืชื•ืžื›ื™ื ื›ืจื’ืข ื‘ื”ืฆื”ืจื•ืช DML ืื• DDL."
ืชื™ืขื•ื“ ืžืคืชื—

ื”ืžืฆื‘ ืœื ื˜ื•ื‘ ื™ื•ืชืจ ืขื ืงื•ื ืกื•ืœืช GCP - ืืชื” ื™ื›ื•ืœ ืœืฉืœื•ื— ืจืง ืฉืื™ืœืชื•ืช SELECT. ืœืžืจื‘ื” ื”ืžื–ืœ, ื™ืฉ ืžื ื”ืœ ื”ืชืงืŸ JDBC ืขื ืชืžื™ื›ื” ื‘-DML ื•-DDL ืžื”ืงื”ื™ืœื”, ื›ื•ืœืœ ืขืกืงืื•ืช github.com/olavloite/spanner-jdbc. ืืžื ื ืžื ื”ืœ ื”ื”ืชืงืŸ ื”ื–ื” ืฉื™ืžื•ืฉื™ ื‘ื™ื•ืชืจ, ืื‘ืœ ื”ื™ืขื“ืจ ืžื ื”ืœ ื”ืชืงืŸ JDBC ืฉืœ ื’ื•ื’ืœ ืขืฆืžื• ืžืคืชื™ืข. ืœืžืจื‘ื” ื”ืžื–ืœ, ื’ื•ื’ืœ ืžืฆื™ืขื” ืชืžื™ื›ื” ืจื—ื‘ื” ืœืžื“ื™ ื‘ืกืคืจื™ื™ืช ืœืงื•ื—ื•ืช (ืžื‘ื•ืกืกืช ืขืœ gRPC): C#, Go, Java, node.js, PHP, Python ื•-Ruby.

ื”ืฉื™ืžื•ืฉ ื”ื›ืžืขื˜ ื—ื•ื‘ื” ื‘ืžืžืฉืงื™ ื”-API ื”ืžื•ืชืืžื™ื ืื™ืฉื™ืช ืฉืœ Cloud Spanner (ื‘ืฉืœ ื”ื™ืขื“ืจ DDL ื•-DML ื‘-JDBC) ื’ื•ืจื ืœื”ื’ื‘ืœื•ืช ืžืกื•ื™ืžื•ืช ืขื‘ื•ืจ ืชื—ื•ืžื™ ืงื•ื“ ืงืฉื•ืจื™ื, ื›ื’ื•ืŸ ื—ื™ื‘ื•ืจ ื—ื™ื‘ื•ืจื™ื ืื• ืžืกื’ืจื•ืช ืžื—ื™ื™ื‘ื•ืช ืžืกื“ ื ืชื•ื ื™ื (ื›ืžื• Spring MVC). ื‘ื“ืจืš ื›ืœืœ, ื‘ืขืช ืฉื™ืžื•ืฉ ื‘-JDBC, ืืชื” ื—ื•ืคืฉื™ ืœื‘ื—ื•ืจ ืืช ืžืื’ืจ ื”ื—ื™ื‘ื•ืจื™ื ื”ืžื•ืขื“ืฃ ืขืœื™ืš (ืœืžืฉืœ HikariCP, DBCP, C3PO ื•ื›ื•') ืฉื ื‘ื“ืง ื•ืขื•ื‘ื“ ื”ื™ื˜ื‘. ื‘ืžืงืจื” ืฉืœ ืžืžืฉืงื™ API ืžื•ืชืืžื™ื ืื™ืฉื™ืช ืฉืœ Spanner, ืขืœื™ื ื• ืœื”ืกืชืžืš ืขืœ ืžืกื’ืจื•ืช/ืžืื’ืจื™ ื›ืจื™ื›ื”/ืžืคื’ืฉื™ื ืฉื™ืฆืจื ื• ื‘ืขืฆืžื ื•.

ื”ืขื™ืฆื•ื‘ ื”ืžื›ื•ื•ืŸ ืœืžืคืชื— ื”ืจืืฉื™ (PC) ืžืืคืฉืจ ืœ-Cloud Spanner ืœื”ื™ื•ืช ืžื”ื™ืจ ืžืื•ื“ ื‘ืขืช ื’ื™ืฉื” ืœื ืชื•ื ื™ื ื“ืจืš ื”ืžื—ืฉื‘ ื”ืื™ืฉื™, ืืš ื’ื ืžืฆื™ื’ ื›ืžื” ื‘ืขื™ื•ืช ืฉืื™ืœืชื•ืช.

  • ืœื ื ื™ืชืŸ ืœืขื“ื›ืŸ ืืช ื”ืขืจืš ืฉืœ ืžืคืชื— ืจืืฉื™; ืชื—ื™ืœื” ืขืœื™ืš ืœืžื—ื•ืง ืืช ืขืจืš ื”ืžื—ืฉื‘ ื”ืžืงื•ืจื™ ื•ืœื”ื›ื ื™ืก ืื•ืชื• ืžื—ื“ืฉ ืขื ื”ืขืจืš ื”ื—ื“ืฉ. (ื–ื” ื“ื•ืžื” ืœืžื ื•ืขื™ ืžืกื“ ื ืชื•ื ื™ื/ืื—ืกื•ืŸ ืื—ืจื™ื ืžื•ื›ื•ื•ื ื™ PC.)
  • ื›ืœ ื”ืฆื”ืจื•ืช UPDATE ื•-DELETE ื—ื™ื™ื‘ื•ืช ืœืฆื™ื™ืŸ ืืช ื”-PC ื‘-WHERE, ืœื›ืŸ, ืœื ื™ื›ื•ืœ ืœื”ื™ื•ืช DELETE ืจื™ืง ื‘ื›ืœ ื”ื”ืฆื”ืจื•ืช - ืชืžื™ื“ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ืฉืื™ืœืชืช ืžืฉื ื”, ืœืžืฉืœ: UPDATE xxx WHERE id IN (SELECT id FROM table1)
  • ื—ื•ืกืจ ืืคืฉืจื•ืช ืœื”ื’ื“ืœื” ืื•ื˜ื•ืžื˜ื™ืช ืื• ืžืฉื”ื• ื“ื•ืžื” ืฉืงื•ื‘ืข ืืช ื”ืจืฆืฃ ืขื‘ื•ืจ ืฉื“ื” ื”-PC. ื›ื“ื™ ืฉื–ื” ื™ืขื‘ื•ื“, ื™ืฉ ืœื™ืฆื•ืจ ืืช ื”ืขืจืš ื”ืžืชืื™ื ื‘ืฆื“ ื”ืืคืœื™ืงืฆื™ื”.

ืžื“ื“ื™ื ืžืฉื ื™ื™ื?

ืœ-Google Cloud Spanner ืชืžื™ื›ื” ืžื•ื‘ื ื™ืช ื‘ืื™ื ื“ืงืกื™ื ืžืฉื ื™ื™ื. ื–ื•ื”ื™ ืชื›ื•ื ื” ื ื—ืžื“ื” ืžืื•ื“ ืฉืœื ืชืžื™ื“ ืงื™ื™ืžืช ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืื—ืจื•ืช. Apache Kudu ืœื ืชื•ืžืš ื›ืจื’ืข ื‘ืื™ื ื“ืงืกื™ื ืžืฉื ื™ื™ื ื‘ื›ืœืœ, ื•- Apache HBase ืœื ืชื•ืžืš ื‘ืื™ื ื“ืงืกื™ื ื™ืฉื™ืจื•ืช, ืื‘ืœ ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ืื•ืชื ื“ืจืš Apache Phoenix.

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

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

ื™ึดืฆื•ึผื’?

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

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

ืชืžื™ื›ื” ื‘ืคื™ืชื•ื—?

Cloud Spanner ืžืฆื™ืข ืชืžื™ื›ื” ื“ื™ ื”ื’ื•ื ื” ื‘ืฉืคืช ืชื›ื ื•ืช ืœืขื‘ื•ื“ื” ืขื ื”-API ืฉืœื•. ื”ืกืคืจื™ื•ืช ื”ื ืชืžื›ื•ืช ืจืฉืžื™ืช ื”ืŸ ื‘ืื–ื•ืจ C#, Go, Java, node.js, PHP, Python ื•-Ruby. ื”ืชื™ืขื•ื“ ืžืคื•ืจื˜ ืœืžื“ื™, ืืš ื›ืžื• ื‘ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžืชืงื“ืžื•ืช ืื—ืจื•ืช, ื”ืงื”ื™ืœื” ืงื˜ื ื” ืœืžื“ื™ ื‘ื”ืฉื•ื•ืื” ืœืจื•ื‘ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžืกื“ ื”ื ืชื•ื ื™ื ื”ืคื•ืคื•ืœืจื™ื•ืช, ืžื” ืฉืขืœื•ืœ ืœื’ืจื•ื ืœื™ื•ืชืจ ื–ืžืŸ ืœื‘ื–ื‘ื– ืขืœ ืžืงืจื™ ืฉื™ืžื•ืฉ ืื• ื‘ืขื™ื•ืช ืคื—ื•ืช ื ืคื•ืฆื•ืช.

ืื– ืžื” ืœื’ื‘ื™ ืชืžื™ื›ื” ื‘ืคื™ืชื•ื— ืžืงื•ืžื™?

ืœื ืžืฆืื ื• ื“ืจืš ืœื™ืฆื•ืจ ืžื•ืคืข ืฉืœ Cloud Spanner ืžืงื•ืžื™. ื”ื›ื™ ืงืจื•ื‘ ืฉื”ื’ืขื ื• ื”ื•ื ืชืžื•ื ืช Docker ื’'ื•ืง DBืฉื”ื•ื ื“ื•ืžื” ื‘ืขืงืจื•ืŸ, ืื‘ืœ ืฉื•ื ื” ืžืื•ื“ ื‘ืคื•ืขืœ. ืœื“ื•ื’ืžื”, CockroachDB ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘-PostgreSQL JDBC. ืžื›ื™ื•ื•ืŸ ืฉืกื‘ื™ื‘ืช ื”ืคื™ืชื•ื— ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืงืจื•ื‘ื” ื›ื›ืœ ื”ืืคืฉืจ ืœืกื‘ื™ื‘ืช ื”ื™ื™ืฆื•ืจ, Cloud Spanner ืื™ื ื• ืื™ื“ื™ืืœื™ ืžื›ื™ื•ื•ืŸ ืฉืืชื” ืฆืจื™ืš ืœื”ืกืชืžืš ืขืœ ืžื•ืคืข ืžืœื ืฉืœ Spanner. ื›ื“ื™ ืœื—ืกื•ืš ื‘ืขืœื•ื™ื•ืช, ืืชื” ื™ื›ื•ืœ ืœื‘ื—ื•ืจ ืžื•ืคืข ืื–ื•ืจ ื‘ื•ื“ื“.

ืชืžื™ื›ื” ื‘ืžื™ื ื”ืœ?

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

ืžืกืคืจ ืžื“ื“ื™ื ื‘ืกื™ืกื™ื™ื ื–ืžื™ื ื™ื ื™ืฉื™ืจื•ืช ื‘ื“ืฃ Spanner ื‘-Google Console. ืชืฆื•ื’ื•ืช ืžืคื•ืจื˜ื•ืช ื™ื•ืชืจ ื–ืžื™ื ื•ืช ื“ืจืš Stackdriver, ืฉื ืชื•ื›ืœ ื’ื ืœื”ื’ื“ื™ืจ ืขืจื›ื™ ืกืฃ ืžื“ื“ื™ื ื•ืžื“ื™ื ื™ื•ืช ื”ืชืจืื•ืช.

ื’ื™ืฉื” ืœืžืฉืื‘ื™ื?

MySQL ืžืฆื™ืข ื”ื’ื“ืจื•ืช ื”ืจืฉืื•ืช/ืชืคืงื™ื“ื™ื ื ืจื—ื‘ื•ืช ื•ืžืคื•ืจื˜ื•ืช ืžืื•ื“. ืืชื” ื™ื›ื•ืœ ื‘ืงืœื•ืช ืœื”ืชืื™ื ืื™ืฉื™ืช ื’ื™ืฉื” ืœื˜ื‘ืœื” ืกืคืฆื™ืคื™ืช, ืื• ืืคื™ืœื• ืจืง ืชืช-ืงื‘ื•ืฆื” ืฉืœ ื”ืขืžื•ื“ื•ืช ืฉืœื”. Cloud Spanner ืžืฉืชืžืฉ ื‘ื›ืœื™ Google Identity & Access Management (IAM), ื”ืžืืคืฉืจ ืจืง ืœื”ื’ื“ื™ืจ ืžื“ื™ื ื™ื•ืช ื•ื”ืจืฉืื•ืช ื‘ืจืžื” ื’ื‘ื•ื”ื” ืžืื•ื“. ื”ืืคืฉืจื•ืช ื”ืžืคื•ืจื˜ืช ื‘ื™ื•ืชืจ ื”ื™ื ื”ืจืฉืื” ื‘ืจืžืช ืžืกื“ ื”ื ืชื•ื ื™ื, ืฉืื™ื ื” ืžืชืื™ืžื” ื‘ืจื•ื‘ ืžืงืจื™ ื”ื™ื™ืฆื•ืจ. ื”ื’ื‘ืœื” ื–ื• ืžืืœืฆืช ืื•ืชืš ืœื”ื•ืกื™ืฃ ืืžืฆืขื™ ืื‘ื˜ื—ื” ื ื•ืกืคื™ื ืœืงื•ื“, ืœืชืฉืชื™ืช ืื• ืœืฉื ื™ื”ื ื›ื“ื™ ืœืžื ื•ืข ืฉื™ืžื•ืฉ ืœื ืžื•ืจืฉื” ื‘ืžืฉืื‘ื™ Spanner.

ื’ื™ื‘ื•ื™ื™ื?

ื‘ืžื™ืœื™ื ืคืฉื•ื˜ื•ืช, ืื™ืŸ ื’ื™ื‘ื•ื™ื™ื ื‘-Cloud Spanner. ืืžื ื ื“ืจื™ืฉื•ืช ื”-SLA ื”ื’ื‘ื•ื”ื•ืช ืฉืœ ื’ื•ื’ืœ ื™ื›ื•ืœื•ืช ืœื”ื‘ื˜ื™ื— ืฉืœื ืชืื‘ื“ ืฉื•ื ืžื™ื“ืข ืขืงื‘ ื›ืฉืœื™ ื—ื•ืžืจื” ืื• ืžืกื“ ื ืชื•ื ื™ื, ื˜ืขื•ื™ื•ืช ืื ื•ืฉ, ืคื’ืžื™ื ื‘ื™ื™ืฉื•ืžื™ื ื•ื›ื•'. ื›ื•ืœื ื• ืžื›ื™ืจื™ื ืืช ื”ื›ืœืœ: ื–ืžื™ื ื•ืช ื’ื‘ื•ื”ื” ืื™ื ื” ืชื—ืœื™ืฃ ืœืืกื˜ืจื˜ื’ื™ื™ืช ื’ื™ื‘ื•ื™ ื—ื›ืžื”. ื ื›ื•ืŸ ืœืขื›ืฉื™ื•, ื”ื“ืจืš ื”ื™ื—ื™ื“ื” ืœื’ื‘ื•ืช ื ืชื•ื ื™ื ื”ื™ื ืœื”ื–ืจื™ื ืื•ืชื ื‘ืื•ืคืŸ ืคืจื•ื’ืจืžื˜ื™ ืžืžืกื“ ื”ื ืชื•ื ื™ื ืœืกื‘ื™ื‘ืช ืื—ืกื•ืŸ ื ืคืจื“ืช.

ืฉืื™ืœืชื” ื‘ื™ืฆื•ืขื™ื?

ื”ืฉืชืžืฉื ื• ื‘-Yahoo! ื›ื“ื™ ืœื˜ืขื•ืŸ ื ืชื•ื ื™ื ื•ืœื‘ื“ื•ืง ื‘ืงืฉื•ืช. Benchmark ืœืฉืจืช ืขื ืŸ. ื”ื˜ื‘ืœื” ืฉืœื”ืœืŸ ืžืฆื™ื’ื” ืืช ืขื•ืžืก ื”ืขื‘ื•ื“ื” ืฉืœ B YCSB ืขื ื™ื—ืก ื›ืชื™ื‘ื” ืฉืœ 95% ืงืจื™ืื” ืœ-5%.

Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

* ืžื‘ื—ืŸ ื”ืขื•ืžืก ื”ื•ืคืขืœ ืขืœ n1-standard-32 Compute Engine (CE) (32 vCPUs, 120 GB ื–ื™ื›ืจื•ืŸ) ื•ืžื•ืคืข ื”ื‘ื“ื™ืงื” ืžืขื•ืœื ืœื ื”ื™ื” ืฆื•ื•ืืจ ื”ื‘ืงื‘ื•ืง ื‘ื‘ื“ื™ืงื•ืช.
** ื”ืžืกืคืจ ื”ืžืจื‘ื™ ืฉืœ ืฉืจืฉื•ืจื™ื ื‘ืžื•ืคืข YCSB ืื—ื“ ื”ื•ื 400. ื‘ืกืš ื”ื›ืœ, ื”ื™ื” ืฆื•ืจืš ืœื”ืจื™ืฅ ืฉื™ืฉื” ืžื•ืคืขื™ื ืžืงื‘ื™ืœื™ื ืฉืœ ื‘ื“ื™ืงื•ืช YCSB ื›ื“ื™ ืœืงื‘ืœ ืกืš ืฉืœ 2400 ืฉืจืฉื•ืจื™ื.

ื‘ื”ืกืชื›ืœื•ืช ืขืœ ืชื•ืฆืื•ืช ื”ื”ืฉื•ื•ืื”, ื‘ืคืจื˜ ื”ืฉื™ืœื•ื‘ ืฉืœ ืขื•ืžืก ืžืขื‘ื“ ื•-TPS, ืื ื• ื™ื›ื•ืœื™ื ืœืจืื•ืช ื‘ื‘ื™ืจื•ืจ ืฉ-Cloud Spanner ืžืชืงื“ื ื“ื™ ื˜ื•ื‘. ื”ืขื•ืžืก ื”ื’ื“ื•ืœ ืฉื ื•ืฆืจ ืขืœ ื™ื“ื™ ืžืกืคืจ ืจื‘ ืฉืœ ื—ื•ื˜ื™ื ืžืงื•ื–ื– ืขืœ ื™ื“ื™ ืžืกืคืจ ืจื‘ ืฉืœ ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ Cloud Spanner. ืœืžืจื•ืช ืฉื”ืฉื”ื™ื™ื” ื ืจืื™ืช ื“ื™ ื’ื‘ื•ื”ื”, ื‘ืžื™ื•ื—ื“ ื›ืืฉืจ ืคื•ืขืœ ืขืœ 2400 ืฉืจืฉื•ืจื™ื, ื™ื™ืชื›ืŸ ืฉื™ื”ื™ื” ืฆื•ืจืš ืœื‘ืฆืข ื‘ื“ื™ืงื” ื—ื•ื–ืจืช ืขื 6 ืžื•ืคืขื™ื ืงื˜ื ื™ื ื™ื•ืชืจ ืฉืœ ืžื ื•ืข ื”ืžื—ืฉื•ื‘ ื›ื“ื™ ืœืงื‘ืœ ืžืกืคืจื™ื ืžื“ื•ื™ืงื™ื ื™ื•ืชืจ. ื›ืœ ืžื•ืคืข ื™ืคืขื™ืœ ื‘ื“ื™ืงืช YCSB ืื—ืช ื‘ืžืงื•ื ืžื•ืคืข CE ืื—ื“ ื’ื“ื•ืœ ืขื 6 ื‘ื“ื™ืงื•ืช ืžืงื‘ื™ืœื•ืช. ื–ื” ื™ืงืœ ืขืœ ื”ื”ื‘ื—ื ื” ื‘ื™ืŸ ืขื™ื›ื•ื‘ื™ื ื‘ื‘ืงืฉืช Cloud Spanner ืœื‘ื™ืŸ ืขื™ื›ื•ื‘ื™ื ืฉื ื•ืกืคื• ืขืœ ื™ื“ื™ ื—ื™ื‘ื•ืจ ื”ืจืฉืช ื‘ื™ืŸ Cloud Spanner ืœื‘ื™ืŸ ืžื•ืคืข CE ื”ืžืจื™ืฅ ืืช ื”ื‘ื“ื™ืงื”.

ื›ื™ืฆื“ ืžืชืคืงื“ Cloud Spanner ื›-OLAP?

ื—ืœื•ืงื” ืœืžื—ื™ืฆื•ืช?

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

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

ื˜ื•ืขืŸ ื ืชื•ื ื™ื?

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

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

ื˜ืขื™ื ืช ื ืชื•ื ื™ื ื–ื• ืžืฉืชืžืฉืช ื‘ื›ืœ ืฆืžืชื™ Cloud Spanner.

ื”ืฉืชืžืฉื ื• ื‘ืขื•ืžืก ื”ืขื‘ื•ื“ื” A YCSB ื›ื“ื™ ืœื™ืฆื•ืจ ืžืขืจืš ื ืชื•ื ื™ื ืฉืœ 10 ืžื™ืœื™ื•ืŸ ืฉื•ืจื•ืช.

Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

* ืžื‘ื—ืŸ ื”ืขื•ืžืก ื”ื•ืคืขืœ ืขืœ ืžื ื•ืข ื”ืžื—ืฉื•ื‘ n1-standard-32 (32 vCPUs, 120 GB ื–ื™ื›ืจื•ืŸ) ื•ืžื•ืคืข ื”ื‘ื“ื™ืงื” ืžืขื•ืœื ืœื ื”ื™ื” ืฆื•ื•ืืจ ื”ื‘ืงื‘ื•ืง ื‘ื‘ื“ื™ืงื•ืช.
** ื”ื’ื“ืจืช ืฆื•ืžืช 1 ืื™ื ื” ืžื•ืžืœืฆืช ืขื‘ื•ืจ ื›ืœ ืขื•ืžืก ื™ื™ืฆื•ืจ.

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

ื“ึตืจื•ึผื’?

ื”ื’ื“ืœื” ื•ื”ืงื˜ื ื” ืฉืœ ืžืกืคืจ ืฆืžืชื™ื ืฉืœ Cloud Spanner ื”ื™ื ืžืฉื™ืžื” ื‘ืœื—ื™ืฆื” ืื—ืช. ืื ืืชื” ืจื•ืฆื” ืœื˜ืขื•ืŸ ื ืชื•ื ื™ื ื‘ืžื”ื™ืจื•ืช, ืื•ืœื™ ื›ื“ืื™ ืœืฉืงื•ืœ ืœื”ื’ื‘ื™ืจ ืืช ื”ืžื•ืคืข ืœืžืงืกื™ืžื•ื (ื‘ืžืงืจื” ืฉืœื ื• ื–ื” ื”ื™ื” 25 ืฆืžืชื™ื ื‘ืื–ื•ืจ ืืจื”"ื‘-ืžื–ืจื—) ื•ืื– ืœื”ืคื—ื™ืช ืืช ืžืกืคืจ ื”ืฆืžืชื™ื ื”ืžืชืื™ืžื™ื ืœืขื•ืžืก ื”ืจื’ื™ืœ ืฉืœืš ืœืื—ืจ ื›ืœ ื”ื ืชื•ื ื™ื ื‘ืžืกื“ ื”ื ืชื•ื ื™ื, ืชื•ืš ื”ืชื—ืฉื‘ื•ืช ื‘ืžื’ื‘ืœื” ืฉืœ 2 TB/ืฆื•ืžืช.

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

Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

ื”ืฆืœื—ื ื• ืœื”ืงื˜ื™ืŸ ืž-25 ืœ-2 ืžืงืจื™ื, ืื‘ืœ ืื ื—ื ื• ืชืงื•ืขื™ื ื‘ืฉื ื™ ืฆืžืชื™ื.

ื”ืขืœืื” ื•ื”ืคื—ืชื” ืฉืœ ืžืกืคืจ ื”ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ Cloud Spanner ื™ื›ื•ืœื” ืœื”ื™ื•ืช ืื•ื˜ื•ืžื˜ื™ืช ื‘ืืžืฆืขื•ืช REST API. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ื‘ืžื™ื•ื—ื“ ืœื”ืคื—ืชืช ื”ืขื•ืžืก ื”ืžื•ื’ื‘ืจ ืขืœ ื”ืžืขืจื›ืช ื‘ืฉืขื•ืช ืขืžื•ืกื•ืช.

ื‘ื™ืฆื•ืขื™ ืฉืื™ืœืชืช OLAP?

ื‘ืžืงื•ืจ ืชื›ื ื ื• ืœื”ืงื“ื™ืฉ ื–ืžืŸ ืœื ืžื‘ื•ื˜ืœ ืœื”ืขืจื›ืช Spanner ื‘ื ื•ืฉื ื–ื”. ืœืื—ืจ ื›ืžื” ืกืคื™ืจื•ืช SELECT, ื”ื‘ื ื• ืžื™ื“ ืฉื”ื‘ื“ื™ืงื” ืชื”ื™ื” ืงืฆืจื” ื•ืฉSpnner ืœื ื™ื”ื™ื” ืžื ื•ืข ืžืชืื™ื ืœ-OLAP. ืœืœื ืงืฉืจ ืœืžืกืคืจ ื”ืฆืžืชื™ื ื‘ืืฉื›ื•ืœ, ืคืฉื•ื˜ ื‘ื—ื™ืจืช ืžืกืคืจ ื”ืฉื•ืจื•ืช ื‘ื˜ื‘ืœืช ืฉื•ืจื•ืช ืฉืœ 10 ืžื™ืœื™ื•ืŸ ืืจื›ื” 55 ืขื“ 60 ืฉื ื™ื•ืช. ื›ืžื• ื›ืŸ, ื›ืœ ืฉืื™ืœืชื” ืฉื“ืจืฉื” ื™ื•ืชืจ ื–ื™ื›ืจื•ืŸ ืœืื—ืกื•ืŸ ืชื•ืฆืื•ืช ื‘ื™ื ื™ื™ื ื ื›ืฉืœื” ืขื ืฉื’ื™ืืช OOM.

SELECT COUNT(DISTINCT(field0)) FROM usertable; โ€” (10M distinct values)-> SpoolingHashAggregateIterator ran out of memory during new row.

ืžืกืคืจื™ื ืžืกื•ื™ืžื™ื ืขื‘ื•ืจ ืฉืื™ืœืชื•ืช TPC-H ื ื™ืชืŸ ืœืžืฆื•ื ื‘ืžืืžืจ ืฉืœ ื˜ื•ื“ ืœื™ืคืงื•ืŸ nosql-kudu-spanner-slides.html, ืฉืงื•ืคื™ื•ืช 42 ื•-43. ื”ืžืกืคืจื™ื ื”ืœืœื• ืชื•ืืžื™ื ืืช ื”ืชื•ืฆืื•ืช ืฉืœื ื• (ืœืžืจื‘ื” ื”ืฆืขืจ).

Google Cloud Spanner: ื˜ื•ื‘, ืจืข, ืžื›ื•ืขืจ

4. ื”ืžืžืฆืื™ื ืฉืœื ื•

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

ื›ืฉื”ืชื—ืœื ื• ืœื”ืขืจื™ืš ืืช Cloud Spanner, ืฆื™ืคื™ื ื• ืฉืชื›ื•ื ื•ืช ื”ื ื™ื”ื•ืœ ืฉืœื• ื™ื”ื™ื• ื“ื•ืžื•ืช, ืื• ืœืคื—ื•ืช ืœื ืจื—ื•ืงื•ืช ืžืคืชืจื•ื ื•ืช ืื—ืจื™ื ืฉืœ Google SQL. ืื‘ืœ ื”ื•ืคืชืขื ื• ืžื”ื—ื•ืกืจ ื”ืžื•ื—ืœื˜ ืฉืœ ื’ื™ื‘ื•ื™ื™ื ื•ื‘ืงืจืช ื’ื™ืฉื” ืžื•ื’ื‘ืœืช ืžืื•ื“ ืœืžืฉืื‘ื™ื. ืฉืœื ืœื“ื‘ืจ ืขืœ ืœืœื ืชืฆื•ื’ื•ืช, ืœืœื ืกื‘ื™ื‘ืช ืคื™ืชื•ื— ืžืงื•ืžื™ืช, ืจืฆืคื™ื ืœื ื ืชืžื›ื™ื, JDBC ืœืœื ืชืžื™ื›ื” ื‘-DML ื•-DDL, ื•ื›ืŸ ื”ืœืื”.

ืื–, ืœืืŸ ืœืคื ื•ืช ืœืžื™ืฉื”ื• ืฉืฆืจื™ืš ืœื”ื’ื“ื™ืœ ืžืกื“ ื ืชื•ื ื™ื ืขืกืงื”? ื ืจืื” ืฉืขื“ื™ื™ืŸ ืื™ืŸ ืคืชืจื•ืŸ ืื—ื“ ื‘ืฉื•ืง ืฉืžืชืื™ื ืœื›ืœ ืžืงืจื™ ื”ืฉื™ืžื•ืฉ. ื™ืฉื ื ืคืชืจื•ื ื•ืช ืงื•ื“ ืกื’ื•ืจ ื•ืคืชื•ื— ืจื‘ื™ื (ื—ืœืงื ืžื•ื–ื›ืจื™ื ื‘ืžืืžืจ ื–ื”), ื›ืœ ืื—ื“ ืขื ื ืงื•ื“ื•ืช ื”ื—ื•ื–ืง ื•ื”ื—ื•ืœืฉื” ืฉืœื•, ืืš ืืฃ ืื—ื“ ืžื”ื ืœื ืžืฆื™ืข SaaS ืขื 99,999% SLA ื•ื“ืจื’ื” ื’ื‘ื•ื”ื” ืฉืœ ืขืงื‘ื™ื•ืช. ืื SLA ื’ื‘ื•ื” ื”ื•ื ื”ืžื˜ืจื” ื”ืขื™ืงืจื™ืช ืฉืœืš ื•ืืชื” ืœื ื ื•ื˜ื” ืœื‘ื ื•ืช ืคืชืจื•ืŸ ืžืฉืœืš ืขื‘ื•ืจ ืขื ื ื™ื ืžืจื•ื‘ื™ื, Cloud Spanner ืขืฉื•ื™ ืœื”ื™ื•ืช ื”ืคืชืจื•ืŸ ืฉืืชื” ืžื—ืคืฉ. ืื‘ืœ ืืชื” ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ื“ืข ืœื›ืœ ื”ืžื’ื‘ืœื•ืช ืฉืœื•.

ืœืžืขืŸ ื”ื”ื’ื™ื ื•ืช, Cloud Spanner ืฉื•ื—ืจืจ ืœืฆื™ื‘ื•ืจ ืจืง ื‘ืื‘ื™ื‘ 2017, ื›ืš ืฉืกื‘ื™ืจ ืœืฆืคื•ืช ืฉื—ืœืง ืžื”ืคื’ืžื™ื ื”ื ื•ื›ื—ื™ื™ื ืฉืœื• ืขืœื•ืœื™ื ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืœื”ื™ืขืœื (ืื ื™ ืžืงื•ื•ื”), ื•ื›ืฉื–ื” ื™ืงืจื”, ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืžื—ืœื™ืฃ ืžืฉื—ืง. ืื—ืจื™ ื”ื›ืœ, Cloud Spanner ื”ื•ื ืœื ืจืง ืคืจื•ื™ืงื˜ ืฆื“ื“ื™ ืฉืœ ื’ื•ื’ืœ. Google ืžืฉืชืžืฉืช ื‘ื• ื›ื‘ืกื™ืก ืœืžื•ืฆืจื™ื ืื—ืจื™ื ืฉืœ Google. ื•ื›ืืฉืจ ื’ื•ื’ืœ ื”ื—ืœื™ืคื” ืœืื—ืจื•ื ื” ืืช Megastore ื‘-Google Cloud Storage ื‘-Cloud Spanner, ื”ื™ื ืืคืฉืจื” ืœ-Google Cloud Storage ืœื”ื™ื•ืช ืขืงื‘ื™ ื‘ื™ื•ืชืจ ืขื‘ื•ืจ ืจืฉื™ืžื•ืช ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืงื ื” ืžื™ื“ื” ืขื•ืœืžื™ (ืžื” ืฉืขื“ื™ื™ืŸ ืœื ืงื™ื™ื ืขื‘ื•ืจ ืืžื–ื•ืŸ S3).

ืื–, ืขื“ื™ื™ืŸ ื™ืฉ ืชืงื•ื•ื”... ืื ื—ื ื• ืžืงื•ื•ื™ื.

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

ืื ื• ืžื–ืžื™ื ื™ื ืืช ื›ื•ืœื ืœื‘ืงืจ ืืฆืœื ื• ืกืžื™ื ืจ ืžืงื•ื•ืŸ ื—ื™ื ื ื‘ื• ื ืกืคืจ ืœื›ื ื‘ืคื™ืจื•ื˜ ืขืœ ื”ืงื•ืจืก "AWS ืœืžืคืชื—ื™ื" ืž-OTUS.

ืžืงื•ืจ: www.habr.com

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