Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Ρ…Π°Π±Ρ€ΠΎΠ²Ρ‡Π°Π½Π΅. БСгодня ΡΡ‚Π°Ρ€Ρ‚ΡƒΡŽΡ‚ занятия Π² ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ курса Β«PostgreSQLΒ». Π’ связи с этим, Ρ…ΠΎΡ‚ΠΈΠΌ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Π°ΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Π²Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡƒ курсу.

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

Π’ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, с ΠΊΠ°ΠΊΠΈΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ SQL-Π±Π°Π·Ρ‹ Π² эру ΠΎΠ±Π»Π°ΠΊΠΎΠ² ΠΈ Kubernetes. А Π·Π°ΠΎΠ΄Π½ΠΎ рассмотрСли, ΠΊΠ°ΠΊ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL ΠΏΡ€ΠΈΡΠΏΠΎΡΠ°Π±Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ ΠΌΡƒΡ‚ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ воздСйствиСм этих Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

Π’Π΅Π±ΠΈΠ½Π°Ρ€ ΠΏΡ€ΠΎΠ²Ρ‘Π» Π’Π°Π»Π΅Ρ€ΠΈΠΉ Π‘Π΅Π·Ρ€ΡƒΠΊΠΎΠ², Google Cloud Practice Delivery Manager Π² EPAM Systems.

Когда Π΄Π΅Ρ€Π΅Π²ΡŒΡ Π±Ρ‹Π»ΠΈ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΠΌΠΈβ€¦

Для Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ вспомним, ΠΊΠ°ΠΊ начинался Π²Ρ‹Π±ΠΎΡ€ Π‘Π£Π‘Π” Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ°. Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, это Π½Π΅ составит Ρ‚Ρ€ΡƒΠ΄Π°, вСдь Π²Ρ‹Π±ΠΎΡ€ Π‘Π£Π‘Π” Π² Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° начинался ΠΈ заканчивался Oracle.

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

Π’ ΠΊΠΎΠ½Ρ†Π΅ 90-Ρ… β€” Π½Π°Ρ‡Π°Π»Π΅ Π½ΡƒΠ»Π΅Π²Ρ‹Ρ…, особого Π²Ρ‹Π±ΠΎΡ€Π°, ΠΏΠΎ сути, Π½Π΅ Π±Ρ‹Π»ΠΎ, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Π΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π‘Π”. Π”Π°, сущСствовали IBM DB2, Sybase ΠΈ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ появлялись ΠΈ исчСзали, Π½ΠΎ Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈ Ρ†Π΅Π»ΠΎΠΌ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π½Π΅ Ρ‚Π°ΠΊ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ Π½Π° Ρ„ΠΎΠ½Π΅ Oracle. БоотвСтствСнно, Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΎΠ² Ρ‚Π΅Ρ… Π²Ρ€Π΅ΠΌΡ‘Π½ Π±Ρ‹Π»ΠΈ Ρ‚Π°ΠΊ ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ завязаны Π½Π° Ρ‚ΠΎ СдинствСнный Π²Ρ‹Π±ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сущСствовал.

Oracle DBA Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΡƒΠΌΠ΅Ρ‚ΡŒ:

  • ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Oracle Server ΠΈΠ· дистрибутива;
  • Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Oracle Server:

  • init.ora;
  • listener.ora;

β€” ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ:

  • Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ пространства;
  • схСмы;
  • ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ;

β€” Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ восстановлСниС;
β€” ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³;
β€” Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ с Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ запросами.

ΠŸΡ€ΠΈ этом ΠΎΡ‚ Oracle DBA особо Π½Π΅ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ:

  • ΡƒΠΌΠ΅Ρ‚ΡŒ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π‘Π£Π‘Π” ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ хранСния ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;
  • ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ (это Π½Π΅ всСгда Π±Ρ‹Π» вопрос DBA);
  • Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, инфраструктуру, ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, ОБ;
  • Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π‘Π£Π‘Π”.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ, Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ Π² Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π°, Ρ‚ΠΎ ΠΎΠ½ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ Π² совСтском ΠΌΠ°Π³Π°Π·ΠΈΠ½Π΅ Π² ΠΊΠΎΠ½Ρ†Π΅ 80-Ρ…:

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

НашС врСмя

Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, разумССтся, Π΄Π΅Ρ€Π΅Π²ΡŒΡ подросли, ΠΌΠΈΡ€ измСнился, ΠΈ стало ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ‚Π°ΠΊ:

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

ИзмСнился ΠΈ Ρ€Ρ‹Π½ΠΎΠΊ Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ свСТСму Π΄ΠΎΠΊΠ»Π°Π΄Ρƒ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Gartner:

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

И здСсь нСльзя Π½Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ свою Π½ΠΈΡˆΡƒ заняли ΠΎΠ±Π»Π°ΠΊΠ°, ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… растёт. Если ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Gartner, ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹:

  1. МногиС Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠΈ находятся Π½Π° ΠΏΡƒΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ±Π»Π°ΠΊΠΎ.
  2. НовыС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ сначала ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ΅Ρ€Π΅Π΅Π΄ΡƒΡ‚ Π² Π½Π΅ΠΎΠ±Π»Π°Ρ‡Π½ΡƒΡŽ инфраструктуру.
  3. Π‘Ρ‚Π°Π»Π° ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ модСль цСнообразования ΠΏΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ pay-as-you-go. ВсС ΠΆΠ΅Π»Π°ΡŽΡ‚ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° Ρ‚ΠΎ, Ρ‡Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ, ΠΈ это Π΄Π°ΠΆΠ΅ ΡƒΠΆΠ΅ Π½Π΅ Ρ‚Ρ€Π΅Π½Π΄, Π° просто констатация Ρ„Π°ΠΊΡ‚Π°.

Π§Ρ‚ΠΎ сСйчас?

БСгодня всС ΠΌΡ‹ Π² ΠΎΠ±Π»Π°ΠΊΠ΅. А Ρ‚Π΅ вопросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ нас ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ, β€” это вопросы Π²Ρ‹Π±ΠΎΡ€Π°. А ΠΎΠ½ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ, Π΄Π°ΠΆΠ΅ Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎ Π²Ρ‹Π±ΠΎΡ€ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π‘Π£Π‘Π” Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ On-premises. А Π΅Ρ‰Ρ‘ Ρƒ нас Π΅ΡΡ‚ΡŒ managed services ΠΈ SaaS. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π±ΠΎΡ€ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π³ΠΎΠ΄ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ услоТняСтся.

Наряду с вопросами Π²Ρ‹Π±ΠΎΡ€Π°, Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΊΡ‚ΠΎΡ€Ρ‹:

  • Ρ†Π΅Π½Π°. МногиС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ стоят Π΄Π΅Π½Π΅Π³;
  • Π½Π°Π²Ρ‹ΠΊΠΈ. Если ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ свободном ПО, Ρ‚ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос Π½Π°Π²Ρ‹ΠΊΠΎΠ², Ρ‚. ΠΊ. бСсплатный софт Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ людСй, Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…, достаточной компСтСнтности;
  • Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π». НС всС сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ доступны Π² ΠΎΠ±Π»Π°ΠΊΠ΅ ΠΈ построСны, скаТСм, Π΄Π°ΠΆΠ΅ Π½Π° Π±Π°Π·Π΅ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Postgres, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Ρ„ΠΈΡ‡Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ Postgres On-premises. Π­Ρ‚ΠΎ сущСствСнный Ρ„Π°ΠΊΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ. Мало Ρ‚ΠΎΠ³ΠΎ, этот Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΏΡ€ΠΈΠΎΠ±Ρ€Π΅Ρ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Π΅ΠΌ Π·Π½Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ скрытых возмоТностСй ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ взятой Π‘Π£Π‘Π”.

Π§Ρ‚ΠΎ ΠΆΠ΄ΡƒΡ‚ сСйчас ΠΎΡ‚ DA/DE:

  • Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π³ΠΎ понимания ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹;
  • умСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ Π‘Π£Π‘Π” с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ поставлСнной Π·Π°Π΄Π°Ρ‡ΠΈ;
  • умСния ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π² контСкстС ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ;
  • умСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ пСрСнос ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ…;
  • умСния Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠΠΈΠΆΠ΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° Π±Π°Π·Π΅ GCP дСмонстрируСт, ΠΊΠ°ΠΊ устроСн Π²Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² зависимости ΠΎΡ‚ ΠΈΡ… структуры:

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² схСмС отсутствуСт PostgreSQL, Π° всё ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ прячСтся ΠΏΠΎΠ΄ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠ΅ΠΉ Cloud SQL. И ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅ΠΌ Π² Cloud SQL, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠΏΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€:

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ всСгда понятСн, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ прилоТСния Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Ρ€ΡƒΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚ΡƒΠΈΡ†ΠΈΠ΅ΠΉ.

Π˜Ρ‚ΠΎΠ³ΠΎ:

  1. Π§Π΅ΠΌ дальшС, Ρ‚Π΅ΠΌ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π΅Π΅ становится вопрос Π²Ρ‹Π±ΠΎΡ€Π°. И Π΄Π°ΠΆΠ΅ Ссли ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° GCP, managed services ΠΈ SaaS, Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π Π‘Π£Π‘Π” появляСтся лишь Π½Π° 4-ΠΌ шагС (Π° Ρ‚Π°ΠΌ Spanner рядом). Плюс, Π²Ρ‹Π±ΠΎΡ€ PostgreSQL появляСтся Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π° 5-ΠΌ шагС, Π° рядом Π΅Ρ‰Ρ‘ MySQL ΠΈ SQL Server, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ всСго ΠΌΠ½ΠΎΠ³ΠΎ, Π° Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ.
  2. НСльзя Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎ ограничСния Π½Π° Ρ„ΠΎΠ½Π΅ соблазнов. Π’ основном, всС хотят Spanner, Π½ΠΎ ΠΎΠ½ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ запрос выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: Β«Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Π½Π°ΠΌ, поТалуйста, Spanner Π½ΠΎ Π·Π° Ρ†Π΅Π½Ρƒ Cloud SQL, Π½Ρƒ Π²Ρ‹ ΠΆΠ΅ профСссионалы!Β»

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

А Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ-Ρ‚ΠΎ?

НС прСтСндуя Π½Π° истину Π² послСднСй инстанции, скаТСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

НуТно ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ:

  • ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅ DBA, Π½Π΅Ρ‚ смысла;
  • знания ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° сСйчас ΡƒΠΆΠ΅ нСдостаточно;
  • Π° Π·Π½Π°Ρ‚ΡŒ дСсятки Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ β€” Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

НуТно Π·Π½Π°Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈ Π½Π΅ сколько ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚, Π°:

  • use case Π΅Π³ΠΎ примСнСния;
  • Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ развёртывания;
  • прСимущСства ΠΈ нСдостатки ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²;
  • Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Π΅ ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ осознанный ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈ Π½Π΅ всСгда Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°.

А Π΅Ρ‰Ρ‘ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΌΠΈΠ³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с ETL.

Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ случай

Π’ Π½Π΅Π΄Π°Π²Π½Π΅ΠΌ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ бэкСнд для мобильного прилоТСния. К ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρƒ Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Π½ΠΈΠΌ бэкСнд ΡƒΠΆΠ΅ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΡŽ, Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ»Π° Π½Π° этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠΊΠΎΠ»ΠΎ Π΄Π²ΡƒΡ… Π»Π΅Ρ‚. ΠŸΡ€ΠΈ этом Π±Ρ‹Π»ΠΈ поставлСны ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ CI/CD;
  • ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ review Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹;
  • Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ всё это Π² ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ.

Π‘Π°ΠΌΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ микросСрвисным, Π° ΠΊΠΎΠ΄ Π½Π° Python/Django Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ с нуля ΠΈ сразу Π² GCP. Π§Ρ‚ΠΎ касаСтся Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΠΈ, Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²Π° Ρ€Π΅Π³ΠΈΠΎΠ½Π° β€” US ΠΈ EU, Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ распрСдСлялся Ρ‡Π΅Ρ€Π΅Π· Global Load balancer. ВсС Workloads ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ Π² Google Kubernetes Engine.

Π§Ρ‚ΠΎ касаСтся Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ 3 структуры:

  • Cloud Storage;
  • Datastore;
  • Cloud SQL (PostgreSQL).

Как Π²Ρ‹ΠΆΠΈΡ‚ΡŒ SQL-Π±Π°Π·Π΅ Π² 21 Π²Π΅ΠΊΠ΅: ΠΎΠ±Π»Π°ΠΊΠ°, Kubernetes ΠΈ PostgreSQL multimaster

ΠœΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ вопрос, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ Cloud SQL? Говоря ΠΏΠΎ ΠΏΡ€Π°Π²Π΄Π΅, Ρ‚Π°ΠΊΠΎΠΉ вопрос Π² послСдниС Π³ΠΎΠ΄Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ Π½Π΅Π»ΠΎΠ²ΠΊΡƒΡŽ ΠΏΠ°ΡƒΠ·Ρƒ β€” Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΎΡ‰ΡƒΡ‰Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ люди стали ΡΡ‚Π΅ΡΠ½ΡΡ‚ΡŒΡΡ рСляционных Π±Π°Π·, Π½ΠΎ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ ΠΈΡ… Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ;-).

Π§Ρ‚ΠΎ касаСтся нашСго случая, Ρ‚ΠΎ Cloud SQL Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ:

  1. Как Π±Ρ‹Π»ΠΎ упомянуто, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π»ΠΎΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Django, Π° Π² Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ модСль отобраТСния постоянных Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· SQL-Π±Π°Π·Ρ‹ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Python (Django ORM).
  2. Π‘Π°ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π» достаточно ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ список Π‘Π£Π‘Π”:

  • PostgreSQL;
  • MariaDB;
  • MySQL;
  • Oracle;
  • SQLite.

БоотвСтствСнно, PostgreSQL Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΈΠ· этого пСрСчня скорСС ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ (Π½Ρƒ Π½Π΅ Oracle ΠΆΠ΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ, Π² самом Π΄Π΅Π»Π΅ ).

Π§Π΅Π³ΠΎ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π»ΠΎ:

  • ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² 2-Ρ… Ρ€Π΅Π³ΠΈΠΎΠ½Π°Ρ…, Π° Π² ΠΏΠ»Π°Π½Π°Ρ… появился 3-ΠΉ (Азия);
  • Π‘Π” Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»Π°ΡΡŒ Π² сСвСроамСриканском Ρ€Π΅Π³ΠΈΠΎΠ½Π΅ (Iowa);
  • со стороны Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° присутствовали опасСния насчёт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ с доступом ΠΈΠ· Π•Π²Ρ€ΠΎΠΏΡ‹ ΠΈ Азии ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΠ΅Π² Π² обслуТивании Π² случаС простоя Π‘Π£Π‘Π”.

ΠŸΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сам Django ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с нСсколькими Π‘Π” ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈ записи, записи Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ (Π±ΠΎΠ»Π΅Π΅ 90 % β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅). И Π² ΠΎΠ±Ρ‰Π΅ΠΌ, ΠΈ Π² Ρ†Π΅Π»ΠΎΠΌ, Ссли ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ read-Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ основной Π±Π°Π·Ρ‹ Π² Π•Π²Ρ€ΠΎΠΏΠ΅ ΠΈ Азии, это Π±Ρ‹Π»ΠΎ Π±Ρ‹ компромиссным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Ну Π° Ρ‡Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ слоТного?

А ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ использования managed services ΠΈ Cloud SQL. А возмоТности Cloud SQL Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹. Cloud SQL ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ High availability (HA) ΠΈ Read Replica (RR), Π½ΠΎ Ρ‚Π° ΠΆΠ΅ RR поддСрТиваСтся лишь Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ€Π΅Π³ΠΈΠΎΠ½Π΅. Π‘ΠΎΠ·Π΄Π°Π² Π‘Π” Π² амСриканском Ρ€Π΅Π³ΠΈΠΎΠ½Π΅, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ read-Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ Π² СвропСйском Ρ€Π΅Π³ΠΈΠΎΠ½Π΅ срСдствами Cloud SQL нСльзя, хотя сам постгрСс этого Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡΠΊΠ° с сотрудниками Google Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΈ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ обСщаниями Π² стилС Β«ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π°Π΄ Π½Π΅ΠΉ, ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ вопрос Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΡ‘Π½Β».

Если ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ возмоТности Cloud SQL тСзисно, Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ:

1. High availability (HA):

  • Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π°;
  • посрСдством дисковой Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ;
  • Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ PostgreSQL;
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ автоматичСскоС ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ β€” failover/failback;
  • ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π‘Π£Π‘Π” нСдоступна Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΈΠ½ΡƒΡ‚.

2. Read Replica (RR):

  • Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ€Π΅Π³ΠΈΠΎΠ½Π°;
  • hot standby;
  • PostgreSQL streaming replication.

К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΊΠ°ΠΊ это принято, ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ всСгда ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅ΡˆΡŒΡΡ с ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ограничСниями:

  • Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» ΠΏΠ»ΠΎΠ΄ΠΈΡ‚ΡŒ сущности ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IaaS, ΠΊΡ€ΠΎΠΌΠ΅ ΠΊΠ°ΠΊ Ρ‡Π΅Ρ€Π΅Π· GKE;
  • Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ self service PostgreSQL/MySQL;
  • Π½Ρƒ ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, Google Spanner Π²ΠΏΠΎΠ»Π½Π΅ Π±Ρ‹ подошСл, Ссли Π±Ρ‹ Π½Π΅ Π΅Π³ΠΎ Ρ†Π΅Π½Π°, ΠΏΡ€Π°Π²Π΄Π°, с Π½ΠΈΠΌ Django ORM Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚, Π° Ρ‚Π°ΠΊ ΡˆΡ‚ΡƒΠΊΠ°-Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ.

Учитывая ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΎΡ‚ Π·Π°ΠΊΠ°Π·Ρ‡ΠΈΠΊΠ° поступил вопрос Π½Π° засыпку: «А ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ, ΠΊΠ°ΠΊ Google Spanner, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Π΅Ρ‰Ρ‘ ΠΈ с Django ORM?Β»

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β„– 0

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡˆΠ»ΠΎ Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ:

  • ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… CloudSQL;
  • встроСнной Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π³ΠΈΠΎΠ½Π°ΠΌΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π½ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅;
  • ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΏΠ»ΠΈΠΊΡƒ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Cloud SQL by PostgreSQL;
  • Π³Π΄Π΅-Ρ‚ΠΎ ΠΈ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ инстанс PostgreSQL, Π½ΠΎ хотя Π±Ρ‹ master Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Ρ‚ΡŒ.

Π£Π²Ρ‹, оказалось, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСльзя, Ρ‚. ΠΊ. Π½Π΅Ρ‚ доступа ΠΊ хосту (ΠΎΠ½ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅) β€” pg_hba ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, Π° Π΅Ρ‰Ρ‘ Π½Π΅Ρ‚ доступа ΠΏΠΎΠ΄ superuser.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β„– 1

ПослС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½Ρ‹Ρ… Ρ€Π°Π·ΠΌΡ‹ΡˆΠ»Π΅Π½ΠΈΠΉ ΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π² Ρ…ΠΎΠ΄ мысли нСсколько измСнился:

  • всё Ρ‚Π°ΠΊΠΆΠ΅ пытаСмся ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… CloudSQL, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° MySQL, Ρ‚. ΠΊ. Ρƒ Cloud SQL by MySQL Π΅ΡΡ‚ΡŒ external master, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ:

β€” являСтся proxy для внСшнСго MySQL;
β€” выглядит ΠΊΠ°ΠΊ инстанс MySQL;
β€” ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π½ для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±Π»Π°ΠΊΠΎΠ² ΠΈΠ»ΠΈ On-premises.

Π’Π°ΠΊ ΠΊΠ°ΠΊ настройка Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ MySQL Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ доступа ΠΊ хосту, Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ всё Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. А ΠΊΠΎΠ³Π΄Π° пошли дальшС, стало ΠΈ вовсС ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, Ρ‚. ΠΊ. ΠΌΡ‹ всю структуру Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π»ΠΈ terraform’ом, Π° Π²Π΄Ρ€ΡƒΠ³ оказалось, Ρ‡Ρ‚ΠΎ external master Π½Π΅ поддСрТиваСтся terraform’ом. Π”Π°, Ρƒ Google Π΅ΡΡ‚ΡŒ CLI, Π½ΠΎ ΠΏΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΈ Ρ‚ΡƒΡ‚ всё Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π· β€” Ρ‚ΠΎ создаётся, Ρ‚ΠΎ Π½Π΅ создаётся. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ CLI ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π»ΠΈ для ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… снаруТи, Π° Π½Π΅ для Ρ€Π΅ΠΏΠ»ΠΈΠΊ.

БобствСнно, Π½Π° этом стало понятно, Ρ‡Ρ‚ΠΎ Cloud SQL Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‚ слова совсСм. Как говорится, ΠΌΡ‹ сдСлали всё, Ρ‡Ρ‚ΠΎ смогли.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ β„– 2

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Cloud SQL Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ трСбования ΠΊ компромиссному Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ. ВрСбования оказались ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

  • Ρ€Π°Π±ΠΎΡ‚Π° Π² Kubernetes, максимальноС использованиС рСсурсов ΠΈ возмоТностСй Kubernetes (DCS, …) ΠΈ GCP (LB, …);
  • отсутствиС балласта ΠΈΠ· ΠΊΡƒΡ‡ΠΈ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π²Π΅Ρ‰Π΅ΠΉ Ρ‚ΠΈΠΏΠ° HA proxy;
  • Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² основном Ρ€Π΅Π³ΠΈΠΎΠ½Π΅ HA PostgreSQL ΠΈΠ»ΠΈ MySQL; Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π³ΠΈΠΎΠ½Π°Ρ… β€” HA ΠΈΠ· RR основного Ρ€Π΅Π³ΠΈΠΎΠ½Π° плюс Π΅Ρ‘ копию (для надёТности);
  • multi master (ΡΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌ Π½Π΅ Ρ…ΠΎΡ‚Π΅Π»ΠΎΡΡŒ, Π½ΠΎ это Π±Ρ‹Π»ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ)

.
Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ этих Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ Π½Π° Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ†-Ρ‚ΠΎ появились подходящиС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Π‘Π£Π‘Π” ΠΈ обвязки:

  • MySQL Galera;
  • CockroachDB;
  • PostgreSQL tools

:
β€” pgpool-II;
β€” Patroni.

MySQL Galera

ВСхнология MySQL Galera Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Codership ΠΈ прСдставляСт собой plugin for InnoDB. ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ:

  • multi master;
  • синхронная рСпликация;
  • Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ с любого ΡƒΠ·Π»Π°;
  • запись Π½Π° любой ΡƒΠ·Π΅Π»;
  • встроСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ HA;
  • Π΅ΡΡ‚ΡŒ Helm chart ΠΎΡ‚ Bitnami.

CockroachDB

По описанию Π²Π΅Ρ‰ΡŒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ бомбичСская ΠΈ прСдставляСт собой open source-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, написанный Π½Π° Go. Основной участник β€” Cockroach Labs (основана Π²Ρ‹Ρ…ΠΎΠ΄Ρ†Π°ΠΌΠΈ ΠΈΠ· Google). Π­Ρ‚Π° рСляционная Π‘Π£Π‘Π” ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ создана Π±Ρ‹Ρ‚ΡŒ распрСдСлённой (с Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ») ΠΈ отказоустойчивой. Π•Ρ‘ Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΈΠ· ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ»ΠΈ Ρ†Π΅Π»ΡŒ Β«ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ богатство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ SQL с Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒΡŽ, ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΉ для NoSQL-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉΒ».

Из приятного бонуса β€” ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° постгрСсного ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Pgpool

Π­Ρ‚ΠΎ надстройка Π½Π°Π΄ PostgreSQL, Π½Π° самом Π΄Π΅Π»Π΅, новая ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π°Ρ Π½Π° сСбя всС соСдинСния ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΈΡ…. Π˜ΠΌΠ΅Π΅Ρ‚ свой Π»ΠΎΠ°Π΄ балансСр ΠΈ парсСр, лицСнзируСтся ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ BSD. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠ΅ возмоТности, Π½ΠΎ выглядит нСсколько ΠΏΡƒΠ³Π°ΡŽΡ‰Π΅, Ρ‚. ΠΊ. Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ сущности ΠΌΠΎΠ³Π»ΠΎ ΡΡ‚Π°Ρ‚ΡŒ источником Π½Π΅ΠΊΠΈΡ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

Patroni

Π­Ρ‚ΠΎ послСднСС, Π½Π° Ρ‡Ρ‚ΠΎ ΡƒΠΏΠ°Π» взгляд, ΠΈ, ΠΊΠ°ΠΊ оказалось, Π½Π΅ зря. Patroni β€” опСнсорсная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, которая, ΠΏΠΎ сути, прСдставляСт собой Π΄Π΅ΠΌΠΎΠ½ Π½Π° Python, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ автоматичСски ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ кластСры PostgreSQL с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π΅ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ автоматичСским ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€ΠΎΠ»Π΅ΠΉ. Π¨Ρ‚ΡƒΠΊΠ° оказалась ΠΎΡ‡Π΅Π½ΡŒ интСрСсной, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ…ΠΎΡ€ΠΎΡˆΠΎ интСгрируСтся с ΠΊΡƒΠ±Π΅Ρ€ΠΎΠΌ ΠΈ Π½Π΅ нСсёт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π½ΠΎΠ²Ρ‹Ρ… сущностСй.

Π§Ρ‚ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ

Π’Ρ‹Π±ΠΎΡ€ давался нСпросто:

  1. CockroachDB β€” огонь, Π½ΠΎ стрёмно;
  2. MySQL Galera β€” Ρ‚ΠΎΠΆΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ, ΠΌΠ½ΠΎΠ³ΠΎ Π³Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½ΠΎ MySQL;
  3. Pgpool β€” ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡˆΠ½ΠΈΡ… сущностСй, Ρ‚Π°ΠΊ сСбС интСграция с ΠΎΠ±Π»Π°ΠΊΠΎΠΌ ΠΈ K8s;
  4. Patroni β€” прСкрасная интСграция с K8s, Π½Π΅Ρ‚ Π»ΠΈΡˆΠ½ΠΈΡ… сущностСй, Ρ…ΠΎΡ€ΠΎΡˆΠΎ интСгрируСтся с GCP LB.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ°Π» Π½Π° Patroni.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΡ€ΠΈΡˆΠ»Π° ΠΏΠΎΡ€Π° подвСсти ΠΊΡ€Π°Ρ‚ΠΊΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΈ. Π”Π°, ΠΌΠΈΡ€ ИВ-инфраструктуры сущСствСнно помСнялся, ΠΈ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΎ. И Ссли Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΎΠ±Π»Π°ΠΊΠ° Π±Ρ‹Π»ΠΈ лишь Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ‚ΠΈΠΏΠΎΠΌ инфраструктуры, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ всё ΠΈΠ½Π°Ρ‡Π΅. Мало Ρ‚ΠΎΠ³ΠΎ, ΠΈΠ½Π½ΠΎΠ²Π°Ρ†ΠΈΠΈ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ… ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ постоянно, ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠ°Ρ… ΠΈ лишь ΠΏΠΎΡ‚ΠΎΠΌ, силами стартапов, Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒΡΡ Π² On-premises.

Π§Ρ‚ΠΎ касаСтся SQL, Ρ‚ΠΎ SQL Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠΈΡ‚ΡŒ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ PostgreSQL ΠΈ MySQL Π½Π°Π΄ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ Π½Π°Π΄ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ, Π½ΠΎ Π΅Ρ‰Π΅ Π²Π°ΠΆΠ½Π΅Π΅ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com