á°áá áŤáĽáŽáŞáľáľá˘ á á°áááśáŁ á á˛áľ áŽááśá˝ á ááááŠá áľ ááá áá á áľá°áłá˝ áááŽá˝á ááŤááá˝áá áĽáááĽáááᢠááŹáŁ á á°áá ááĽááá°áŁ áľáá
ááą á¨á°ááá¨á áľ áá áá á á°ááá áá áľá ááá ááááľ áľááá á ááľ á˝áá á°áááááá˘
á ááááŞáŤ á¨áłá°áá á
á ááá ááŞáŤ áá á¸ááťáŞáá˝áŁ áŹáľáśáŤá°áŽá˝ áĽá á¨ááľáá áá ááá´áá˝ á¨á°ááŤáŠ á°áá áá á¨á°áá°á¨áą á¨POS áááľááá˝á á¨ááŤááἠáŠáŁá፠áĽáá°ááá áá á Lightspeed áá°ááŤáŠ á¨ááĽááľáŁ áľáá°ááá˝ áĽá á¨ááá á á ááá ááłáŽá˝ á¨á°ááŤáŠ á áááľ á¨ááἠááł ááľá¨áŽá˝á áá áááᢠáĽááá
á¨áá¨á ááľ ááľá¨áŽá˝ áĽáŤááłááłá¸á á¨áŤáłá¸á áĽááŤáŹáá˝ áĽá áľáááśá˝ á áá¸áá˘áľááá
ááá ááááľ áľáááá ááá ፠á˛áŤáľá°ááá
- á áááááą á¨áá¨á ááľ á áá á¨áá
á ááľ áłáá°á á¨áááłáá á°áľá á°áŞ áŁá
áŞáŤáľ áááłá áŤáá°áá°á á¨á ááľá ááá áĽá á¨99,999% á¨á áááááľ á°á¨á áľááááľ (SLA)ᢠáĽáˇá á áĽáá˝á áááŤá áĽáľáá ááá á ááťááá!
áľá ááááľ áľááá áŤááá áááľ áĽá áĽáá˛áá á¨á°á ááááŁá¸áá á¨áááá ááľáááśá˝ á á ááá áĽááł áááľá áľ á¨áá¨á°ááľá áááśá˝ áĽáá¸ááááá˘
- á¨áĽá á¨áááá ááľáááľ
- ááááľ áľááá áŁááŠ
- á¨áĽá áááá
- á¨áĽá áááśá˝
1. á¨áĽá á¨áááá ááľáááľ
á¨ááááľ áľáááá áááá áááłáŁ á°ááłáłáááľ áĽá á áá ፠áá áŤá ááá˝ áááľááá˝ áá áŤááá ááŠááľ á¨áááá¨áłá˝á á ááľ á ááááŞáŤ ááááľ áľáááá á áá á¨á° áááłá˝á ááľáĽ á¨áľ áá°ááŤáľ áĽááłááĽá á¨áááľ ááľáĽ áľááľáᣠáľá áá áá á¨á á ááá ááłáŽá˝ áĽáááááá˘
- á(áŤá) áŁá áá á¨SQL áłáłá¤á áááľá ááľá áá
- áĽáá° OLAP á¨áá OLTP áááľá
ááľáłááť: ááááťá¸á ááá áá ááŁáĽá ááááľ áľáááá á¨áá˛á ááááľ SQL áĽá Amazon AWS RDS á¨áááľá á¤á°á°áŚá˝ MySQL ááŠááśá˝ áá áŤááłáľáŤáá˘
ááŁá áá á¨SQL áłáłá¤á áááľá ááľá Cloud Spanner áá áá
á á áŤáŁá˘á áŁá áá á¨áá¨á ááśá˝áŁ á¨ááἠááł áá áá á¨ááá˝ áá á˛áá¨áĽ ááá á áľááľá á¨á°ááášáľ á¨áá°áá áŞáŤ áá°áŚá˝ (á áááááľ á á°á áááá˝ áĽá/ááá áĽáŤááá˝ áá¨áá ááááŤáľ) á˛áŤááᣠá¨ááá˝ ááá áá° á°ááŁáááľ á°á¨ááá˝ áááááľ áĽá ááááśá˝ á áᢠááá áĽáá á áĽááááš áĽááá áááľááá˝ á áĽá áŁáá áááŁáľá áŤáŤáľáłá.
áááłáᣠá¨ááá°á°á á¨ááááŞáŤá áĽááá á¨á°ááŤáŠ á¨á ááťá¸á áá á¨á°ááá á¨ááἠááł á ááĽáŽá˝á áááá¨áľ áĽá á¨áá°áá áŞáŤ á á ááá áááłá á áŚá˝á á á°áťá áááł áĽáá˛áááľ ááľá¨á ááᢠáá á á áŤááá á¨ááἠááłáá á á ááŁá ááá á á ááľá ááááŤáľ ááá¨áĽ áá˝áá.
á áááŹá˝áá á¨á ááľá¨á á¨á ááááŠá ááłá ááááá áá ááááŁá á°áááś á°á¨á᪠ááŽá°á°á/áŽááľáŁá°á¨á᪠RAMáŁááŁá áá¨ááťáŁááá°.á°á¨á᪠á¨áááľáá ááĽááśá˝á áá¨áá á¨ááἠááł á ááťá¸áá áá¨ááŤááŁá áááááľ á á°á¨ááľ ááĽááśá˝ áĽá á OLTP áľáááśá˝ á¨ááĽááľ áááá¨áľ áŤáľá¨áľááᢠáĽáá° MySQL ááŹáľ áŤá á°ááá á¨ááἠááł áĽáááśá˝ (áŁááĽá-áá á ááŤá¨áĽá á¨áá áá) á áĽáŠ áááł á á ááŁáá˘
á áá á ááŤá¨áĽ áá á ááŤáł áľáááśá˝ á á, ááá áá á áŁá ááá˝ á¨ááá á áá ፠áá áŤáá á¨áá°áá á¨á áááá áá á áá. á áá´ áľáá á¨á áááá áá áá°áĽ áá á¨á°á¨á° á ááľ ááááľ áĽáť áááŤáᥠááŹá áá° ááá˘
áľáŹá-áá áĽá á ááááŽá˝ á˛á¨áአá ááľáá áá á ááťá¸áá ááá¨áá áĽá á ááááŽá˝á áá° áááľá°á á¨áá¨áá á áŤááľ ááᢠá áĽááá áŁá áá á¨áá¨á ááľ á˛áľá°áá˝ á á°áἠá ááááá ááá á¨ááś á áááááᢠáááłáᣠMySQL á¨áŁáŞáŤ á ááŁá˘áá˝á á áá¨á áááŁáĽ ááááá˝ áá°á áá˝ááᣠááá áá áááá áľáŤáá˝ áááá á áá˝ááá˘
á áá á áŠáᣠá á°ááĽáŽá ááááŤáľáŁ Cloud Spanner á áľááš áŁáá ááĽááľ á ááá á á ááľá áá፠áá˝ááá˘
áá á°áááś á¨áá¨á DBMS áĽáá° á áááááľ á¨á°ááŤá¨ á á áŁáŤ ááááá á áá áľá˘ áĽáá° áá°á¨áľ, á á°áá ááľáĽ á áŁá áłáá á¨áááá DBMS ááľá°áá - á Google, GCP Cloud SQL áĽá Amazon, AWS RDS. á ááááá˝áᣠá áá¨á°ááľ ááľáŚá˝ áá á á°áŠá¨á áá áá˘
- á¨áŁá ᪠áŤááłáĄ SQL áľááľáŁ DDLᣠDML; á¨áááááľ á¤á°-ááťáááľ / áááááá˝, á¨ááĽááľ áľáá, ááá°.
- á¨áááľ áľáá: á¨áááľ áĽá á¨áá°á áááááľ.
- á¨á áľá°áłá°á áľááᥠá¨á áĽááľ á áľá°áłá°á áĽáá° áá°áá/áá°áłá˝ ááłá°á áĽá áááłáá˝á ááťáťáᤠSLA, ááľáŹ áĽá ááá; á¨á°á áááľ / á¨ááłá¨áť áááŁá áŞáŤ.
ááááľ áľáááá áĽáá° OLAP á¨áá OLTP áááľá áá áá
ááá ááááľ áľááá ááľááłá áááá á ááá áŁáááá˝á á ááłááľ áŁá áŞáŤáľá áááá˝ áĽáá° Apache Impala & Kudu áĽá YugaByte áOLAP á¨áľáŤ áŤááá˝ á¨á°áá°á áá°áŽá˝ áá áŤáŤáááá˘
ááááľ áľááá ááĽááľ áŤáá ááá-áá á¤á˝á˛á¤á (áľáĽáá ááĽááľ/á áááá˛á ááŽá°á˛áá) áá°áá á¨(á¨áĽá ááá áŁáá°) áĽá á áá ááá á¨áá˝á á¨OLAP áŁá ᪠áľáĽáľáĽá á¨ááŤá°áľ áĽáľá áľáá˝ á˘áááᣠáľáŠá¨áłá˝áá á¨ááľáĽ áááľáááá˘
áá á á á áĽááŻá˝á áááᣠá¨áá¨á°ááľá ááľáŚá˝ á°áááá°ááá˘
- á¨ááἠááŤá, á˘áá´ááśá˝ áĽá ááááá áľáá
- á¨áĽáŤá á ááťá¸á áĽá á˛á¤áá¤á
2. ááááľ áľááá áŁááŠ
ááá áľááá ááá ááĽá á¨áŤáą á áááááśá˝ á¨áá ááá áľ á¨á°á°áŁá ᨠá¨áááááľ áłáłá¤á á áľá°áłá°á áľáááľ (RDBMS) ááᢠááá á 2017 ááááŞáŤ áá áGoogle Cloud Platform á°á áááá˝ á áá áĽáá˛áá á áľáááá˘
á ááłááľ á¨ááááľ áľááá áŁá áŞáŤáľ áĽáááááĄ
- á¨áá°á ááĽááľ áŤááᣠáá፠á¨áá˝á RDBMS áááľá°áᥠá¨ááἠááĽááľá ááá¨ááἠá¨áááľáá áá áááłá°áá áá áááá˘
- á¨á á¨á´á á°áťá᪠á¨ááĽááľ áľááᥠááĽááśá˝ áĽá á áá á¨áŚá˝á áá¸áá áá˝áá - á¨ááľ á á ááľ á áá á¨áĽ áĽáť á¨á°áá°á á áá°áá (áĽáá° Apache HBase ááá Apache Kudu á á°áá¨)á˘
- á áá ááá áá á¨á°áá°á¨áą á áá á¨áŚá˝áĄ ááá á áá á¨áŚá˝ á¨áłáá áá ááá (áá˛) áááŤá¸á áááŁáᣠáĽáąá á ááŤáł á¨á°áá á¨áĽ á ááśá˝á ááá áá˝ááᢠá¨á°áá á¨áĄ áá¨á á áᲠá
á°á á°á¨á°á á°ááá§áᣠáá
á ááᲠááááá˝ á áŁá áááŁá áĽá ááŁá áŤá°ááááᢠáá áĽáá°ááá˝ áᲠáá á¨á°áá°á¨áą áľáááśá˝áŁ á áááá ááľá á¨áłá°á áŁá¸á á¨á á ááá ááłáŽá˝ áá ááá°á á áá áľá˘
ááἠá ááťá¸á . - á¨á°áŁáŠ á á¨á´ááá˝: á á¨á´ááá˝ áĽááľ á áĽááłá¸á á áŤáá áĽáá áááŤá¸á áá˝áá. á¨áá á á¨á´á á¨áľáá˝ á¨ááá á á¨á´áá á¨áľáá˝ áá áááłá°á áá˝áá. áá á ááŤá¨áĽ á áá¨á áá´á á°á¨á áá ááá°á á¨áá˝á áááááśá˝á áááá áŤááĽáá, áááłá á°áá áá˝á áĽá á°á¨á°ááťá¸áá á ááľ áá á˛áŤáľáááĄ.
- á˘áá´ááśá˝áĄ Cloud Spanner ááá°á á°á¨á á˘áá´ááśá˝á áá°áááᢠá˘áá´ááľ á¨á°á áá á ááśá˝ áĽá áááá á¨áᲠá ááśá˝ áŤáŤáľáłáᢠáĽáá° á ááŤáᣠáá¨á á ááá ááá˝ á áá áŤááá á ááśá˝á ááá áá˝ááᢠáá ááá˝á áááá á áá¨á á ááá á¨ááá á áá á¨áĽ áá ááŁáá áá˝ááᢠá áá¨á á áá ááľáĽ áááᥠá¨áá˝á á¨áá°áá á°á¨á᪠áááśá˝ á ááłá°á á˘áá´ááśá˝ áá á ááŤáł áá°áŚá˝ á°ááťá ááááᢠáĽáá˛ááᣠá áá¨á á áááá˝ á¨áááᥠáĽáŤááá˝ áĽáá°ááá˝ RDBMSáá˝ ááĽá°á áááá áá˝ááá˘
âááááľ áľááá á˘áá´ááľá á¨áááá á á áá á áá áĽáť ááᢠá á°áááᣠááááľ áľááá áá áá áŤáá°áááĄáľá á ááśá˝ á¨á á¨á ááá°á á°á¨á áá¨á á ááá á áŤáľ á°á á ááááĽá
- á¨á áááááľ á°á¨á áľááááľ (á¤áľá¤áá¤): áá á ááá ᨠ99,99% SLA áá; áŁááĽá ááá áá°ááŤáľ 99,999% SLA. SLA áŤáą áľááááľ áĽáá á¨áľááá ááááľ ááľáľá áŁááááᣠá¨ááá á°áá˝ áá á á¨áá°á á ááŤáŤ á¨áááŁáá áĽáŤá ááá á¨áĽ á ááłááľ á¨áŁáľ ááἠáĽááłáá¸á á ááááᢠ(áááŁááťáŁ 99,999% áááľ á áá 26,3 á°á¨ááľ á¨á áááááľ á ááł áááľ ááá˘)
- á°á¨ááŞ:
https://cloud.google.com/spanner/
ááľáłááť: á¨Apache Tephra ááŽáááľ á¨áá á¨ááĽááľ áľááá áá° Apache HBase áŤááá (á áá á á ááź ááááľ áĽáá° á áľá-ááááł á°á°ááĽáŻá)á˘
3. á¨áĽá áááá
áľááá ᣠááá˝áá á¨Google ááááŤáá˝á áľá ááááľ áľááá áĽá áá˝ á ááĽá ááá - á¨áá°á ááĽááľ áŤáá áĽá á áŁá á¨áá°á á¨áá SLAᢠááá áĽááłá áĽááá á¨áááŁáá áĽáŤááá˝ á ááááá áááł áááľá¨áľ áĽá á á áŁá á¨áŁáľ á˘ááá ááŁá˝á áĽááąá ááľá áááľá¨á á ááá á¨áᢠáááááľ á áĽáááš á¨ááἠááł á°á áááá˝ áľáŠá¨áľ á áá°áŁá¸á ááá˝ áááŽá˝ áá áĽáá°áŠáᥠáĽáŠáááľ áĽá á á áááá˘
Cloud Spanner ᨠSharded MySQL ááľá áĽáá˛áá á°á¨á á°áĽá°áá
Google Cloud SQL áĽá Amazon AWS RDS, á á°áá áá ፠ááľáĽ á áŁá áłáá á¨áá ᨠOLTP á¨ááἠááłáá˝ ááŤá¨á áááą á áŁá áľáá á¨áŁá ᪠áľáĽáľáĽ á áá¸áᢠááá ááᣠáĽááá á á¨ááἠááłáá˝ á¨á ááľ ááľááá ááááľ áá á ááááᣠá¨áá°áá áŞáŤ ááááá áá¨ááá á ááŚáľá˘ áá á áŤááľ ááááąá áá°áá áŞáŤáá˝ áĽá á áľá°áłá°á á°á¨á᪠ááľáĽáľáĽ áááŽá˝á áááĽáŤá. áľááá áĽá áťááśá˝á áá° á ááľ ááłá á ááŁáá áĽáá´áľ áĽáá°ááľáá áĽá áá á áááľ áŁá áŞáŤáľ (áŤá) ááľáááľ ááá áĽááłáá áľ á°áááá°ááá˘
á SQLᣠDML áĽá DDLᣠáĽáá˛áá áááá áĽá á¤á°-ááťáááľ áľáá?
á ááááŞáŤ á ááááá á¨ááἠááł á˛ááአá¨ááἠáá´á ááá á áŤáľáááááłá. JDBC Spanner á á¨ááľáá°á á¨SQL ááłáŞáŤ áá áááááľ áľá˝ááá áĽáá áŤá°áĽá á áą áááĽá á áá á¨á áĽáá°ááľá˝á áłáááá ááá áá á áá á¨áĽ áááá á ááá ááááá (á˛á¤áá¤á) ááá áááááá ááľááŁáľ/áááá/á°áá ááľá ááá áľ á áľá˝ááᢠáŚááŹá˝áá˝ (á˛á¤áá¤á) á¨ááá áŚáá´áá JDBC áááąáá á áá°áááá˘
"á á˝á¨ááŤáŞáá˝ á á áá áá á¨á˛á¤áá¤áá ááá á¨á˛á˛á¤á ááááŤáá˝á á áá°áááá˘"
Spanner Documentation
áááłá á áá˛á áŽááśá á¨á°áťá á áá°áá - ᨠSELECT áá ááá˝á áĽáť ááá áá˝áá. áĽáá° áĽáľá ááᣠááĽááśá˝á á¨áᎠá¨áá
á á¨á°áĄ á¨á˛á¤áá¤á áĽá á¨á˛á˛á¤á áľáá áŤáá á¨JDBC ášáá á áá˘
á¨ááááľ áľááá áĽá á¤áá ááá˝ (á DDL áĽá á˛á¤áá¤á áĽáĽá¨áľ á JDBC ááľáĽ) á áá´áł áá á¨áĽ á á°ááá á¨áŽáľ áŚáłáá˝ áĽáá° á¨áááááľ áá°áŁá°áĽ ááá á¨ááἠááł áá°áŞáŤ ááááá˝ (áĽáá° áľááŞáá MVC) áŤá á ááłááľ áá°áŚá˝á áŤáľá¨áľááᢠá á á áááᣠJDBCá á˛á ááᣠá¨áááąáľá á¨áááááľ áááł (áááłá HikariCPᣠDBCPᣠC3POᣠááá°.) á¨á°áá¨á¨ áĽá á á°áἠá¨áá°áŤáá áááá¨áĽ áá áááľá˘ áĽá áľááá á¤áá ááá˝á á á°ááá¨á°áŁ áĽáŤáłá˝áá á áá ááá¸á ááááá˝/áá°áŞáŤ/á¨ááá áá áááłáá˝ áá áá°ááá á ááĽáá˘
ááá ááá (áá˛) á°áŽá ááľá ááááľ áľááá á áᲠá áŠá áá¨áá á˛á°ááľ á áŁá ááŁá áĽáá˛áá áŤáľá˝áááᣠááá áá á ááłááľ á¨áĽáŤá á˝ááŽá˝áá áŤáľá°ááááá˘
- á¨áá áááá áá áááá á áá˝áá; ááááŞáŤ á¨ááááŞáŤáá áᲠáá¤áľ áá°á¨á áĽá á á á˛áą áĽá´áľ áĽáá°áá ááľááŁáľ á ááĽááľá˘ (áá á¨ááá˝ áᲠá°áŽá á¨ááἠááł/áá¨ááť áá°áŽá˝ áá á°ááłáłá ááá˘)
- ááááá áááá áĽá á°áá ááááŤáá˝ áá˛áá á WHERE ááľáĽ áááá˝ á ááŁá¸ááŁáľááá áŁáś ááá á áá˝áá áááá ááááŤáá˝ á°áá - áá áá áááľ áá áá ááá á áá áľáŁ áááłáጠá ááá xxx ááłáá፠á¨áᣠ(á¨á áá á¨áĽ1 áá¨áĽ)
- á¨áᲠááľáŠá á á°á á°á¨á°á á¨ááŤááá á¨áŤáľ-ááłáŤ á ááŤá ááá á°ááłáłá ááá á ááááᢠáá áĽáá˛á°áŤ, á°ááłá áĽá´áľ á áá°áá áŞáŤá á áŠá ááá á á áá áľ.
ááá°á á°á¨á á˘áá´ááśá˝?
ááá ááááľ áľááá áááá°á á°á¨á á˘áá´ááśá˝ á áĽáŽ á¨á°á°áŤ áľáá á ááᢠáá áááá á ááá˝ á´áááááá˝ ááľáĽ á¨áááá á áŁá áĽáŠ áŁá ᪠áá. Apache Kudu á á áá áá ááá°á á˘áá´ááśá˝á á áášá á áá°ááá áĽá Apache HBase á˘áá´ááśá˝á á ááĽáł á áá°ááá ááá áá á Apache Phoenix á áŠá ááŤááá¸á áá˝ááá˘
á Kuáą áĽá HBase ááľáĽ áŤá á˘áá´ááśá˝ áĽáá° á°áᨠá áá á¨áĽ ááá¨áš áá˝áá á¨á°ááŤáŠ á¨ááááŞáŤ áááá˝ á ááĽá ááá áá á ááá á á¨á´á áĽá á á°ááá áá፠á°áá á¨áŚá˝ áá á¨á°á¨ááá á°ááŁáŤáľ á°ááłáááľ á á áááŹá˝á á°á¨á áá¨ááá á áá áľ áĽá á áľááá áá°áá á ááá á áá°áá.
á ááááľ áľááá áááá áá áĽáá°á°á áá°á á˘áá´ááśáš ᨠMySQL á˘áá´ááśá˝ áááŤáŠ áá˝ááᢠáľáááá áľáááá á˘áá´ááľ á ááááá áľ áŚáł áĽá á áá áĽáá˛áá áá ááá á ááááŁáľ áĽá á áááá˝ á¨ááľ áአáĽááá áá°á¨á á áá áľá˘
áááá?
á áá¨á ááľ ááľáĽ á áŁá áłáá áĽá á áá ááá áĽááłáá˝ ááᢠááĽá á¨á á ááá ááłáŽá˝ á áá ááá áá˝áá; áááą á°ááłáá˝ á ááááŽá á á¨á áĽáľáľáŤáá˝á ááĽááĽá áĽá á¨á°á áááľ ááĽááĽá áá¸áᢠá¨á ááŁá ááá áá Cloud Spanner áĽááłáá˝á á áá°áááᢠááá ááᣠáĽááłáá˝ á°ááŁáááľ áŤáá áááľá á¨áááá áľ á¨ááłá¨áť áááśá˝ ááá á¨á ááľ-á°á¨á á ááŁáľ áľááá áá á á¨áá áĽáť áááľá ááá˘
áŽáłáá˝á áĽá áá°áŚá˝á áááá¨áá ááá á¨Cloud Spanner á°ááąá áááá¨áą (
á¨áááľ áľáá?
ááááľ áľááá á¨á¤áá á áá á áĽáŽ áááľáŤáľ áĽáŠ á¨ááŽááŤá á ááŁáĽ ááá áľáá áá°áŁáᢠá áá á¨áá°áááľ á¤á°-ááťáááľ á C#ᣠGoᣠJavaᣠnode.jsᣠPHPᣠPython áĽá Ruby á áŤáŁá˘ áá¸áᢠá°ááą á áľááá á°ááááŻááŁááá áá áĽáá°ááá˝ áááá á´áááááá˝ áá á á¨á°áĄ á áŁá áłáá á¨áá á¨áá¨á ááľ á´áááááá˝ áá á˛ááłá°á á áŁá áľáá˝ áááŁáá á áĽá áá áĽá á áá áŁááá ááłáŽá˝ ááá á˝ááŽá˝ áá ááŤá á áá˝ááá˘
áľááá á¨á áŤáŁá˘ áááľ áľáááľ?
á áá˘á ááľáĽ á¨ááááľ áľááá ááłá á¨ááááĽáá áľ ááááľ á áááááᢠáŤáááá á¨áśá¨á ááľá ááá˘
á¨á áľá°áłá°á áľáá?
á¨ááááľ áľááá ááłá ááá á á áŁá ááá ááᢠá¨áĽáá-ááá ááá á¨áá á ááá ááłáá á¨ááá á ááŤá¨á ááá¨áĽ áĽáť áŤáľáááááłáᣠáááá(ášá) áĽá á¨á áááá˝á áĽááľ áááášá˘ á¨á ááľ á°áá áŁáá° áá ááľáĽ ááłáá áááłá áĽá áá°áŤáá˘
á ááŤáł á¨á áá°á á°á¨á áááŞáŤáá˝ á Google Console ááľáĽ á áľááá áá˝ áá á ááĽáł ááááᢠá°á¨á᪠áááá áĽááłáá˝ á Stackdriver á áŠá ááááᣠáĽááŤá ááľáŞá áá°áŚá˝á áĽá á¨ááá፠áááŞáŤáá˝á áááááľ áá˝ááá˘
á¨ááĽáśá˝ ááłá¨áť?
MySQL á°á áĽá á áŁá ááá á¨á°á áá áááľ/áá á ááĽáŽá˝á áŤáááŁáᢠá¨á ááľ á¨á°áá°á á°áá á¨áĽ ááłá¨áťá ááá á¨á ááśášá áááľ áľáĽáľáĽ á ááá áá ááľ áá˝ááᢠááááľ áľááá á¨Google Identity & Access Management (IAM) ááŁáŞáŤá áá áááᣠáá á ááá˛áá˝á áĽá áááśá˝á á á¨áá°á á°á¨á áĽáá˛áŤááá áĽáť ááá áľáááłáᢠá áŁá áĽáá á á¨ááá á ááŤá á¨ááἠááł-á°á¨á áááľ áá, áá á á á áĽááááš á¨áááľ ááłáŽá˝ áá á ááŁáŁáá. áŤáá°ááá° á¨áľááá ááĽáśá˝á ááá¨áá¨á áá áá°áĽ á°á¨á᪠á¨á°á áááľ áĽááááá˝á áá° áŽáľáᣠáá á¨á° áááľá ááá áááąá áĽáá˛áŤáá áŤáľááľáľááłáá˘
ááľáŹ?
á ááá áááľáááĽáŁ á Cloud Spanner ááľáĽ ááá ááľáŹáá˝ á¨ááᢠᨠGoogle á¨áá°á SLA ááľáááśá˝ á áááľáá ááá á¨ááἠááł ááľááśá˝, á¨á°á áľá á°áľ, á¨áá°áá áŞáŤ ááľááśá˝, ááá° ááá ááἠááŁáľ á áá°áá áá¨ááἠáá˝áá á˘ááá, ááá˝áá á°ááĄá áĽááááá: á¨áá°á á°ááááľ áááá á¨áá áŁá á፠áľáľáŤá´á ááá ááľá á áá°áá. á á áá áá á¨ááἠááľáŹá áááľááἠáĽá¸áá ááááľ á¨áá¨á ááą áá° á°áᨠá¨áá¨ááť á áŤáŁá˘ ááŽááŤáá á áá ááááľ ááľá°ááá ááá˘
á¨áĽáŤá á ááťá¸á?
ááἠáááŤá áĽá áĽáŤááá˝á áááá¨á áŤá!á á°á á ááá áłáᢠá¨ááááľ á áááááľ á¤áá˝áááᢠá¨áłá˝ áŤáá á áá á¨áĽ á¨95% á¨ááŁáĽ áĽáľá¨ 5% á¨ááá áĽáááł áŤáá á¨á˘ YCSB á¨áľáŤ áŤá áŤáłáŤáá˘
* á¨ááŤá áá¨áŤá á n1-standard-32 Compute Engine (CE) (32 vCPUsᣠ120GB memory) áá áá á á¨á°áŤáá°á áĽá á¨áá°áá ááłá á áá°ááá˝ ááľáĽ ááá áá á áŤáá
áá˘
** á á ááľ YCSB ááłá ááľáĽ áŤáá á¨áá°áá á¨ááŽá˝ áĽááľ 400 ááᢠá á á ááá 2400 áľáአá¨YCSB áá°ááá˝ á áľáአXNUMX ááŽá˝ ááááľ áá á¨áŁá¸áá˘
á¨á¤áá˝ááá áá¤áśá˝á áľáááá¨áľ á á°ááá á¨á˛áአááľ áĽá TPS áĽááááľáŁ ááááľ áľááá á áĽáŠ áááł áĽáá°áááá á ááá áĽááŤááᢠá á ááŤáł ááŽá˝ á¨á°áá ᨠáľáá áááľ á ááááľ áľááá áááľá°á ááľáĽ áŁá á ááŤáł ááśá˝ á°áľá°áŤáááᢠááá áĽááłá áááá¨áľ á áŁá á¨áá°á á˘ááľáá á á°ááá á 2400 ááŽá˝ áá á˛á°áŤ, á¨á áá áľáááá ááĽáŽá˝á áááááľ á 6 áľááá˝ á¨áŽáááŠá°á áá°áŽá˝ áĽáá°áá ááá¨á á áľááá ááá áá˝áá. áĽáŤááłááą ááłá á¨á ááľ áľáá CE ááłá ááá á ááľ á¨YCSB áá°á á¨6 áľáአáá¨áŤáá˝ áá áŤáŤááłáᢠáá á ááááľ áľááá áááá¨áśá˝ áĽá á Cloud Spanner ááŤá¨á áŁáá á¨á ááłá¨ áá¨áĽ áááááľ áĽá á áá°áá áá áŁáá CE ááłá ááŤá¨á á¨á°á¨áአáááá¨áśá˝á ááá¨áľ ááá áŤá°ááááá˘
ááááľ áľááá áĽáá° OLAP áĽáá´áľ áá°áŤá?
áá¨ááá?
áá¨áá á á áŤá áĽá/ááá á áááŤá áááá°á áááá˝ áááľá áááááá˝ á°áĽáá áá¨ááá á á áĽááááš á¨OLAP áá°áŽá˝ ááľáĽ á¨ááá á áŁá áłáá á˝áá°-ááłáĽ ááᢠáááááŽá˝ á¨áĽáŤá á ááťá¸áá áĽá á¨ááἠááł ááá¨áľá á áĽá á ááŤáťá˝á áá˝ááᢠáá° ááááá á¨á áá ááĽáá áá á¨á°áᨠááŁáĽá(áśá˝) ááááᣠáľááá á¨áá¨áá፠áĽá áľ áĽá áááľ áááááŽá˝á á áľáááááľ áĽáť áĽááĽááľá˘ áá¨áá áá° áááááŽá˝ áĽá áĽáá˛áŤáá áá° áááľ áááááŽá˝ á¨áá¨ááá á˝ááł ááľááłá áĽáŤááá˝ á áááá ááá ááá˘
ááááľ áľááá á áĽáŤááłááą ááá áááá˝á á áá°áááᢠáá¨áá á¨ááľáĽ áá° áá áŤá áááŤá á°áá á- á áá ááá áááá˝ áá á¨á°áá á¨á°á˘ á ááááľ áľááá áááľá°á áá áŤááá á¸áá ááááŁá á ááአá áŤáľ á°á áá¨ááááᢠá áŁá ááš á¨áá á¨ááááľ áľááá áŁá ᪠á¨ááá á á¨á´áá (á¨áá áá áŤáá°á ááá á áá á¨áĽ) á¨áá á¨áľ áááľ áĽá¨á¨áá ááᢠáľááá á ááľáĄ á¨áŤáá á¨áá á áŤáľ-á°á áááááŁá á°áá á á¨ááá áá¨á á á áá á á°á°ááá á¨ááá ἠááἠá°áá á-á á , áĽá á°á¨á᪠áááŤá¨áľ áá áááľá áá˝áá. á áá ááááľáŁ á áĽáŤá ááľáĽ áĽá á áááá˝ ááłá°á áá˝ááᣠáá á á°áá á¨áá¤áľ áá áá á ááᣠáá¨ááŤáá˘
ááἠá ááŤá áá?
áá áá áá¨á á¨ááááľ áľááá áá´ á¨áá°á á á°áá áá á°ááłáłá ááᢠáá¨áá°á á ááťá¸áᣠá¨áá¨á°ááľá á¨áᎠá ááłááľ áááŞáŤáá˝á áá¨á°á áŤáľáááááłááĄ-
- áááĽá á á áá ááá á°ááľáá˘
- á 10* áá¨áááá¸áá¨á áááá˝ áĽááľ á¨ááá°áĽ áááá˝.
- áááĽá á áľáአá¨ááá á¨á°áŤá°á á°ááŁáŤáľ áľáĽáľáĽ ááá áŠá˘
áá á¨ááἠáááľ áááá ᨠCloud Spanner nodes áá áááá˘
á¨10M á¨á¨áľá áłáł áľáĽáľáĽ áááá á á¨YCSB á¨áľáŤ áŤáá á°á á ááá áłáá˘
* á¨ááŤá áá¨áŤá á¨á°áŤáá°á á n1-standard-32 compute engine (32 vCPUsᣠ120 GB memory) á˛áá á¨áá°áá ááłá á áá°ááá˝ ááľáĽ ááá áá á áŤáá
áá˘
** 1 ááľááá ááááľ áááá áááááá á¨áááľ á¨áľáŤ áŤá á ááá¨ááá˘
á¨áá áĽáá°á°áááá ááááľ áľááá áĽáá° á¸ááá¸á áááášá á áŤáľ á°á áŤáŤááłáᣠáľááá áá¤áśáš á¨á ááŤáł á°á¨áłáłá á¨áá°á áľáááá˝ á áá ááťáťááᢠáĽáá á¨áá¨áĄáľ áá¤áśá˝ áĽá áŤáááá¸á ááἠáá¤áśá˝ áá¸á. á¨áá áŤááľá ááĽáŽá˝ áľáááá¨áľ á áááľá°á ááľáĽ áŤááľ á¨á áááá˝ áĽááľ á˛á¨áá ááááľ áľááá áĽáá´áľ áĽáá°áááá áĽááŤááᢠááá°á á¨áłáŠáľ ááĽáŽá˝ áĽá á á áŁá áá á°á á¨á ááŤá áááá¨áľ áá¸áᣠáá á á¨áá áŁáá ááá áĽáá°á°áááá á¨á°á°áŁáá á¨áľáŤ áŤá áá¤áśá˝ (95% ááá ἠáĽá 5% ááťá) áá ááá¨ááá˘
áááŁá á?
á¨ááááľ áľááá ááśá˝á ááĽá áá¨áá áĽá ááááľ á¨á ááľ áá á á áł á°ááŁá ááᢠáá¨áá á ááĽááľ áááŤá á¨ááá ᣠááłááá áá° á¨áá°áá á¨á áááľá¨á áŤáľáĄ áááá (á áĽá áááł á US-EAST ááá ááľáĽ 25 ááśá˝ áá áŠ) áĽá á¨á፠á áá ááá°á á áááľá á°áľáá á¨áá á¨á áááá˝á áĽááľ ááááąá˘ á áá¨á ááą ááľáĽ áŤáá áá¨á ᨠ2 á´áŁ / á¨ááľááá ááááľ áá°áá á¨áááľ ááľáĽ á ááľááŁáľá˘
á áŁá áľáá˝ á áá á¨ááἠááł áĽááłá áá á áá°áĽ á áľáłááľáᢠá¨á ááŤáł á¨áááľ áá¨áŤ áá¨áŤáá˝ á áá á¨ááἠááłá˝á 155 áᢠáŤá á áá áᣠáĽá áá° 1 ááľááá ááááľ á˛ááá á¨áá¨á°áá áľá á°áľ á ááĽáááá˘
ᨠ25 áá° 2 á ááŁááá˝ áá
ááľá¨á á˝ááá, ááá áá á áááľ á áááá˝ áá á°áŁáĽááá.
á ááááľ áľááá áááľá°á ááľáĽ áŤá á¨á áááá˝á áĽááľ ááłá°á áĽá ááááľ REST API á áá áá á áŤáľ á°á áá°á¨á áá˝ááᢠáá á á°áá áĽáŤ á áá áá áľ áá á á˛áľá°á áá áŤááá áááľ áááááľ á áá ááá áá˝ááá˘
á¨OLAP áá áá á ááťá¸á?
á ááááŞáŤ á áá ááá áľáááá áááááá áĽá áá áááłáá á á á°ááᢠá¨áĽááľ 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.
áTPC-H áá ááá˝ á ááłááľ ááĽáŽá˝ á áśáľ áááŽá á˝áá ááľáĽ áááá
4. áááśáťá˝á
á áá áŤáá á¨ááááľ áľááá áŁá áŞáŤáľ áááł á áááᣠáááŁá OLTP áááľá áĽáá° ááá ááľá áá áá¨áľ á¨áŁáľ áááŁá á°ááá ááááśá˝á á˛áŤáľáᢠá ááááľ áľááá áľáááśá˝ ááŞáŤ áááľáá áááááŁáľ áĽá áá áááľáłáá˘
ááááľ áľáááá ááááá áľáááá á¨á áľá°áłá°á áŁá áŞáŤáą á¨ááá˝ á¨Google SQL áááľááá˝ áá áĽáŠá ááá á˘áŤááľ áĽáá á ááá á áĽáá á áĽáá áá áᢠááá áá áá á áá á¨áá áŁá á፠áĽáŚáľ áĽá á¨ááĽáśá˝ ááłá¨áť ááĽáĽá á áŁá ááľá á ááá á áľáááááᢠááá á áááľ áĽááłáá˝á ááĽááľ á áá°áá, ááá á¨á áŤáŁá˘ áááľ á áŤáŁá˘, áŤáá°á°áá á á°á á°á¨á°áá˝, JDBC áŤá á˛á¤áá¤á áĽá Რá˛á¤á áľáá, ááá°.
áľááá ᣠá¨ááĽááľ áłáłá¤á ááŹáľá áááŤáľáááá á°á áá´áľ áááľ á áá áľ? áááá á¨á á ááá ááłáŽá˝ á¨ááľáá á ááľ áἠáááľá á áá ፠áá áĽáľáŤáá áŤá á áááľááᢠáĽá á¨á°áá áĽá áááľ ááá áááľááá˝ á á (á ááłááśáš á áá á˝áá ááľáĽ á°á á á°áá), áĽáŤááłááłá¸á á¨áŤáłá¸á áĽááŤáŹáá˝ áĽá áľáááśá˝ á áá¸á, áá á ááłá¸áá áłá á¤áľá ᨠ99,999% SLA áĽá á¨áá°á á°á¨á áá á áŤáááĄá. á¨áá°á SLA á¨áĽááľá á°ááłá áἠá¨áá áĽá ááĽá á°áááá˝ á¨áŤáľáá áááľá áááááŁáľ ááááľ á¨áááᾠᣠCloud Spanner áĽááľá á¨áááááľ áááľá ááá áá˝ááᢠáá áááá áá°áŚá˝ ááá á ááĽááľá˘
áĽáááąá áááááᣠááááľ áľááá áááἠá¨á°áááá á 2017 á¨á¸á°á áá
áľ áĽáť ááᣠáľááá
á áá áŤááľ á ááłááľ ááľááśá˝ á áá¨á¨áť áá á áá˝áá (á°áľá áĽáá°áááá) áĽá áá á á
ááááŤáłá ááᢠá°ááá ááááľ áľááá áGoogle á¨áá ááŽáááľ áĽáť á áá°ááᢠááá áááá˝ á¨ááá áááśá˝ áá°á¨áľ á áľáá áá ááá áłáᢠáĽá ááá á á
áᥠáááľáśáá á ááá ááááľ áá¨ááť á ááááľ áľááá á˛á°áŤ ááá ááááľ áá¨ááť á á ááá áá á°á¨á ááááŽá˝ áááá á áŁá ááĽááľ áŤáá áĽáá˛áá á áľá˝ááłá (áá
á ááá áĽáá°á á áá°áá
áľááá á ááá á°áľá á á... á°áľá áĽáá°ááááá˘
ááźá áá. áĽáá° ááŁáĽá á°áŤá˛ áĽáá á°áľá áááá˝áá áĽáááĽááá ᣠáá áľááá ááłá áá áŤáľáŁá? á á áľá°áŤá¨áśáš ááľáĽ ááá
ááá á°á á¨áĽáá áĽáá˛áá á áĽáááĽááá
ááá: hab.com