Π½ΠΎΠ²ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΡΠΎ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π‘Π£ΠΠ PostgreSQL, ΡΠ΅ΡΠ°Π²Π°ΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΏΡΠΈΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ ΠΈΠ»ΠΈ Π·Π°ΠΌΡΠ½Π°ΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π°ΡΠ° ΡΡΡΠ³ΠΎΠ²ΡΠΊΠ° ΡΠ°ΠΉΠ½Π°. ΠΠ°Π½Π½ΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠΊΡΠΈΠ²Π°Π½ΠΈ Π½Π° Π»Π΅ΡΠΎ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈ ΡΠΏΠΈΡΡΡΠΈ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ, ΡΠΈΠΈΡΠΎ Π·Π°ΠΏΠΈΡΠ²Π°Π½ΠΈΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Ρ. ΠΠΎΠ΄ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ PostgreSQL.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ΠΎΡΠΎ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Π½Π° ΡΡΠ΅ΡΠΈ Π»ΠΈΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° Π²ΡΠ½ΡΠ½ΠΈ Π±ΠΈΠ·Π½Π΅Ρ Π°Π½Π°Π»ΠΈΡΠΈΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΠΊΠ°ΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Ρ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΡΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ, ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠΎ-ΡΡΡΠ²ΡΡΡΠ΅Π½ΡΡΠ²Π°Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ ΡΠΈΠΊΡΠΈΠ²Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡΠ²Π΅Π½ Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡΡΠ° ΠΏΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ Π‘Π£ΠΠ, Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ SQL Π΄Π°ΠΌΠΏΠΎΠ²Π΅ (ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° pg_dump_anon).
PostgreSQL Anonymizer PostgreSQL DDL (ΠΠ·ΠΈΠΊ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ) ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° Π°Π½ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° Π½ΠΈΠ²ΠΎ ΡΡ Π΅ΠΌΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΠ° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°Π±Π»ΠΈΡΠ°ΡΠ°. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ Π³ΠΎΠ»ΡΠΌ Π½Π°Π±ΠΎΡ ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°ΡΠΈ Π½Π° Π·Π°ΠΌΡΠ½Π°: ΡΠ°Π½Π΄ΠΎΠΌΠΈΠ·Π°ΡΠΈΡ, Π·Π°ΠΌΡΠ½Π° Ρ ΡΠΈΠΊΡΠΈΠ²Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΡΠ°ΡΡΠΈΡΠ½ΠΎ , ΡΠ°Π·Π±ΡΡΠΊΠ²Π°Π½Π΅, Π½ΠΎΠΉΠ·ΠΈΠ½Π³ ΠΈ Ρ.Π½. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΠ° Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΈ, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π³Π΅Π½Π΅ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ Π΄Π°Π½Π½ΠΈ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΈ ΡΠΈΠΊΡΠΈΠ²Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ.

ΠΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ ΡΠ°Π·Π²ΠΈΠ²Π°Π½Π°ΡΠ° ΠΎΡ Microsoft ΠΎΡΠ²ΠΎΡΠ΅Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ . ΠΠ»Π°ΡΡΠΎΡΠΌΠ°ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΡΠ΄ΡΡΠΆΠ°ΡΠ° Π»ΠΈΡΠ½ΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»Π½ΠΈ Π΄Π°Π½Π½ΠΈ, Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ, ΡΠ΅ΠΊΡΡΠΎΠ²Π΅ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΠΈΠΌΠ΅Π½Π°, ΡΠ΅Π»Π΅ΡΠΎΠ½Π½ΠΈ Π½ΠΎΠΌΠ΅ΡΠ°, ΠΈΠΌΠ΅ΠΉΠ»ΠΈ, Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΊΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΠΊΠ°ΡΡΠΈ, ΠΊΡΠΈΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈ, Π°Π΄ΡΠ΅ΡΠΈ, Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΠΏΠ°ΡΠΏΠΎΡΡΠΈ, ΡΠΈΠ½Π°Π½ΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ Ρ.Π½. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° (ΠΎΡ Amazon S3 Π΄ΠΎ PostgreSQL) ΠΈ ΡΠΎΡΠΌΠ°ΡΠΈ. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Go (ΠΈΠΌΠ° Π²Π°ΡΠΈΠ°Π½Ρ Π½Π° Python) ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· MIT.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
