áááºá¹ááá¬áá« Khabrovsk áá±ááá¯ááºáá°áá»á¬ážá áá¯á¶ážá
á¶á¡ááá¯ááºážá áááºáááºážá¡áá
áºáá
áááºáá® á
áááºáááºá
á¬ážááœááºá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáááºáááºáá»áŸáá±áá«áááºá á¡áá°ážáááŒáá·áº ááá±á·ááœáẠááá·áºá¡ááœááºá áááºáááºážá
áááºááá·áºá¡áá»áááºááŸáá·áº ááá¯ááºááá¯ááºááẠGoogle Cloud Spanner á¡ááŒá±á¬ááºáž áá±á¬ááºážáá«ážáá
áºáá¯ááºááᯠáá¯ááºááŒááºááá¯ááºáá«áááºá
áá°áááºážááœáẠáá¯ááºáá±áá²á·áááºá
ááá¹áá¬áá
áºááŸááºážááŸá áááºáá®áá±á¬ááºážáá»áá°áá»á¬ážá á
á¬ážáá±á¬ááºááá¯ááºáá»á¬ážááŸáá·áº á¡áœááºááá¯ááºážáá±á¬ááºážáá»áá°áá»á¬ážá¡ááœáẠcloud-based POS ááŒá±ááŸááºážáá»ááºá¡áá»áá¯ážáá»áá¯ážááᯠáá±ážáá±á¬ááºááá·áº áá¯áá¹ááá®áá
áºáá¯á¡áá±ááŒáá·áº Lightspeed ááẠá¡áá±á¬ááºážá¡áááºááá
á¹á
áá»á¬ážá ááœá²ááŒááºážá
áááºááŒá¬ááŸá¯ááŸáá·áº ááŸá¬ááœá±ááŸá¯á¡áá¯á¶ážááŒá¯ááŸá¯ááá
á¹á
áááºáá»á¬ážá¡ááœáẠááá°áá®áá±á¬áá±áá¬áá±á·á
áºá¡áá»áá¯ážá¡á
á¬ážáá»á¬ážá
áœá¬ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á€áá±áá¬áá±á·á
áºááááºáá±á¬ááºážáá
áºáá¯á
á®ááá¯ááºážááœáẠáááºážáá¡á¬ážáá¬áá»ááºáá»á¬ážááŸáá·áº á¡á¬ážáááºážáá»ááºáá»á¬ážááŸááááºá ááá¯á·ááŒá±á¬áá·áºá Google ááẠCloud Spanner ááᯠá
á»á±ážááœááºááá¯á·ááááºáááºáá±á¬á¡áá« - á¡ááá·áºá¡áááºáááŸá á¡áá»á¬ážááá¯ááºá¡ááá¯ááºážá¡áá¬ááŸáá·áº 99,999% áááºáá±á¬ááºááŸá¯á¡ááá·áºááá±á¬áá°áá®áá»áẠ(SLA) áá²á·ááá¯á·áá±á¬ áááºá
ááºáá±áá¬áá±á·á
áºáá±á¬áááœáẠáááŒááºááá¯ááºáá±á¬á¡áá¬ážá¡áá¬ááŸááá±á¬á¡ááºá¹áá«áááºáá»á¬ážá â áááºáá²áá±á¬ááºááá¯á· á¡ááœáá·áºá¡áá±ážááᯠáááºááœáŸááºááá¶ááá¯ááºáá°ážá
Cloud Spanner ááŸáá·áº áá»áœááºá¯ááºááá¯á·á á¡ááœá±á·á¡ááŒá¯á¶ááᯠáá»ááºáá»ááºááŒáá·áºááŒáá·áº ááŒá¯á¶áá¯á¶áá¯á¶ážáááºááá¯ááºá
á±áááºá áá»áœááºá¯ááºááá¯á·á¡áá¯á¶ážááŒá¯áá²á·ááá·áº á¡áá²ááŒááºááŸá¯á
á¶ááŸá¯ááºážáá»á¬ážá¡ááŒáẠá¡á±á¬ááºáá«á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠá¡áá»á¯á¶ážáááºáááºááŒá
áºáá«áááºá
- áá»áœááºá¯ááºááá¯á·á á¡áá²ááŒááºááŸá¯ á á¶ááŸá¯ááºážáá»á¬áž
- á¡ááá¯áá»á¯ááºááŒá±á¬áááẠCloud Spanner
- áá»áœááºá¯ááºááá¯á·áá¡áá²ááŒááºáá»ááº
- áá»áœááºá¯ááºááá¯á·áááœá±á·ááŸááá»ááºáá»á¬áž
1. áá»áœááºá¯ááºááá¯á·á á¡áá²ááŒááºááŸá¯ á á¶ááŸá¯ááºážáá»á¬áž
Cloud Spanner á áá®ážááŒá¬ážáá°ážááŒá¬ážáá»ááºáá»á¬ážááᯠá á°ážá ááºážáá±á·áá¬ááŒááºážáááŒá¯áá®á á á»á±ážááœááºááŸá á¡ááŒá¬ážááŒá±ááŸááºážáááºážáá»á¬ážááŸáá·áº áááºážááá°áá®ááŸá¯áá»á¬ážááŸáá·áº ááœá²ááŒá¬ážááŸá¯áá»á¬ážá áá»áœááºá¯ááºááá¯á·áá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááœáẠCloud Spanner ááᯠáááºááá·áºáá±áá¬ááœááºá¡áá¯á¶ážááŒá¯ááááºááᯠá ááºážá á¬ážáá±á¬á¡áá«ááœáẠáá»áœááºá¯ááºááá¯á·áá áááºáá²ááœááºááŸáááá·áº á¡áááá¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á áá»á¬ážá¡ááŒá±á¬ááºáž áŠážá áœá¬ááŒá±á¬ááá¯ááŒáá«á áá¯á·á
- (ááŒááºáá¬áááºáá¬) ááá¬ážááá¯ážáá» SQL áá±áá¬áá±á·á áºááŒá±ááŸááºážáá»ááºá¡ááœáẠá¡á á¬ážááá¯ážá¡ááŒá áº
- OLAP áá¶á·ááá¯ážááŸá¯ááŒáá·áº OLTP ááŒá±ááŸááºážáááºáž
ááŸááºáá»ááº: ááá¯ážááŸááºážááŒá®áž ááŸáá¯ááºážááŸááºáááœááºáá°á á±áááºá á€áá±á¬ááºážáá«ážááẠGCP Cloud SQL ááŸáá·áº Amazon AWS RDS ááŒá±ááŸááºážáá»ááºáááá¬ážá á¯áá»á¬ážá MySQL áá»áá¯ážááœá²áá»á¬ážááŸáá·áº Cloud Spanner ááᯠááŸáá¯ááºážááŸááºáá¬ážáááºá
ááá¯ážáᬠSQL database ááŒá±ááŸááºážáá»ááºá¡ááœáẠCloud Spanner ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
áááºáááºážáá»ááºá ááá¯ážáᬠáá±áá¬áá±á·á áºáá±ážááŒááºážááŸá¯ áá¯á¶á·ááŒááºááŸá¯á¡áá»áááºáá®ážáááºáá¬áá±á¬á¡áá« ááá¯á·ááá¯áẠááŒáá¯áááºáááºááŸááºáá¬ážáá±á¬ á¡ááá®áá±ážááŸááºážá¡ááá·áºáááºááŸááºáá»ááºáá»á¬ážááᯠáá»á±á¬áºááœááºááœá¬ážáá±á¬á¡áá« (á¡áááá¡á¬ážááŒáá·áº á¡áá¯á¶ážááŒá¯áá°á¡áá±á¡ááœááºááŸáá·áº/ááá¯á·ááá¯áẠáá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááá¯ážáá¬ááŒááºážááŒá±á¬áá·áº) áááºáá¶ááá¯ááºáá±á¬á¡ááá·áºááá¯á· áá¯á¶á·ááŒááºáá»áááºááᯠáá»áŸá±á¬á·áá»ááẠáááºážáááºážáá»á¬ážá áœá¬ááŸááá«áááºá ááá¯á·áá±á¬áºá á€ááŒá±ááŸááºážáá»ááºá¡áá»á¬ážá á¯ááœáẠáá°ááá¯ááºááá¯áẠáááºáá±á¬ááºá áœááºáááºááŸá¯ áá«áááºáááºá
á¥ááá¬á¡á¬ážááŒáá·áºá áá¯ááºáá±á¬ááºáááá·áº áááá¡ááá·áºááŸá¬ á áœááºážáá±á¬ááºáááºááá¯ááºáᬠáá±áá¬áá±á·á Ạáá±á¬ááºáá±á¬ááºáá»á¬ážááᯠááŒáá·áºááŸá¯ááŒá®áž áááºážááá¯á·ááᯠá¡áá±á¬ááºážááœááºáá¯á¶áž ááá¯ááºáá®ááá·áº á¡ááá®áá±ážááŸááºážá¡áá¯á¶ážááŒá¯ááŸá¯áá¯á¶á á¶áá»á¬ážá¡ááá¯ááºáž áá»áááºááŸááááºááŒá áºáááºá áááºážááẠááá¯á¶áá±á¬ááºáá«áá áá±áá¬áá±á·á áºááᯠáá±á«ááºááá¯áẠááá¯á·ááá¯áẠá¡áá»á¬ážááá¯áẠá¡ááá¯ááºážá¡áá¬ááᯠááœá±ážáá»ááºááá¯ááºáááºá
á¡ááá®áá±ážááŸááºážáá áºáá¯á¡á¬áž áá±á«ááºááá¯ááºá¡ááœááºá¡á á¬ážáá»á²á·ááœááºááŒááºážááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áááá¯áááºáá¬/cores ááá¯áá»á¬ážááŒááºážá RAM ááá¯áá»á¬ážááŒááºážá ááá¯ááá¯ááŒááºáááºáá±á¬ááá¯ááŸá±á¬ááºááŸá¯á áááºááá¯á·ááᯠáá±á«ááºážááá·áºááŒááºážááŒáá·áº áá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá¬áá¬ááᯠá¡ááá·áºááŒáŸáá·áºáááºááŒááºážááœáẠáá¬á·ááºáá²á¡áááºážá¡ááŒá áºáá»á¬ážááᯠáááºááá·áºááŒááºážááŒáá·áº áá±áá¬áá±á·á áºá áœááºážáá±á¬ááºáááºááᯠááá¯ážááŒáá·áºá á±áááºá áá¯áááááœáẠá¡áá±á¬ááºážá¡áááºáá»á¬ážááœáẠá¡áááá¡á¬ážááŒáá·áº ááá¯ááºážáá¬ááŒááºážááŸáá·áº OLTP á áá áºáá»á¬ážá¡ááœáẠááœá±áá±ážááœá±áá°ááŒá¬áá»áááºááᯠááŒá áºáá±á«áºá á±áá«áááºá áááºá ááºáá±áá¬áá±á·á áºá áá áºáá»á¬áž (Multi-threaded áá»ááºážáááºáááºážááá¯á¡áá¯á¶ážááŒá¯áááº) ááŒá áºááá·áº MySQL á áá±ážááᯠáá±á«ááºááá¯ááºááŒáá·áº áá±á¬ááºážá áœá¬áá¯ááºáá±á¬ááºááá¯ááºáááºá
á€áá»ááºážáááºááŸá¯ááœáẠá¡á¬ážáááºážáá»ááºáá»á¬ážá áœá¬ááŸááá±á¬áºáááºáž á¡áááºááŸá¬ážáá¯á¶ážááŸá¬ á á»á±ážááœááºááœáẠá¡áá»á¬ážáá¯á¶ážáá¬áá¬á¡ááœááºá¡á á¬ážááŒá áºáááºá á¡ááŒá®ážáá¯á¶ážáá¬áᬠá á¶ááá°áá¬á ááá·áºáááºáá»ááºááᯠáá±á¬ááºáááºááŸáá·áºá á¡áá»á¬ážááá¯áẠá¡ááá¯ááºážá¡áá¬ááŒáá·áº ááœá±ážáá»ááºá áá¬áá áºáá¯áᬠáá»ááºáá±á¬á·áááºá
Horizontal scaling ááẠáá¬áá¬áá»á¬ážááᯠá¡á á¯á¡áá±ážáá áºáá¯ááá¯á· áá±á¬ááºáááºáá¬áá¬áá»á¬áž áá±á«ááºážááá·áºááá·áº áá»ááºážáááºááŸá¯áá áºáá¯ááŒá áºááŒá®ážá á¡áá±á¬ááºážáá¯á¶ážá¡á¬ážááŒáá·áº áá¬áá¬á¡áá±á¡ááœááºááᯠááá·áºááœááºážáá¬ážáá±á¬ááŒá±á¬áá·áº á áœááºážáá±á¬ááºáááºááᯠáá áºááŒá±ážáá® ááá¯ážááŒáá·áºá á±áááºá áá°áá»á¬ážá ᯠááá¯ážáᬠáá±áá¬áá±á·á áºá áá áºáá»á¬ážááẠáá±ááŒááºáá®á¡ááá¯ááºáž áá±á¬ááºážá áœá¬ áááá¯ááºážáá¬ááá¯áẠááá¯á·ááá¯áẠá¡ááá¯ááºážá¡áᬠáá¯á¶ážáááá¯ááºáá±á¬ááºáá«á á¥ááá¬á¡á¬ážááŒáá·áºá MySQL ááẠslave readers áá»á¬ážááᯠáá±á«ááºážááá·áºááŒááºážááŒáá·áº read operations á¡ááœáẠá¡áá»á¬ážááá¯áẠá¡ááá¯ááºážá¡áᬠáá¯ááºááá¯ááºáá±á¬áºáááºáž áá±ážáááºá¡ááœáẠá¡áá»á¬ážááá¯áẠá¡ááá¯ááºážá¡áᬠááááá¯ááºáá«á
á¡ááŒá¬ážáá áºáááºááœááºá áááºážáááá±á¬ááá¬áááŒá±á¬áá·áº Cloud Spanner ááẠá¡áááºážáá¯á¶ážáááºáá±á¬ááºá áœááºáááºááŸá¯ááŒáá·áº á¡áá»á¬ážááá¯áẠá¡ááœááºááá° á¡ááá¯ááºážá¡áá¬ááᯠááá¯ááºážáá¬ááá¯ááºáááºá
á¡ááŒáá·áºá¡ááá±á¬áºááŒáááºá áááºáá±á¬ááºááŸá¯áá áºáá¯á¡áá±ááŒáá·áº DBMS ááŸá¯áá±á¬áá·áºá¡áá»áá¯ážáá»áá¯ážááá± á¡áá²ááŒááºááááºá á¡ááŒá±áá¶á¡áá±ááŒáá·áºá Googleá GCP Cloud SQL ááŸáá·áº Amazoná AWS RDS á¡ááœáẠáá°ááŒáá¯ááºá¡áá»á¬ážáá¯á¶áž DBMS ááᯠáá»áœááºá¯ááºááá¯á·áá°áá¬ážáá«áááºá áá»áœááºá¯ááºááá¯á·áá¡áá²ááŒááºááŸá¯ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠá¡á¬áá¯á¶á áá¯ááºáá²á·áááº-
- á¡ááœááºá¡ááŒááºááŒá±áá¯á¶ááœá²ááŒááºáž- SQLá DDLá DMLá áá»áááºáááºááŸá¯ á á¬ááŒáá·áºááá¯ááºáá»á¬áž/áá»áááºáááºáááááá¬áá»á¬ážá ááœá±áá±ážááœá±áá° áá¶á·ááá¯ážáá°áá®ááŸá¯ á áááºááŒáá·áºá
- ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±áž áá¶á·ááá¯ážááŸá¯- ááœááºáá°áá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááŸáá·áº á ááºážáááºááŸá¯á
- á á®áá¶ááá·áºááœá²áá±áž áá¶á·ááá¯ážááŸá¯- á¥ááᬠá á®áá¶ááá·áºááœá²ááŸá¯- á¥ááá¬á á¡áááº/á¡áááºáž ááŸáá·áº áá¬áááá»á¬ážááᯠá¡ááá·áºááŒáŸáá·áºáááºááŒááºážá SLAá á¡áááºááááºážááŒááºážááŸáá·áº ááŒááºáááºááá°ááŒááºáž áá¯á¶ááŒá¯á¶áá±áž/áááºáá±á¬ááºááááºážáá»á¯ááºááŸá¯á
OLAP-enabled OLTP ááŒá±ááŸááºážáá»ááºá¡ááŒá ẠCloud Spanner ááᯠá¡áá¯á¶ážááŒá¯ááŒááºážá
Google ááẠCloud Spanner ááᯠááœá²ááŒááºážá áááºááŒá¬ááŸá¯áá¯ááºáá±á¬ááºáááºá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážááŒá±á¬ááºáž ááŸááºážááŸááºážáááºážáááºáž ááá±á¬áºááŒáá¬ážáá±á¬áºáááºáž áááºážááẠOLAP á¡áá¯ááºáá¬áááºáá»á¬ážá¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážááá·áº Apache Impala & Kudu ááŸáá·áº YugaByte áá²á·ááá¯á·áá±á¬ á¡ááŒá¬ážá¡ááºáá»ááºáá»á¬ážááŸáá·áº áááºááœáŸááºážáá»ááºá¡áá»áá¯á·ááᯠáá»áŸáá±áá«áááºá
Cloud Spanner ááẠáá áºááááºáááºáž á¡ááá¯ááºážá¡áá¬-áá¯áẠHTAP (hybrid á¡áá±á¬ááºážá¡áááºááŒá¯áá¯ááºááŒááºáž/ááœá²ááŒááºážá áááºááŒá¬ááŸá¯áá¯ááºáá±á¬ááºááŒááºáž) á¡ááºáá»ááºááᯠ(á¡áááºážááŸáá·áºá¡áá»á¬áž) á¡áá¯á¶ážááŒá¯ááá¯ááºáá±á¬ OLAP á¡ááºá¹áá«áááºá¡á á¯á¶áá«ááŸááá±á¬ á¡ááœáá·áºá¡áááºážá¡áááºážáááºáá¬ááŸááá±á¬áºáááºážá áááºážááẠáá»áœááºá¯ááºááá¯á·áá¡á¬áá¯á¶á áá¯ááºááŸá¯ááᯠáá¶ááá¯ááºáááºáᯠáá»áœááºá¯ááºááá¯á·áá°ááá«áááºá
áááºážááᯠá áááºáá²ááœáẠáá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«á¡áá»áá¯ážá¡á á¬ážáá»á¬ážááᯠááŒáá·áºááŸá¯áá²á·áááº-
- áá±áá¬ááœáá·áºááŒááºážá á¡ááœáŸááºážáá»á¬ážááŸáá·áº ááá¯ááºážááŒá¬ážááŒááºáž áá¶á·ááá¯ážááŸá¯
- Query Performance ááŸáá·áº DML
2. á¡ááá¯áá»á¯ááºááŒá±á¬áááẠCloud Spanner
Google Spanner ááẠáááºážáááá¯ááºááá¯ááºáááºáá±á¬ááºááŸá¯áá»á¬ážá áœá¬á¡ááœáẠGoogle á¡áá¯á¶ážááŒá¯ááá·áº á¡á á¯ááá¯ááºáááºá ááºáá±áá¬áá±á·á áºá á®áá¶ááá·áºááœá²ááŸá¯á áá Ạ(RDBMS) ááŒá áºáááºá Google ááẠáááºážá¡á¬áž áá±áá°áá»á¡á¬ážááŒáá·áº Google Cloud Platform á¡áá¯á¶ážááŒá¯áá°áá»á¬ážá¡ááœáẠ2017 á¡á á±á¬ááá¯ááºážááœáẠáááŸáá á±áá²á·áááºá
á€áááºááŸá¬ Cloud Spanner áááºááœáŸááºážáá»ááºá¡áá»áá¯á·ááŒá áºáááº-
- áá áºááááºáááºáž á¡ááá¯ááºážá¡áᬠááŒá®ážáá¬ážáá±á¬ RDBMS á¡á á¯á¡áá±áž- áá±áᬠáá®ááœááºááŸá¯ááᯠáá±áá»á¬á á±ááẠáá¬á·ááºáá² á¡áá»áááºááᯠáááºáá°ááŒá¯ááŒááºážááᯠá¡áá¯á¶ážááŒá¯áááºá
- ááá¬ážááŒááºáá»á±á¬áºááœá±áá±ážááœá±áá°áá¶á·ááá¯ážááŸá¯- ááœá±áá±ážááœá±áá°áá»á¬ážááẠááá¬ážá¡áá»á¬ážá¡ááŒá¬ážááᯠáá»á²á·ááœááºááá¯ááºááẠ- ááá¬ážáá áºáá¯áááºážááœáẠáááá¯á¡ááºáá² ( Apache HBase ááá¯á·ááá¯áẠApache Kudu áá²á·ááá¯á·ááá¯ááºáá«)á
- áááºááá±á¬á·ááá¯á¡ááŒá±áá¶ááá·áºááá¬ážáá»á¬áž- ááá¬ážáá»á¬ážá¡á¬ážáá¯á¶ážááœáẠááá¬ážá¡ááœááºážááŸá áá±á¬áºáá¶á¡áá»á¬ážá¡ááŒá¬ážáá«áááºááá¯ááºááá·áº á¡ááááá±á¬á· (PC) áá«ááŸáááá«áááºá Tabular áá±áá¬ááᯠPC á¡á
á®á¡á
ááºááœáẠááááºážáááºážáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááᯠPC ááŸá¬ááœá±ááŒááºážá¡ááœáẠá¡ááœááºáááá±á¬ááºááŒá®áž ááŒááºáááºá
á±áááºá á¡ááŒá¬ážáá±á¬ PC-based á
áá
áºáá»á¬ážáá²á·ááá¯á·áááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠá¡á±á¬ááºááŒááºááẠá
áááºáá²ááœáẠááŒáá¯áááºáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬ á¡áá¯á¶ážááŒá¯ááŸá¯ááá
á¹á
áá»á¬ážááŒáá·áº á¡áá±á¬ááºá¡áááºáá±á¬áºááááºááŒá
áºáááºá
á¡áá±á¬ááºážáá¯á¶ážá áœááºážáá±á¬ááºááẠ. - á¡á ááºážááŒá±á¬ááºážááá¬ážáá»á¬áž- ááá¬ážáá»á¬ážááẠáá áºáá¯ááŸáá·áºáá áºáá¯á¡áá±á«áºááœáẠáá¯ááºááá¯ááºážááá¯ááºáᬠááŸá®ááá¯ááŸá¯áá»á¬ážááŸáááá¯ááºáááºá ááá±ážááá¬ážááŸá á¡áááºážáá»á¬ážááᯠáááááá¬ážááŸá á¡áááºážáá»á¬ážááŸáá·áº ááŸááºááá¯ááºáááºá á€áá»ááºážáááºááŸá¯ááẠáá±á¬ááºáááºáá»á¬ážááŸáá·áº áááºážááá¯á·á ááœá±áá±á¬ááºážáá¶ááœáŸá¬áá»á¬ážááᯠáá°ážááœá²áááºáá±áá¬ááŸá¬ááœá±ááŒááºážáá²á·ááá¯á·áá±á¬ áá±áá¬áá±á¬áºáááºáá¯á¶á á¶á¡ááá·áºá¡ááœááºáž áá±á¬áºáá¯ááºááá¯ááºááá·áº áááºáá¶áá±ážáá»á¬ážááᯠááŸá¬ááœá±ááŸá¯ááᯠá¡ááŸáááºááŒáŸáá·áºá á±áááºá
- á¡ááœáŸááºážáá»á¬áž- Cloud Spanner ááẠáá¯áááá¡ááœáŸááºážááááºážáá»á¬ážááᯠáá¶á·ááá¯ážáá±ážáááºá á¡ááœáŸááºážááœáẠá¡ááœáŸááºážááŒá¯áá¬ážáá±á¬ áá±á¬áºáá¶áá»á¬ážááŸáá·áº PC áá±á¬áºáá¶áá»á¬ážá¡á¬ážáá¯á¶áž áá«áááºáááºá ááá¹áááŸááá«á á¡ááœáŸááºážááœáẠá¡ááŒá¬ážáá±á¬ á¡ááœáŸááºážááá¯ááºáá±á¬ áá±á¬áºáá¶áá»á¬ážáááºáž áá«áááºááá¯ááºáááºá áá±ážááŒááºážáá»ááºáá»á¬ážááᯠá¡ááŸáááºááŒáŸáá·áºááẠá¡ááœáŸááºážááᯠáááºáááá¬ážááŒáá·áº ááŒá¬ážááŒááºááá¯ááºáááºá á¡ááœáŸááºážááááºážááœáẠááááºážáááºážáá¬ážáá±á¬ áá±á¬ááºáááºáá±á¬áºáá¶á¡áá»á¬ážáá¯á¶ážá¡áá±á¡ááœááºáá²á·ááá¯á·áá±á¬ á¡ááœáŸááºážááááºážáá»á¬ážá¡ááœáẠááá·áºáááºáá»ááºáá»á¬ážá áœá¬ááŸááááºá ááá¯á·á¡ááŒááºá á¡ááœáŸááºážáá»á¬ážááŸáá áºááá·áº áá±ážááŒááºážááŸá¯áá»á¬ážááẠá¡ááŒá¬ážáá±á¬ RDBMS áá»á¬ážáá²á·ááá¯á· ááá¯ážááŸááºážáááºááá¯ááºáá«á
âCloud Spanner ááẠááŸá¬ážáá«ážáá±á¬ááá
á¹á
áá»á¬ážááœááºáᬠá¡ááœáŸááºážáá
áºáá¯ááᯠá¡ááá¯á¡áá»á±á¬ááºááœá±ážáá»ááºáááºá á¡áá°ážáááŒáá·áºá Cloud Spanner ááẠááááºážáááºážáá¬ážááŒááºážáááŸááá±á¬ áá±á¬áºáá¶áá»á¬ážááᯠquery áá
áºáá¯á០áá±á¬ááºážááá¯áá«á áá¯áááá¡ááœáŸááºážááᯠá¡ááá¯á¡áá»á±á¬ááºááœá±ážáá»ááºáááºááá¯ááºáá«á
- áááºáá±á¬ááºááŸá¯á¡ááá·áºááá±á¬áá°áá®áá»áẠ(SLA)- SLA 99,99% ááŒáá·áº áá±ááá áºáá¯ááœáẠááŒáá·áºáá»ááºááŸá¯á 99,999% SLA ááŒáá·áº áá±ááá±á«ááºážá á¯á¶ ááŒáá·áºáá»ááºááŸá¯áá»á¬ážá SLA ááá¯ááºááá¯ááºá ááá±á¬áá°áá®áá»ááºáá áºáá¯áá»áŸáá¬ááŒá áºááŒá®áž áááºááá·áºá¡á¬ááá¶áá»ááºááŸááá¯ááºáá±á¬áºáááºážá Google ááŸááá°áá»á¬ážááẠááá¯ááá¯á·áá±á¬ááŒááºážáááºáá±á¬áá±á¬ááºážááá¯ááŸá¯ááá¯ááŒá¯áá¯ááºááẠáááºáá²áá±á¬áá±áá¬á¡áá»áá¯á·ááŸááááºáᯠáá»áœááºáá±á¬áºáá¯á¶ááŒááºáá«áááºá (ááá¯ážáá¬ážáááºá¡ááœááºá 99,999% ááẠáá áºááá»áŸáẠáááºáá±á¬ááºááŸá¯ááááŸáááá¯ááºááá·áº 26,3 á áá¹ááá·áºááᯠááá¯ááá¯áááºá)
- ááá¯áá»á¬ážáá±á¬:
https://cloud.google.com/spanner/
ááŸááºáá»ááº: Apache Tephra ááá±á¬áá»ááºááẠApache HBase ááá¯á· ááá¯ááá¯áá±á¬ááºážááœááºáá±á¬ ááœá±áá±ážááœá±áá° áá¶á·ááá¯ážááŸá¯ áá¶á·ááá¯ážáá±ážááẠ(ááá¯áááºáž Apache Phoenix ááœáẠáá®áá¬á¡ááŒá Ạá¡áá±á¬ááºá¡áááºáá±á¬áºáá±áááº)á
3. áá»áœááºá¯ááºááá¯á·áá¡áá²ááŒááºáá»ááº
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·á¡á¬ážáá¯á¶ážááẠCloud Spanner áá¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážá¡ááŒá±á¬ááºáž Google ááá±á¬ááºážááá¯áá»ááºáá»á¬ážááá¯áááºááŸá¯ááŒá®ážááŒá áºááẠ- ááŒáá·áºáá¬ážáá±á¬ááá¯ááºáá»á±á¬áá®ááœá±ááŸáááŒá®ážá¡ááœááºááŒáá·áºáá¬ážáá±á¬ SLA ááá¯ááááºážááááºážáá¬ážá ááºááœáẠá¡ááá·áºá¡áááºáááŸá á¡áá»á¬ážááá¯ááºá áá±ážáá»ááŒááºážááᯠáá¯á¶ážááá®ážáá«ážáááºááŸá¯ááŒá®ážáá«ááŒá®á á€ááá¯á¡ááºáá»ááºáá»á¬ážááẠáááºááá¯á·áááºááŒá áºá á± á¡á±á¬ááºááŒááºááẠá¡ááœááºáááºáá²áá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·á áááºááŸááºážáá»ááºááŸá¬ áááºážááá¯á·á¡á¬áž ááŒááºáááºáá»á±ááááºááá¯ááºáá±á áááºážá¡á á¬ážá áá±áá¬áá±á·á áºá¡áá¯á¶ážááŒá¯áá°á¡áá»á¬ážá ᯠá¡áá±ážáá¬ážáá±á¬ á¡ááŒá¬ážá¡áá¬áá»á¬áž- áá®áá»áŸááŸá¯ááŸáá·áº á¡áá¯á¶ážááŒá¯ááá¯ááºá áœááºážááá¯á·ááᯠá¡á¬áá¯á¶á áá¯ááºááŒáá«á áá¯á·á
Sharded MySQL á¡ááœáẠCloud Spanner ááᯠáá»áœááºá¯ááºááá¯á· á¡áá²ááŒááºáá«áááºá
Google Cloud SQL ááŸáá·áº Amazon AWS RDSá cloud á á»á±ážááœááºááœáẠáá°ááŒáá¯ááºá¡áá»á¬ážáá¯á¶áž OLTP DBMS ááŸá áºáá¯ááœáẠá¡ááºá¹áá«áááºáá»á¬ážá áœá¬ááŸááááºá ááá¯á·áá±á¬áºá á€áá±áá¬áá±á·á áºáá»á¬ážááᯠnode áá áºáá¯áá¡ááœááºá¡á á¬ážáááºáá»á±á¬áºááœááºáááºá áááºááẠapplication partitioning ááá¯áá¯ááºáá±á¬ááºáááºááá¯á¡ááºáááºá á€áá»ááºážáááºááŸá¯ááẠá¡ááá®áá±ážááŸááºážáá»á¬ážááŸáá·áº á á®áá¶ááá·áºááœá²ááŸá¯ááŸá áºáá¯áá¯á¶ážá¡ááœáẠáááºáá±á¬ááºážááŸá¯ááºááœá±ážááŸá¯ááᯠáááºáá®ážáá±ážáááºá Spanner ááẠáá»á¬ážá áœá¬áá±á¬ shards á¡áá»á¬ážá¡ááŒá¬ážááᯠinstance áá áºáá¯áááºážá¡ááŒá Ạáá±á«ááºážá ááºááŒááºážá á¡ááŒá±á¡áá±ááœáẠá¡á¶áááºááœááºáá»ááŒá áºááŒá®áž áááºááá·áºá¡ááºá¹áá«áááºáá»á¬áž (ááŸááá«á) á áá±ážááẠááá¯á¡ááºáááºááᯠáá»áœááºá¯ááºááá¯á· ááŒáá·áºááŸá¯áá²á·áá«áááºá
SQLá DML ááŸáá·áº DDL áá¶á·ááá¯ážááŸá¯á¡ááŒáẠáá»áááºáááºáááááá¬ááŸáá·áº á á¬ááŒáá·áºááá¯ááºáá»á¬ážáá¬ážá
ááááŠážá áœá¬á áááºááá·áºáá±áá¬áá±á·á áºááŒáá·áºá áááºáá±á¬á¡áá«á áááºáááºáá±áá¬áá±á¬áºáááºáá áºáá¯áááºáá®ážáááºááá¯á¡ááºáááºá JDBC Spanner ááᯠááá·áºá áááºááŒáá¯áẠSQL tool ááá¯á· áá»áááºáááºááá¯ááºáááºáᯠáááºáá°ááá«á áááºážááŸáá·áº ááá·áºáá±áá¬ááᯠáá±ážááŒááºážááá¯ááºáá±á¬áºáááºáž ááá¬ážáá áºáá¯áááºáá®ážááẠááá¯á·ááá¯áẠááŒááºáááºááŒááºáž (DDL) ááá¯á·ááá¯áẠááá·áºááœááºáž/á¡ááºááááº/áá»ááºááŒááºážá¡ááœáẠáááºážááᯠá¡áá¯á¶ážáááŒá¯ááá¯ááºáá«á áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž (DML)á Google áááá¬ážááẠJDBC ááẠáááºážááŸá áºáá¯áá¯á¶ážááᯠááá¶á·ááá¯ážáá«á
"áá¬ááºáá±á¬ááºážáá»á¬ážááẠDML ááá¯á·ááá¯áẠDDL áá¯ááºááŒááºáá»ááºáá»á¬ážááᯠáá±á¬áá±á¬ááẠááá¶á·ááá¯ážáá«á"
Spanner á á¬ááœááºá á¬áááºáž
GCP ááœááºááá¯ážááºááœáẠá¡ááŒá±á¡áá±á ááá¯áá±á¬ááºážáááºááá¯ááºáá« - áááºááẠSELECT áá±ážááŒááºážááŸá¯áá»á¬ážááá¯áᬠáá±ážááá¯á·ááá¯ááºáá«áááºá áá¶áá±á¬ááºážá
áœá¬áá² ááœá±áá±ážááœá±áá°áá»á¬ážá¡áá«á¡ááẠá¡ááá¯ááºá¡áááºážá០DML ááŸáá·áº DDL á¡ááœáẠáá¶á·ááá¯ážááŸá¯ááŸááá±á¬ JDBC driver áá
áºáá¯ááŸááááºá
Cloud Spanner á áááºááŒáá¯áẠAPI áá»á¬ážááᯠáááŒá áºááá±á¡áá¯á¶ážááŒá¯ááŒááºážááẠ(JDBC ááœáẠDDL ááŸáá·áº DML áááŸáááŒááºážááŒá±á¬áá·áº) áá»áááºáááºááŸá¯áá±á«ááºážáááºáá»á¬áž ááá¯á·ááá¯áẠáá±áá¬áá±á·á áºáá»áááºáááºááŸá¯áá±á¬ááºáá»á¬áž (á¥ááᬠSpring MVC) áá²á·ááá¯á·áá±á¬ áááºá ááºáá¯ááºá§áááá¬áá»á¬ážá¡ááœáẠááá·áºáááºáá»ááºá¡áá»áá¯á·ááᯠááŒá áºáá±á«áºá á±áááºá áá¯á¶ááŸááºá¡á¬ážááŒáá·áºá JDBC ááá¯á¡áá¯á¶ážááŒá¯ááá·áºá¡áá«á á ááºážáááºááŒá®áž áá±á¬ááºážááœááºá áœá¬á¡áá¯ááºáá¯ááºááá·áº áááºááŸá áºáááºáá±á¬áá»áááºáááºááŸá¯áá±ááẠ(á¥ááᬠHikariCPá DBCPá C3PO á áááºááŒáá·áº) ááᯠááœááºáááºá áœá¬ááœá±ážáá»ááºááá¯ááºáááºá á áááºááŒáá¯áẠSpanner APIs áá»á¬ážááœááºá áá»áœááºá¯ááºááá¯á·ááá¯ááºááá¯áẠáááºáá®ážáá¬ážáá±á¬ áá°áá±á¬ááºáá»á¬áž/á ááºážááŸá±á¬ááºááŸá¯ááá¯ááºáᬠá¡á á¯á¡áá±ážáá»á¬áž/áááºááŸááºáá»á¬ážááᯠá¡á¬ážááá¯ážááá«áááºá
áááºááá±á¬á· (PC) áááá¯ááŒá¯áá®ááá¯ááºážááẠCloud Spanner á¡á¬áž PC ááŸáá áºááá·áº áá±áá¬ááá°ááá·áºá¡áá« á¡ááœááºáá»ááºááŒááºá á±ááẠááœáá·áºááŒá¯áá±á¬áºáááºáž á¡áá»áá¯á·áá±á¬ á á¯á¶á ááºážááŸá¯ááŒá¿áá¬áá»á¬ážááá¯áááºáž ááááºáááºáá±ážáá«áááºá
- áááºááá±á¬á·áááºááá¯ážááᯠá¡ááºááááºáá¯ááºááááá«á áá°áááºáž PC á០entry ááᯠáá»ááºááŒá®áž value á¡áá áºááŒáá·áº ááŒááºááá·áºááá«áááºá (áááºážááẠá¡ááŒá¬ážáá±á¬ PC áŠážáááºáá±á¬ áá±áá¬áá±á·á áº/ááá¯ááŸá±á¬ááºááŸá¯á¡ááºáá»ááºáá»á¬ážááŸáá·áº áááºáá°áááºá)
- UPDATE ááŸáá·áº DELETE áá¯ááºááŒááºáá»ááºááá¯ááºážááẠáááºááá·áºáá±áá¬ááœáẠPC ááá¯áááᯠáááºááŸááºááááºááŒá áºááŒá®ážá ááá¯á·ááŒá±á¬áá·áº áá¯ááºááŒááºáá»ááºá¡á¬ážáá¯á¶ážááᯠáá»ááºááẠá¡áá»ááºážááŸá®ážáááŒá áºááá¯ááºáá« - á¡áá±ážá áááºáá±ážááœááºážáá áºáᯠá¡ááŒá²ááŸáááá«áááºá á¥ááá¬- UPDATE xxx WHERE ID IN (SELECT id á០table1)
- PC á¡ááœááºá¡ááœáẠsequence ááᯠáááºááŸááºáá±ážááá·áº á¡ááá¯á¡áá»á±á¬áẠááá¯ážáá±ážááá·áº ááœá±ážá áá¬áááŸáááŒááºáž ááá¯á·ááá¯áẠá¡áá¬ážáá°á¡áá¬áá»á¬ážá áááºážááá¯áá¯ááºáá±á¬ááºáááºá¡ááœááºá áááºááá¯ááºáá¬áááºááá¯ážááᯠá¡ááá®áá±ážááŸááºážáááºááœáẠáááºáá®ážááá«áááºá
á¡áááºáááºáž á¡ááœáŸááºážááááºážáá»á¬áž
Google Cloud Spanner ááœáẠáá¯áááá¡ááœáŸááºážááááºážáá»á¬ážá¡ááœáẠbuilt-in áá¶á·ááá¯ážááŸá¯ááŸááááºá á€áááºááŸá¬ á¡ááŒá¬ážáááºážááá¬áá»á¬ážááœáẠá¡ááŒá²áááŸááá±á¬ á¡ááœááºáá±á¬ááºážááœááºáá±á¬ á¡ááºá¹áá«áááºáá áºáá¯ááŒá áºáááºá Apache Kudu ááẠáááºááŸáááœáẠáá¯áááá¡ááœáŸááºážááááºážáá»á¬ážááᯠáá¯á¶ážáááá¶á·ááá¯ážáá«á ááŸáá·áº Apache HBase ááẠá¡ááœáŸááºážáá»á¬ážááᯠááá¯ááºááá¯ááºááá¶á·ááá¯ážáá«á ááá¯á·áá±á¬áº áááºážááá¯á·ááᯠApache Phoenix ááŸáááá·áº ááá·áºááá¯ááºáááºá
Kudu ááŸáá·áº HBase ááŸá á¡ááœáŸááºážáá»á¬ážááᯠáááºááá±á¬á·áá»á¬ážá ááœá²ááŒá¬ážáá±á¬ááœá²á·á ááºážááŸá¯ááŒáá·áº áá®ážááŒá¬ážááá¬ážáá áºáá¯á¡ááŒá Ạá á¶ááá°áá¬áá°ááá¯ááºáá±á¬áºáááºáž áááºáááá¬ážááœáẠáá¯ááºáá±á¬ááºáá²á·áá±á¬ á¡ááºáááºááŸáá·áº áááºá ááºá¡ááœáŸááºážááá¬ážáá»á¬ážááᯠá¡ááá®áá±ážááŸááºážá¡ááá·áºááœáẠáá¯ááºáá±á¬ááºááááºááŒá áºááŒá®áž ááŸááºáááºá áœá¬á¡áá±á¬ááºá¡áááºáá±á¬áºááẠá¡áá±ážá¡ááœá²ááá¯ááºáá«á
Cloud Spanner ááŒááºáááºáá¯á¶ážáááºááŸá¯ááœáẠáá±á¬áºááŒáá¬ážááá·áºá¡ááá¯ááºážá áááºážáá¡ááœáŸááºážáá»á¬ážááẠMySQL á¡ááœáŸááºážáá»á¬ážááŸáá·áº ááœá²ááŒá¬ážááá¯ááºáááºá ááá¯á·ááŒá±á¬áá·áºá ááá¯á¡ááºáá±á¬áá±áá¬ááœáẠááá·áºáá»á±á¬áºáá±á¬á¡ááœáŸááºážááᯠá¡áá¯á¶ážááŒá¯ááŒá±á¬ááºážáá±áá»á¬á á±ááẠáá±ážááŒááºážáá»ááºáá»á¬ážááŸáá·áº áááá¯ááá¯ááºááá¯áááºáá±á¬ááºááá·áºá¡áá« á¡áá°ážááá¯ááŒá¯ááá·áºáááºá
ááá¯ááºá á¬ážááŒá¯ááŸá¯?
áá±áá¬áá±á·á áºáá áºáá¯ááœáẠá¡ááœááºáá±áááºážá á¬ážááŒá®áž á¡áá¯á¶ážáááºáá±á¬ á¡áá¬áá áºáá¯ááŸá¬ á¡ááŒááºáá»á¬ážááŒá áºáááºá áááºážááá¯á·ááẠá¡áá¯á¶ážááŒá¯ááŸá¯á¡áá»á¬ážá¡ááŒá¬ážá¡ááœáẠá¡áá¯á¶ážáááºááá¯ááºáááºá áá»áœááºá¯ááºá¡ááŸá áºáááºáá¯á¶áž ááŸá áºáá¯ááŸá¬ áá¯áá¹áááá±áááá¯ááºáᬠabstraction á¡ááœáŸá¬ááŸáá·áº áá¯á¶ááŒá¯á¶áá±ážá¡ááœáŸá¬ááŒá áºáááºá áá¶ááá±á¬ááºážá áœá¬ááŒáá·áºá Cloud Spanner ááẠááŒáá·áºááŸá¯ááŸá¯áá»á¬ážááᯠááá¶á·ááá¯ážáá«á ááá¯á·áá±á¬áºá ááŒáá·áºááŸá¯ááŸá¯áá»á¬ážááẠá¡áá¬ážá¡áá¬ááŸááá±á¬ ááŒá±ááŸááºážáá»ááºááŒá áºááá¯ááºááá·áº áá±á¬áºáá¶á¡ááá·áºááœáẠáááºáá±á¬ááºááœáá·áºááœáá·áºááŒá¯áá»ááºá¡ááœáẠá¡áá±ážá áááºáááŸááá±á¬ááŒá±á¬áá·áº áááºážááẠáá»áœááºá¯ááºááá¯á·ááᯠáá áºá áááºáá áºááá¯ááºážáᬠááá·áºáááºáá¬ážáááºá
ááœá²áááºážááŸáá·áº ááá·áºáááºáá»ááºáá»á¬ážááᯠá¡áá±ážá
áááºáá±á¬áºááŒááá·áºá¡ááá¯ááºážá¡ááœáẠCloud Spanner á
á¬ááœááºá
á¬áááºážááᯠááŒáá·áºáá« (
ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±áž á¡áá±á¬ááºá¡áá¶á· ?
Cloud Spanner ááẠáááºážá API ááŸáá·áº áá¯ááºáá±á¬ááºáááºá¡ááœáẠá¡ááœááºáá±á¬ááºážááœááºáá±á¬ áááá¯ááááºážáááºážáá¬áá¬á áá¬áž áá¶á·ááá¯ážááŸá¯ááᯠáá±ážáá«áááºá ááá¬ážáááºáá¶á·ááá¯ážáá¬ážáá±á¬á á¬ááŒáá·áºááá¯ááºáá»á¬ážááẠC#á Goá Javaá node.jsá PHPá Python ááŸáá·áº Ruby áááºáááºáá»á¬ážááœááºááŒá áºáááºá á á¬ááœááºá á¬áááºážááẠá¡ááœááºá¡áá±ážá áááºááŒá áºáá±á¬áºáááºáž á¡ááŒá¬ážá¡ááá·áºááŒáá·áºáááºážááá¬áá»á¬ážáá²á·ááá¯á·áááºá áá°áá¯á¶ážá¡áá»á¬ážáá¯á¶ážáá±áá¬áá±á·á áºáááºážááá¬áá»á¬ážááŸáá·áºááŸáá¯ááºážááŸááºáá«á á¡ááá¯ááºážá¡ááá¯ááºážááẠá¡ááœááºáá±ážáááºáá±á¬ááŒá±á¬áá·áº á¡áá¯á¶ážáá»á¬ážáá±á¬á¡áá¯á¶ážááŒá¯ááŸá¯áááºážáá«ážáá±á¬ááá á¹á áá»á¬áž ááá¯á·ááá¯áẠááŒá¿áá¬áá»á¬ážááá¯ááŒá±ááŸááºážáá¬ááœáẠá¡áá»áááºááá¯ááŒá¬ááœá¬ážááá¯ááºáááºá
áá®áá±á¬á· áá±áááœá¶á·ááŒáá¯ážáá±ážááᯠáá¶á·ááá¯ážáá±ážááá¯á·áá±á¬á
áá¯ááºá¡ááœááºážááœáẠCloud Spanner ááŒá
áºáááºáá
áºáá¯ááᯠáááºáá®ážááẠáááºážáááºážááŸá¬áááœá±á·áá«á áá»áœááºá¯ááºááá¯á·áááŸááá±á¬ á¡áá®ážá
ááºáá¯á¶ážá¡áá¬ááŸá¬ Docker áá¯á¶ááŒá
áºáááºá
á¡á¯ááºáá»á¯ááºáá±áž áá¶á·ááá¯ážááŸá¯ ?
Cloud Spanner á¥ááá¬ááá¯áááºáá®ážááŒááºážááẠá¡ááœááºááá¯ážááŸááºážáá«áááºá áááºááẠáá±ááá±á«ááºážá á¯á¶ ááá¯á·ááá¯áẠáá±ááá áºáá¯áááºáž áá¬áááá áºáá¯áááºáá®ážáááºá áá±á(áá»á¬áž) ááŸáá·áº node á¡áá±á¡ááœááºááᯠáááºááŸááºáááºáᬠááá¯á¡ááºáááºá áá áºáááá áºáááŒáá·áºáá®ááœááºá áááºáá¥ááá¬ááẠáááºáááºáá±áááá·áºáááºá
á¡ááŒá±áᶠáááºááá áºá¡áá»á¬ážá¡ááŒá¬ážááᯠGoogle Console ááŸá Spanner á á¬áá»ááºááŸá¬á០ááá¯ááºááá¯ááºááŒáá·áºááŸá¯ááá¯ááºáááºá áááºááẠáááºááá áºá¡ááá·áºáááºááŸááºáá»ááºáá»á¬ážááŸáá·áº ááááá±ážáá»ááºáá°áá«ááá»á¬ážááᯠáááºááŸááºááá¯ááºááá·áº Stackdriver ááŸáá áºááá·áº ááá¯ááá¯á¡áá±ážá áááºááŒáá·áºááŸá¯ááŸá¯áá»á¬ážááᯠáááŸáááá¯ááºáááºá
á¡áááºážá¡ááŒá áºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááœáá·áºááŸááá«ááá¬ážá
MySQL ááẠá¡áá¯á¶ážááŒá¯áá°ááœáá·áºááŒá¯áá»ááº/á¡áááºážááá¹ááá»á¬ážá¡ááœáẠáá»ááºááŒáá·áºááŒá®áž á¡ááœááºá¡áá±ážá áááºáááºáááºáá»á¬ážááᯠáá±ážáá±á¬ááºáááºá áá®ážááŒá¬ážááá¬ážáá áºáá¯ááá¯á· áááºáá±á¬ááºááœáá·áº ááá¯á·ááá¯áẠáááºážááá±á¬áºáá¶áá»á¬ážá á¡ááá¯ááºážááœá²áá áºáá¯ááá¯ááẠá¡ááœááºááá° á á®á ááºáááºááŸááºááá¯ááºáááºá Cloud Spanner ááẠááá·áºá¡á¬áž á¡ááœááºááŒáá·áºáá¬ážáá±á¬á¡ááá·áºááœáẠáá°áá«ááá»á¬ážááŸáá·áº ááœáá·áºááŒá¯áá»ááºáá»á¬ážááá¯áᬠáááºááŸááºááœáá·áºááŒá¯ááá·áº Google á Identity & Access Management (IAM) áááááá¬ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡ááŒááºážáá»ááºážáá¯á¶ážááœá±ážáá»ááºááŸá¯ááŸá¬ áá¯ááºáá¯ááºááŸá¯á¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á á¡áá»á¬ážá á¯ááŸáá·áº áááá¯ááºáá®ááá·áº áá±áá¬áá±á·á áºá¡ááá·áº ááŒááºáááºááŒááºáá¬ážááŸá¯ááŒá áºáááºá á€ááá·áºáááºáá»ááºááẠááá·áºá¡á¬áž áááºááá¯ááºá á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ ááá¯á·ááá¯áẠSpanner á¡áááºážá¡ááŒá áºáá»á¬ážááᯠááœáá·áºááŒá¯áá»ááºáááŸááá² á¡áá¯á¶ážááŒá¯ááŒááºážá០áá¬ááœááºááẠáá±á¬ááºáááºáá¯á¶ááŒá¯á¶áá±ážá¡á á®á¡áá¶áá»á¬ážááᯠááá·áºááœááºážááá¯ááºážá á±áá«áááºá
á¡áááºáá»á¬áž?
ááá¯ážááá¯ážááŸááºážááŸááºážááŒá±á¬ááá»áŸáẠCloud Spanner ááœáẠá¡áááºáá°ážáá°ááŸá¯áá»á¬áž áááŸááá«á Google á ááŒáá·áºáá¬ážáá±á¬ SLA ááá¯á¡ááºáá»ááºáá»á¬ážááẠáá¬á·ááºáá² ááá¯á·ááá¯áẠáá±áá¬áá±á·á áºáá»áá¯á·ááœááºážááŸá¯á áá°áá¬ážá¡ááŸá¬ážá¡ááœááºážáá»á¬ážá á¡ááá®áá±ážááŸááºážáá»áá¯á·ááœááºážáá»ááºáá»á¬ážá áááºááá¯á·ááŒá±á¬áá·áº ááá·áºáá±áá¬áá»á¬áž ááá¯á¶ážááŸá¯á¶ážááŒá±á¬ááºáž áá±áá»á¬á á±ááá¯ááºáááºá á ááºážáá»ááºážááᯠáá»áœááºá¯ááºááá¯á·á¡á¬ážáá¯á¶ážáááááº- ááŒáá·áºáá¬ážáá±á¬áááŸáááá¯ááºááŸá¯ááẠá¡áá¶á¡áááºááááºážááŸá¯áá»á°áá¬á¡ááœáẠá¡á á¬ážááá¯ážááá¯ááºáá«á áááºááŸáááœááºá áá±áá¬ááᯠá¡áááºáá°ážááẠáá áºáá¯áááºážáá±á¬áááºážáááºážááŸá¬ áá±áá¬áá±á·á áºáá áºáá¯á០áá®ážááŒá¬ážááá¯ááŸá±á¬ááºááŸá¯áááºáááºážáá»ááºááá¯á· áááá¯ááááºááŒáá·áº áá¯ááºááœáŸáá·áºááŒááºážááŒá áºáááºá
áá±ážááŒááºážááŸá¯ á áœááºážáá±á¬ááºáááº
áá±áá¬ááœáá·áºáááºááŸáá·áº á ááºážáááºáá±ážááŒááºážááẠYahoo! Cloud Serving Benchmark á¡á±á¬ááºáá±á¬áºááŒáá«ááá¬ážááœáẠYCSB workload B ááᯠ95% á០5% write ratio ááŒáá·áºááŒááá¬ážáááºá
* load test ááᯠn1-standard-32 Compute Engine (CE) (32 vCPUá 120 GB memory) ááœáẠáá¯ááºáá±á¬ááºáá²á·ááŒá®áž á
ááºážáááºááŸá¯ááŸá¬ á
ááºážáááºááŸá¯áá»á¬ážááœáẠáááºááá·áºá¡áá«á០ááááºááá¯á·ááŸá¯áááŸááá²á·áá«á
** YCSB instance áá
áºáá¯ááœáẠá¡áá»á¬ážáá¯á¶áž thread á¡áá±á¡ááœááºááẠ400 ááŒá
áºáá«áááºá á
á¯á
á¯áá±á«ááºáž 2400 threads áááŸáááẠYCSB tests á parallel instances á
á¯á
á¯áá±á«ááºáž ááŒá±á¬ááºáá¯ááᯠrun ááá«áááºá
á á¶ááŸá¯ááºážááááºáá»á¬ážá á¡áá°ážáááŒáá·áº CPU load ááŸáá·áº TPS áá±á«ááºážá ááºááŸá¯ááá¯ááŒáá·áºáá«á Cloud Spanner á¡ááá¯ááºážá¡áá¬ááẠá¡áá±á¬áºáá±áž áá±á¬ááºážááœááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á· ááŸááºážááŸááºážáááºážáááºáž ááááŒááºááá¯ááºáá«áááºá thread á¡áá»á¬ážá¡ááŒá¬ážá០áááºáá®ážáá¬ážáá±á¬ áá±ážáá¶áá±á¬áááºááᯠCloud Spanner á¡á á¯á¡áá±ážááŸá node á¡áá»á¬ážá¡ááŒá¬ážááŒáá·áº áá±áááá«áááºá latency ááẠá¡ááœááºááŒáá·áºáá¬ážáá¯á¶áááŒá®áž á¡áá°ážáááŒáá·áº 2400 threads ááŒáá·áºáááºáááºáá±á¬á¡áá«á ááá¯ááá¯áááá»áá±á¬ááááºážááá¬ááºážáá»á¬ážáááŸáááẠááœááºáá»á°áá¬á¡ááºáá»ááºá¡áá±ážá á¬áž 6 áá¯ááŒáá·áº ááŒááºáááºá ááºážáááºááẠááá¯á¡ááºáá«áááºá á¡ááŒáá¯ááºá ááºážáááºááŸá¯ 6 áá¯áá«áá±á¬ CE instance áá áºáá¯á á®á¡á á¬áž YCSB á ááºážáááºááŸá¯áá áºáá¯á á®ááᯠáá¯ááºáá±á¬ááºáá«áááºá á€áááºážááŒáá·áºá Cloud Spanner ááŸáá·áº CE á á áºáá±ážááŸá¯áá¯ááºáá±á¬ááºáá±ááá·áº ááœááºáááºáá»áááºáááºááŸá¯ááŒáá·áº Cloud Spanner áá±á¬ááºážááá¯ááŸá¯ latency ááŸáá·áº latency á¡ááŒá¬áž ááœá²ááŒá¬ážááẠááá¯ááá¯ááœááºáá°áá¬áááºááŒá áºáááºá
Cloud Spanner ááẠOLAP á¡ááŒá Ạáááºááá¯á·áá¯ááºáá±á¬ááºááááºážá
ááá¯ááºážááŒá¬ážááŒááºáž?
áá±áá¬áá»á¬ážááᯠáá¯ááºááá¯ááºážááá¯ááºáá¬ááŸáá·áº/ááá¯á·ááá¯áẠáá¯áá¹áááááºážáá»áá» áá®ážááŒá¬ážááœá²ááŒááºážááœá²ááŒááºážáá¯áá±á«áºáá±á¬ partitions ááẠOLAP á¡ááºáá»ááºá¡áá»á¬ážá á¯ááœááºááœá±á·ááá±á¬ á¡ááœááºáá±áááºážá á¬ážáá±á¬á¡áá°á¡ááá áºáá¯ááŒá áºáááºá Partitions áá»á¬ážááẠquery performance ááŸáá·áº database ááᯠááááºážááááºážááá¯ááºááŸá¯ááᯠáááá¬áááºááŸá¬ážá áœá¬ ááá¯ážáááºá á±ááá¯ááºáááºá ááá¯ááºážááŒá¬ážááŒááºážááá¯á· áááºáá²ááœá¬ážááŒááºážááẠáá®ážááŒá¬ážáá±á¬ááºážáá«áž(áá»á¬áž) ááŒá áºáá±áááá·áºáááºá ááá¯á·ááŒá±á¬áá·áº á¡ááá¯ááºážááœá²ááŒááºážááŸáá·áº ááœá²ááá¯ááºážááœá²ááŒááºážá¡á á®á¡á ááºááŸáááŒááºážá á¡áá±ážááŒá®ážáá¯á¶ááᯠáá±á¬áºááŒááŒáá«á áá¯á·á áá±áá¬áá»á¬ážááᯠá¡ááá¯ááºážááœá²áá»á¬ážá¡ááŒá Ạááœá²ááŒááºážáᬠá¡ááá¯ááºážááœá²áá»á¬ážá¡áá ááœá²ááŒááºážá áááºááŒá¬ááá¯ááºá áœááºážááẠááœá²ááŒááºážá áááºááŒá¬áá±ážááŒááºážááŸá¯ á áœááºážáá±á¬ááºáááºá¡ááœáẠáá±á¬á·áá»ááºááŒá áºáááºá
Cloud Spanner ááẠááá¯ááá¯á·áá±á¬ á¡ááá¯ááºážáá»á¬ážááᯠááá¶á·ááá¯ážáá«á áááºážááẠdata áá»á¬ážááᯠinternally áá¯áá±á«áºáááºá ááŸá²ááœá¬ážá á±-s ááẠá¡ááááá±á¬á·áá»ááºáá±á¬ááºáá»á¬ážááᯠá¡ááŒá±áá¶áá¬ážáááºá Cloud Spanner á¡á á¯á¡áá±ážááœáẠáááºááá¯áá»áááºááœááºáá»áŸá¬ááŸáááẠá¡ááá¯á¡áá»á±á¬áẠááá¯ááºážááŒááºááŒááºážááᯠáá¯ááºáá±á¬ááºáá«áááºá Cloud Spanner á á¡ááœááºá¡áá¯á¶ážáááºáá±á¬á¡ááºá¹áá«áááºááŸá¬ áááºáááá¬ážáá¡ááŒá±áá¶áááºááᯠááá¯ááºážááŒá¬ážááŒááºáž (á¡ááŒá¬ážááá¬ážáá áºáá¯ááŸáá·áº á áœááºáááºááŸá¯áááŸááá±á¬) ááŒá áºáááºá Spanner ááẠáááºážááœáẠáá«áááºááŒááºážááŸááááŸáááᯠá¡ááá¯á¡áá»á±á¬áẠááááŸááááºá ááŸá²ááœá¬ážá á± á¡ááŒá¬ážáá±áá¬áá»á¬ážááẠáááŒá¬áááááºáá±á¬áá±áᬠááŸá²ááœá¬ážá á±-ah, ááŸáá·áºáá±á¬ááºáááºááœá²ááœá¬ááŒááºážá¡áá±á«áºáá¯á¶ážááŒááºááá¯ááºáá«áááºá á€áááºážá¡á¬ážááŒáá·áºá áá±ážááá¯á·ááŸá¯á¡á¬áž áááá±á¬ááºá áœá¬ ááá¯ážááŒáá·áºá á±ááá·áº áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááœáẠá¡ááᯠnode áá»á¬ážáá«áááºááá¯ááºáááºá
áá±áá¬ááᯠáááºáá±áá¬ážá
áá±áá¬á¡á á¯ááá¯ááºá¡ááœáẠCloud Spanner áááºážáááºážááẠáá¯á¶ááŸááºáááºááŒááºážá¡ááœáẠá¡áá°áá°áááºááŒá áºáá«áááºá á¡ááŒáá·áºáá¯á¶ážá áœááºážáá±á¬ááºáááºááᯠáááŸááááºá¡ááœáẠáááºááẠá¡á±á¬ááºáá«ááá¯á·á¡áá«á¡ááẠáááºážááœáŸááºáá»ááºá¡áá»áá¯á·ááᯠááá¯ááºáá¬ááẠááá¯á¡ááºáá«áááºá
- áááºááá±áá¬ááᯠá¡ááááá±á¬á·ááŒáá·áº á á®áá«á
- áá°ááá¯á·ááᯠ10* áá²á· ááœá²áá«nodes á¡áá±á¡ááœáẠáá®ážááŒá¬ážá¡ááá¯ááºážáá»á¬ážá
- áá±áá¬ááᯠá¡ááŒáá¯ááºáááºááá¯ááºááá·áº á¡áá¯ááºáá¬áááºá¡á á¯á¶ááᯠáááºáá®ážáá«á
á€áá±áá¬ááœáá·áºááŒááºážááẠCloud Spanner node á¡á¬ážáá¯á¶ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠ10M á¡áááºážááá±áá¬á¡ááœá²áá áºáá¯áá¯ááºáá¯ááºááẠYCSB á¡áá¯ááºááẠA ááá¯á¡áá¯á¶ážááŒá¯áá²á·áááºá
* load test ááᯠn1-standard-32 compute engine (32 vCPUá 120 GB memory) ááœáẠáá¯ááºáá±á¬ááºáá²á·ááŒá®áž á
ááºážáááºááŸá¯ááŸá¬ á
ááºážáááºááŸá¯áá»á¬ážááœáẠáááºááá·áºá¡áá«á០ááááºááá¯á·ááŸá¯áááŸááá²á·áá«á
** áá¯ááºáá¯ááºááŸá¯áá¯ááºáááºážáá¬áááºá¡ááœáẠáá
áºáá¯áááºážáá±á¬ node á
áá
áºááá·áºááœááºážááŒááºážááᯠááá±á¬ááºáá¶áá«á
á¡áááºááœááºáá±á¬áºááŒáá²á·ááá·áºá¡ááá¯ááºážá Cloud Spanner ááẠáááºážááá¯á·ááááºá¡á¬ážá¡áá±á«áºá¡ááŒá±áá¶á ááá¯ááºážááŒá¬ážááŸá¯áá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºáá±ážáá±á¬ááŒá±á¬áá·áº áááºááá¯ááºá ááºážáááºááŸá¯á¡ááŒáááºááŒáááºááŒá¯áá¯ááºááŒá®ážáá±á¬áẠááááºáá»á¬ážááá¯ááá¯áá±á¬ááºážááœááºáá¬áááºá á€áá±áá¬ááœááºáááºááŒáá¬ážáá±á¬ááááºáá»á¬ážááẠáá»áœááºá¯ááºááá¯á·áááŸááá±á¬á¡áá±á¬ááºážáá¯á¶ážááááºáá»á¬ážááŒá áºáááºá á¡áááºáá±á¬áºááŒáá« áá¶áá«ááºáá»á¬ážááᯠááŒáá·áºáá«á á¡á á¯á¡áá±ážááŸá node á¡áá±á¡ááœááºáá»á¬áž ááá¯ážáá¬áááºááŸáá·áºá¡áá»áŸ Cloud Spanner ááẠáááºáá²á·ááá¯á· á¡ááá¯ááºážá¡áᬠ(áá±á¬ááºážá áœá¬) ááá¯ááºážáá¬áááºááᯠáá»áœááºá¯ááºááá¯á· ááŒááºááœá±á·ááá¯ááºáá«áááºá áááºááŸá¬ážáá±á¬ ááááºážááá¬ááºážáá»á¬ážááẠá¡áááºáá±á¬áºááŒáá« ááá¹áááœáẠáá±á¬áºááŒáá¬ážááá·áºá¡ááá¯ááºáž áá±á¬ááŸá±á¬áá¬ážáá±á¬ á¡áá¯ááºáá»áááºáá»á¬ážá¡ááœáẠááááºáá»á¬áž (95% áááºááŒá®áž 5% áá±ážáááº) ááŸáá·áº ááá·áºáá»ááºáááºááŒá áºáá±á¬ á¡ááœááºáááá·áºáá±á¬ áá»ááºážáá»áŸááŒá¬áá»áááºáá»á¬ážááŒá áºáááºá
áá»á²á·ááœááºááá¬ážá
Cloud Spanner nodes á¡áá±á¡ááœááºááᯠááá¯ážááŒáŸáá·áºááŒááºážááŸáá·áº áá»áŸá±á¬á·áá»ááŒááºážááẠáá áºáá»ááºááŸáááºáá¯á¶ááŒáá·áº áá¯ááºáá±á¬ááºáááá·áº á¡áá¯ááºááŒá áºáááºá áá±áá¬ááᯠáá»ááºááŒááºá áœá¬ áááºááá¯áá«áá áááºá instance ááᯠá¡ááŒáá·áºáá¯á¶ážááá¯á· ááŒáŸáá·áºáááºááẠ(áá»áœááºá¯ááºááá¯á·á á¡ááŒá±á¡áá±ááœáẠáááºážááẠUS-EAST áá±áááœáẠ25 node áá»á¬ážááŒá áºáááº)á ááá¯á·áá±á¬áẠáá±áá¬á¡á¬ážáá¯á¶ážááŒáá·áºááœá¬ážáááºááŸáá·áº ááá·áºáá¯á¶ááŸáẠload á¡ááœáẠáááºááŸááºáá»ááºááŒáá·áºáá®áá±á¬ node á¡áá±á¡ááœááºááᯠáá»áŸá±á¬á·áá»áá« áá±áá¬áá±á·á áºá 2TB/node ááá·áºáááºáá»ááºááᯠáááºááœáŸááºážáááºá
á¡ááœááºáá±ážáááºáá±á¬ áá±áá¬áá±á·á áºáá áºáá¯ááŒáá·áºááẠá€ááá·áºáááºáá»ááºááᯠáá»áœááºá¯ááºááá¯á·á¡á¬áž áááááááá«áááºá load á ááºážáááºááŸá¯áá»á¬ážá áœá¬ááᯠáá¯ááºáá±á¬ááºááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááá±áá¬áá±á·á áºááẠá¡ááœááºá¡á á¬áž 155 GB ááá·áºááŸáááŒá®áž 1 node instance áá áºáá¯ááá¯á· áá»á²á·ááœááºáá±á¬á¡áá«ááœááºá áá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«á¡ááŸá¬ážá¡ááœááºážááᯠáááŸááá²á·áá«áááºá
áá»áœááºá¯ááºááá¯á·ááẠááŒá
áºáááºáá±á«ááºáž 25 áá¯á០2 áá¯á¡áá áá»áŸá±á¬á·áá»ááá¯ááºáá²á·áá±á¬áºáááºáž node ááŸá
áºáá¯ááœáẠááááºáááá±áá²á·áááºá
Cloud Spanner á¡á á¯á¡áá±ážááŸá node á¡áá±á¡ááœáẠááá¯ážááŒááºážááŸáá·áº áá»áŸá±á¬á·áá»ááŒááºážááᯠREST API ááá¯á¡áá¯á¶ážááŒá¯á á¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºáááºá áááºážááẠá¡áá¯ááºáá»á¬ážáá±á¬ á¡áá¯ááºáá»áááºá¡ááœááºáž ááá¯ážáá»á¬ážáá¬áá±á¬ system load ááᯠáá»áŸá±á¬á·áá»áááºá¡ááœáẠá¡áá°ážá¡áá¯á¶ážáááºáá«áááºá
OLAP áá±ážááœááºážáá»á¬ážá á áœááºážáá±á¬ááºáááºá
áá»áœááºá¯ááºááá¯á·ááẠá€á¡ááá¯ááºážááœáẠSpanner ááᯠá¡áá²ááŒááºáá¬ááœáẠá¡áá»áááºáá»á¬ážá áœá¬ááᯠá¡áá¯á¶ážááŒá¯ááẠáá°áá á á®á ááºáá¬ážáá«áááºá SELECT COUNTs á¡áá»á¬ážá¡ááŒá¬ážááŒá®ážáá±á¬ááºá á ááºážáááºááŒááºážááẠááá¯áá±á¬ááºážáááºááŒá áºááŒá®áž Spanner ááẠOLAP á¡ááœáẠááá·áºáá»á±á¬áºáá±á¬á¡ááºáá»ááºááá¯ááºááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·áá»ááºáá»ááºážááááŸááá¬ážáááºáá«áááºá á¡á á¯á¡áá±ážááŸá áá¶áá«ááºáá»á¬áž áááºááá¯á·áááºááŸáá á±áá¬áá° 10M á¡áááºážááá¬ážááŸá á¡áááºážá¡áá±á¡ááœááºááᯠááœá±ážáá»ááºááŒááºážááẠ55 ááŸáá·áº 60 á áá¹ááá·áºááŒá¬áž ááŒá¬áá«áááºá ááá¯á·á¡ááŒááºá á¡áááºá¡áááºááááºáá»á¬ážááᯠááááºážáááºážááẠáááºááá¯áá®ááá¯ááá¯á¡ááºááá·áº áááºááá·áºáá±ážááœááºážáááᯠOOM á¡ááŸá¬ážááŒá±á¬áá·áº áá¡á±á¬ááºááŒááºáá«á
SELECT COUNT(DISTINCT(field0)) FROM usertable; â (10M distinct values)-> SpoolingHashAggregateIterator ran out of memory during new row.
Todd Lipcon á áá±á¬ááºážáá«ážááœáẠTPC-H á
á¯á¶á
ááºážáá±ážááŒááºážáá»ááºáá»á¬ážá¡ááœáẠáá¶áá«ááºá¡áá»áá¯á·ááᯠááœá±á·ááŸáááá¯ááºáááºá
4. áá»áœááºá¯ááºááá¯á·ááá±á¬ááºáá»ááº
Cloud Spanner á áááºááŸáá¡ááŒá±á¡áá±á¡áá á¡áá°ážáááŒáá·áº áááºáááá¯á¡ááºáá»ááºáá»á¬áž ááá¯ááá¯áá»á¬ážááŒá¬ážáá¬áá±á¬á¡áá«ááœáẠáááºážááẠááá·áºáááºááŸá OLTP ááŒá±ááŸááºážáá»ááºá¡ááœáẠááá¯ážááŸááºážáá±á¬á¡á á¬ážááá¯ážááŸá¯áá áºáá¯á¡ááŒá Ạá áááºáá°ážááŒáá·áºáááºáááºáá²áááºá Cloud Spanner ááá»áá¯á·ááœááºážáá»ááºáá»á¬ážááŸáá·áºáááºáááºá ááŒá±ááŸááºážáá»ááºáá áºáá¯áááºáá±á¬ááºááẠá¡áá»áááºáá»á¬ážá áœá¬áá¯á¶ážá áœá²ááááºááŒá áºáá«áááºá
Cloud Spanner ááᯠá áááºá¡áá²ááŒááºáá±á¬á¡áá«á áááºážá á á®áá¶ááá·áºááœá²ááŸá¯á¡ááºá¹áá«áááºáá»á¬ážááẠá¡ááŒá¬ážáá±á¬ Google SQL ááŒá±ááŸááºážáá»ááºáá»á¬ážááŸáá·áº ááá±ážááœááºážáá±á¬ ááá¯á·ááá¯áẠá¡áááºážáá¯á¶ážáá±á¬á· á¡ááœá¬á¡áá±ážááŸáá·áº áááºážáá°ááŒá áºááẠáá»áŸá±á¬áºááá·áºáá«áááºá ááá¯á·áá±á¬áº áááá¹áá°áá»á¬áž á¡ááŒáá·áºá¡ááááŸáááŒááºážááŸáá·áº á¡áááºážá¡ááŒá áºáá»á¬ážááá¯á· áááºáá±á¬ááºááœáá·áºá¡áá±á«áº á¡ááœááºááá·áºáááºááááºážáá»á¯ááºááŸá¯ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á· á¡á¶á·á¡á¬ážááá·áºáá²á·ááááºá á¡ááŒááºáááŸáá áá±áááœá¶á·ááŒáá¯ážáá±ážáááºáááºážáá»ááºáááŸáá áá¶á·ááá¯ážááá¬ážáá±á¬ á¡ááœá²áá»á¬ážá DML ááŸáá·áº DDL áá¶á·ááá¯ážááŸá¯ááá«áá² JDBC á áááºááá¯á·ááᯠáá±á¬áºááŒááŒááºážááá¯ááºáá«á
áá«ááᯠá¡áá±á¬ááºážá¡áááºáá±áá¬áá±á·á áºááᯠá¡ááá¯ááºážá¡áá¬áá áºáá¯á¡áá ááá¯á¡ááºáá±áá²á·áá°áá áºáá±á¬áẠáááºááá¯ááœá¬ážááá²á á á»á±ážááœááºááœáẠá¡áá¯á¶ážááŒá¯ááŸá¯ááá á¹á á¡á¬ážáá¯á¶ážááŸáá·áº ááá¯ááºáá®ááá·áº áá áºáá¯áááºážáá±á¬ á¡ááŒá±áá áºáᯠáááœá±á·áá«á á¡ááááºááŸáá·áº ááœáá·áºáááºážá¡áááºážá¡ááŒá áºááŒá±ááŸááºážáá»ááºáá»á¬ážá áœá¬ááŸáááẠ(á€áá±á¬ááºážáá«ážááœááºáá±á¬áºááŒáá¬ážááá·áºá¡áá»áá¯á·) áá áºáá¯á á®ááœáẠáááºážááá¯á·áá¡á¬ážáá¬áá»ááºáá»á¬ážááŸáá·áº á¡á¬ážáááºážáá»ááºáá»á¬ážááŸááá±á¬áºáááºáž áááºážááá¯á·á¡áááºá០SaaS ááẠ99,999% SLA ááŸáá·áº ááŒáá·áºáá¬ážáá±á¬ááá¯ááºáááºáá®ááŸá¯ááŒáá·áº SaaS ááᯠááááºážááŸááºážáá«á ááŒáá·áºáá¬ážáá±á¬ SLA ááẠáááºáá¡ááááááºážááá¯ááºááŒá áºááŒá®áž á áááºááŒáá¯áẠcloud á¡á á¯á¶ááá¯ááºááŒá±ááŸááºážáá»ááºáá áºáá¯ááᯠáááºáá±á¬ááºááẠáááá¯áá¬ážáá«áá Cloud Spanner ááẠáááºááŸá¬ááœá±áá±ááá·áºááŒá±ááŸááºážáá»ááºááŒá áºááá¯ááºáá«áááºá áá«áá±ááá·áº áá°á·áá²á· ááá·áºáááºáá»ááºá¡á¬ážáá¯á¶ážááᯠáááá¬ážááá·áºáá«áááºá
ááá¬ážáá»áŸáá
á±áááºá¡ááœááºá Cloud Spanner ááẠ2017 ááœá±áŠážáá±á«ááºááœááºáᬠá¡áá»á¬ážááŒááºáá°ááá¯á· ááŒáá·áºáá»ááá²á·ááŒááºážááŒá
áºááŒá®áž áááºážááááºááŸááá»áá¯á·ááœááºážáá»ááºá¡áá»áá¯á·ááẠáá±á¬ááºáá¯á¶ážááœáẠáá»á±á¬ááºááœááºááœá¬ážááá¯ááºááŒá±á¬ááºáž (áá»áŸá±á¬áºááá·áºáá¬ážáááº) ááŸáá·áº áááºážááá¯á·ááŒá¯áá¯ááºááá·áºá¡áá«ááœáẠáááºážááẠááááºážááŒá±á¬ááºážáá²ááŸá¯áá
áºáᯠááŒá
áºáá¬ááá¯ááºáááºáᯠáá»áŸá±á¬áºááá·áºááẠááá·áºáá»á±á¬áºáá«áááºá áá±á¬ááºáá¯á¶ážááœááºá Cloud Spanner ááẠGoogle á¡ááœáẠáá±ážááœááºááá±á¬áá»ááºáá
áºáá¯áá»áŸáᬠááá¯ááºáá«á Google ááẠáááºážááᯠá¡ááŒá¬áž Google áá¯ááºáá¯ááºáá»á¬ážá¡ááœáẠá¡ááŒá±áá¶á¡ááŒá
Ạá¡áá¯á¶ážááŒá¯áááºá Google ááẠáááŒá¬áá±ážáá®á Google Cloud Storage ááœáẠMegastore ááᯠCloud Spanner ááŒáá·áº á¡á
á¬ážááá¯ážááá¯ááºáá±á¬á¡áá«á Google Cloud Storage ááẠááá¹áá¬áá¯á¶ážááá¯ááºáᬠá
áá±ážáá±á«áºááŸá á¡áá¬ááá¹áá¯áá»á¬ážá
á¬áááºážá¡ááœáẠá¡ááœááºááá¯ááºáá®ááŸá¯ááŸááá¬á
á±ááẠááœáá·áºááŒá¯áá²á·ááẠ(ááá¯á¡áá¬ááẠááá
á¹á
ááá¯ááºáá±ážáá«á
áá®áá±á¬á· áá»áŸá±á¬áºááá·áºáá»ááºááŸááá±ážáááº... áá«ááá¯á·áá»áŸá±á¬áºááá·áºáááºá
áá«áá«áá²á áá±á¬ááºážáá«ážáá±ážáá¬ážáá°áá²á·ááá¯á· áá»áœááºá¯ááºááá¯á·áááºáž áááºáááºáá»áŸá±á¬áºááá·áºáá¬ážáá±á¬áºáááºáž áááºážááŸáá·áºáááºáááºá áááºáááºááá¯á·áááºááŒááºááááºážá ááŸááºáá»ááºáá»á¬ážááœááºáá±ážáá«á
á¡á¬ážáá¯á¶ážááᯠáá¬áá±á¬ááºáá±á·áá¬ááá¯á· ááááºáá±á«áºáá«áááºá
source: www.habr.com