1ãæåãYandex.Moneyã§ãOracleããPostgreSQLãžã®ãŠãŒã¶ãŒãããã¡ã€ã«ãµãŒãã¹ã®è»¢éãå®äºããŸããã ãã®ããã倧éã®ããŒã¿ãæ倱ãªã移è¡ãããããã䜿çšããŠãµãŒãã¹ãåæ¢ããããã®å®èšŒæžã¿ã®ãœãªã¥ãŒã·ã§ã³ãã§ããŸããã
ã«ããã®äžã§ããããã©ã®ããã«èµ·ãã£ãã®ãã移è¡ã®ããã«SymmetricDSãéžãã çç±ããããŠãæåãã®åªåãªãã§ã¯ãŸã ã§ããªãçç±ã«ã€ããŠè©³ãã説æããŸãã ãŸãã移è¡çšã®è£å©ã³ãŒãã«é¢ããããã€ãã®éçºãå ±æããŸãã
ãœãªã¥ãŒã·ã§ã³ã®æåã®ç§»è¡ãšå®è¡ã§ã¯ããŠãŒã¶ãŒãããã¡ã€ã«ãæäŸãããµãŒãã¹ãéžæããŸããã ãã®ãããã¡ã€ã«ã«ã¯ãæ¯æãå±¥æŽããæ°ã«å ¥ãããªãã€ã³ããŒãããã³ãã®ä»ã®é¡äŒŒã®ãã®ãå«ãŸããŸãããããã¯ãã¹ãŠéèŠã§ãããã·ã¹ãã ãæ©èœããããã«éèŠã§ã¯ãããŸããã ããžãã¯ãçµã¿èŸŒãŸããŠããªãããŒã¿ããŒã¹ããããããããŒã¿ãšã·ãŒã±ã³ã¹ãæ°ãããã©ãããã©ãŒã ã«è»¢éããã ãã§æžã¿ãŸããã
ãããã£ãŠã3ãæåŸããŠãŒã¶ãŒãããã¡ã€ã«ã¯Oracleãªãã§ãæ©èœããã¯ãã§ãã
ä»ã®ãããžã§ã¯ãã®å·®ãè¿«ã£ããªãªãŒã¹ã«é¢é£ããŠã圌ãã¯3ã¶æã§ç§»è»¢ãå®äºããããšã決ããŸããã 移è¡ããŒã ã¯4人ã§æ§æãããŠããŸããããã·ãã¢éçºè ãšDBAã¹ãã·ã£ãªã¹ãã§ããã å°ããªããŒã ãçæéã§å¯ŸåŠã§ããããã«ã圌ãã¯ãããžã§ã¯ãã®æãèªååããããœãªã¥ãŒã·ã§ã³ãæ¢ããŸãããããŒã¿ç§»è¡ã³ãŒããèšè¿°ããã«ãããŒã¿ããŒã¹ã¹ããŒããæåã§çµã¿ç«ãŠããªã©ã§ãã ããŒã¿ããŒã¹ã«ã¯çŽ50ã®ããŒãã«ãå«ãŸããŠããããã人çºçãªãšã©ãŒã®å¯èœæ§ã¯æåå€æäžã«ç¹ã«é«ããªããŸãã
éåžžããã®ãããªç§»è¡ã¯ããµãŒãã¹ãåæ¢ããç¶æ ã§ïŒæ°æéåŸã«ïŒå®è¡ãããŸãã ããããYandex.Moneyã§ã¯ãæ¯æãã¯24æéè¡ããããããå éšã®ãæé©åãã®ããã«ã·ã¹ãã ãåæ¢ããããšã¯äžå¯èœã§ããã å®éããã®ã³ã³ããŒãã³ãã®å Žåãããžãã¹ã¯ããŒã¿ã®æ倱ãªãã«1ã2åéåæ¢ããããšã«åæããŸããã
å®ç§ãªããŒã«ãèŠã€ãã
ãããžã§ã¯ãã®ååæããšã®æéã¯ãç¬èªã®æºèªè»¢è»ã®çºæã®äœå°ãæ®ããŸããã§ããã ãããã£ãŠããã¬ãŒã³ã¹ããŒãã³ã°ã«ããã移è¡ã«é©ãã補åã®ãªã¹ããåéããŠåé€ããŸããã
Oracle GoldenGate-ããã¯åãç¹å¹è¬ã®ããã«èŠãããããããŸããã å°ãªããšãäŸ¡æ Œã«æ £ãããŸã§ã
SymmetricDS-ã¹ããŒãã®ç§»è¡ããããOracleãã¹ã¿ãŒããŒãã«PostgreSQLããŒããç»é²ãããšãã«äœæãŸãã¯æŽæ°ãããŸãã BASHãJavaããŸãã¯SQLã䜿çšããŠãã¢ããããŒããŸãã¯ããŠã³ããŒãäžã«ããŒã¿ãå€æããããšãã§ããŸãã
å®å šå€æ -ã¹ããŒã ãšããŒã¿ã移è¡ã§ããŸãããã«ã¹ã¿ãã€ãºã®å¯èœæ§ã¯éãããŠãããå€æŽå¯èœãªãã©ã³ã¹ãã©ãŒããŒïŒç§»è¡äžã«ããŒã¿ãå€æŽããããã®ã³ãŒãïŒã¯ãããŸããã
OracleããPostgreSQLãžã®ç§»è¡ -ã¹ããŒããããŒã¿ãå€éšããŒãã€ã³ããã¯ã¹ã転éããŸãã åèªåã¬ããªã±ãŒã·ã§ã³ãå€æãªãããã ããç°ãªãããŒã¿ããŒã¹ã®ã¿ã€ãã®å¯Ÿå¿ãèšå®ã§ããŸãã
ESF Database Migration Toolkit -OracleããPostgreSQLãžã®ç§»è¡ãšåããã¹ãŠã移è¡ããŸãã ããŒã¿ã¯ãããã¢ãŒãã§éä¿¡ããããããè€æ°ã®ã¹ããªãŒã ã«ç§»è¡ããå¯èœæ§ã¯ãããŸããã
Ora2Pg-ã¹ããŒã ãããŒã¿ãå€éšããŒãã€ã³ããã¯ã¹ã®è»¢éãè€æ°ã®ãããŒãžã®ç§»è¡ãå¯èœã§ãã ãã€ãã¹ã®ç¹ïŒblob / clobã¿ã€ãïŒçŽ200ã¬ã³ãŒã/ç§ïŒã®ããŒãã«ã®äœé転éããã©ã³ã¹ãã©ãŒããŒãªãã
- SQLDataããŒã« -ã¹ããŒãã®ã¿ã移è¡ãããã«ã¹ã¿ãã€ãºãªãã·ã§ã³ãå¶éãããŸãã
åžå Žã«åºåã£ãŠããæ®ãã®è£œåã¯ãéçºè ã«ãã£ãŠãã§ã«æŸæ£ãããŠããããã³ãã¥ããã£ã§éçºããããµããŒãããããŸããã
ãã®çµæãããŒã¿ç§»è¡ã®ããã«ããŒã¿ããŒã¹ã¹ããŒããšSymmetricDSã転éããããã«Ora2PgãéžæãããŸããã äžè¬çã«ãåŸè ã¯ããŒã¿è»¢éãããç°ãªãDBMSã®åæãç®çãšããŠããŸãã ãããããã®å ŽåããµãŒãã¹ãåæ¢ããã«ç§»è¡ãæäŸã§ããŸããã
移è¡ã®ããã®åã®å°ããªããš
移è¡ãéçšããŒã¹ã®ã³ããŒã«ããŒã«ããããšãã移è¡ãœãªã¥ãŒã·ã§ã³ã«äžé£ã®ãæ©èœããšå¥åŠãªç¹ãèŠã€ãããŸããã PostgreSQLã¯ãOracleã§åé¡ãªãæž¡ãããäžéšã®ã¯ãšãªãæ£ããå®è¡ããŸããã§ããã ããšãã°ã SELECT *ã«ãããšã©ãŒãçºçããããŒã¿ããŒã¹äŸåãµãŒãã¹å šäœãã·ã£ããããŠã³ããŸããã äžè¬ã«ããã®ãããªãªã¯ãšã¹ãã¯æªã圢åŒã§ãããå®éã«ã¯ç°ãªããã®ã§ãããèš±å¯ãããäŸãšããŠããããåã«åŒçšããŸããã ããã¯Javaãã©ã€ããŒã®åé¡ã§ããããšãå€æããããããããžã§ã¯ãã®æç¹ã§ã¯ãåé¡ã®ããã¯ãšãªã䜿çšããªãæ¹ãç°¡åã§ããã ãã®ãã°ã¯åŸã§ä¿®æ£ãããŸããã
AutoCommit-OFFãã©ã°ãèšå®ãããŠããå Žåããã©ã³ã¶ã¯ã·ã§ã³ã«åé¡ããããŸããã PostgreSQLã§ã¯ããã©ã³ã¶ã¯ã·ã§ã³ãå®è¡ãããåã«éãããŠããªãå Žåãã³ãŒããã¯ã©ãã·ã¥ããŸããã Oracleã®åäœã¯ç°ãªããŸãããã©ã³ã¶ã¯ã·ã§ã³ã¯ããŒã«ããã¯ãããããåãå®è¡ã¹ã¬ããã«å ¥ã£ãã³ãŒãã§å®äºããŸããã PostgreSQLã®ãœãªã¥ãŒã·ã§ã³ã¯ããã¹ãŠã®ããŒã¿å€æŽèŠæ±ã«å¯ŸããŠæ確ã«éããããã©ã³ã¶ã¯ã·ã§ã³ããã§ãã¯ããã³ãŒããèšè¿°ããããšã§ãã
ã¯ãšãªãå®è¡ããéããŠãŒã¶ãŒãããã¡ã€ã«ãµãŒãã¹ã¯è¡šç€ºãããå€ã®ãœãŒãé ïŒORDER BYïŒãæå®ããŸããã§ãããããã¯ãOracleã§ã¯ç¬Šå·ããªãããã«æç³»åã§åºåãè¡ãããããã§ãã ãããŠããã«ã€ããŠã¯ãã¯ãšãªã®çµæãç°ãªãæ¹æ³ã§è¡šç€ºããPostgreSQLã«æ»ã蟌ã¿ãŸãã-ORDER BYãã©ãã«ã§ãããããã«ã³ãŒããçµã¿åãããŸããã
èå³æ·±ããã¥ã¢ã³ã¹ã¯ãå ã®OracleããŒã¿ããŒã¹ãšPostgreSQLã«è»¢éãããã€ã³ã¹ã¿ã³ã¹ã®äž¡æ¹ã®ããŒã¿ãå€æŽããè€åãã©ã³ã¶ã¯ã·ã§ã³ã«ãããŸããã äž¡æ¹ã®ããŒã¿ããŒã¹ã§åãå€ãæã€ããã«ãç§ãã¡ã®ããŒã ã¯ç¹å¥ãªãã©ã³ã¶ã¯ã·ã§ã³ãããŒãžã£ãŒãéçºããŸããã 圌ã¯ãäž¡æ¹ã®DBMSã§ãã©ã³ã¶ã¯ã·ã§ã³ãåæããŠãªãŒãã³ããã³ã¯ããŒãºããŸããã ãã®ãããªãã©ã³ã¶ã¯ã·ã§ã³ã§ãšã©ãŒãçºçããå Žåã¯ããã§ã«æåã§è§£æ±ºããå¿ èŠããããŸããã
ãããŠé¢ããŠè¡ã
50ã®ããŒãã«ã®äºåæ¿èªæžã¿ãªã¹ãã«ãããšãããŒã¿ã®ç§»è¡ã¯æ®µéçã«è¡ãããŸããã ããŒã¿ããŒã¹å ã®åããŒãã«ã®ã¬ãã«ã§åãæ¿ããè¡ãããšã«ããŸãããããã«ãããé«ãæè»æ§ãšããã»ã¹ã®å解ãå®çŸã§ããŸããã ã€ãŸããããŒã¿è»¢éåŸã®ç¹å®ã®æç¹ã§ãããŒãã«ã«ç¹å¥ãªãã©ã°ãèšå®ãããããã«å¿ããŠYa.MoneyãµãŒãã¹ãPostgreSQLã®ããŒã¿ã€ã³ã¹ã¿ã³ã¹ã«åãæ¿ããŸããã
Oracle-PostgreSQLã®ç§»è¡ãæåãããã«ã¯ãé¢åãªããšãå¿ããªãããã«äºåã«èšç»ããããšãéèŠã§ãã ãã®ãããªèšç»ããããŸããããããã§ã¯ãã¿ãã¬ã§ãã
éçºè ãè¡ãå¿ èŠãããããšïŒ
PostgreSQLã§DDLããŒãã«ãååŸããŸãã
DAOã¯ã©ã¹ã®ã€ã³ã¿ãŒãã§ã€ã¹ã匷調衚瀺ããŸãã
PostgreSQLãæäœããããã®DAOã¯ã©ã¹ãäœæããŸãã
Oracle DAOããPostgreSQL DAOã«äœæ¥ãåãæ¿ããããã®ãã©ã°ãäœæããŸãã
80ïŒ ã®ã«ãã¬ããžãæã€æ°ããDAOã®ãã¹ããèšè¿°ããŸãïŒjOOQã¡ã«ããºã ã䜿çšããŠSQLã¯ãšãªã®æ§æã®ãšã©ãŒãåé¿ããã®ã«åœ¹ç«ã¡ãŸãïŒã å€ãã»ã©è¯ãã
ãã¹ããã³ãã§ç§»è¡ãå®è¡ããŸãã
åãå ¥ãã¹ã¿ã³ãã§ç§»è¡ãå®è¡ããåãå ¥ããã¹ãã«åæ Œããããšã確èªããŸãã
- æŠéç°å¢ãžã®å€æŽã®ãªãªãŒã¹ã
DBAã®ããã¥ã¢ã«ïŒ
DDLéçºè ããPostgreSQLããŒã¿ããŒã¹ã«ç§»è¡ãããããŒãã«ãååŸããããŒãã«ãšããã«é¢é£ãããã¹ãŠã®ãšã³ãã£ãã£ãäœæããŸãã
移è¡æ¹æ³ã«ã€ããŠéçºè ã«ç¢ºèªããŠãã ãã-æåã«å€ãããŒã¿ãããŠã³ããŒãããæ°ããã¬ã³ãŒããåæããå¿ èŠããããŸããïŒ
倧éã®ããŒã¿ãããå Žåã¯ãã©ã®åºæºã§äžæ¬¡è² è·ã®éãå¶éã§ããŸããã
SymmetricDSãæ§æããŠãããŒãã«ãåæããŸãã
1ã€ã®ãã©ã³ã¶ã¯ã·ã§ã³ã§ãåæããŒãïŒå¿ èŠãªå ŽåïŒãšæ°ããã¬ã³ãŒãã®åæãéå§ããŸãã
ããŠã³ããŒãããã³åæã¹ããŒã¿ã¹ãå®æçã«ç¢ºèªããŸãã
- ãµãŒãã¹ãPostgreSQLã«åãæ¿ããçŽåã«ããã©ã€ããªããŒã¹ããã¯ã®å®å ããŒãã«å ã®ã·ãŒã±ã³ã¹ã移åããŸãã
ããã»ã¹ã®è²¬ä»»è ãå¿ããŠã¯ãªããªããã®ïŒ
ç¹å®ã®ããŒãã«ã«ã€ããŠPostgreSQLã§ã®éçšãæ¬çªç°å¢ã§ãµããŒããããŠããããšã確èªããŠãã ããã
ãããã¯ã·ã§ã³ãåæããŒã¿ã®ããŒããæ£åžžã«å®äºããæ°ããã¬ã³ãŒãã®åæãæââå¹ã«ããããšã確èªããŸãã
ã·ãŒã±ã³ã¹ãPostgreSQLã«ç§»åããããDBAã«äŸé Œãã
PostgreSQLã§åäœããããã«ãµãŒãã¹ã®1ã€ã®ã€ã³ã¹ã¿ã³ã¹ãåãæ¿ãããµãŒãã¹ã®ãã°ãšããžãã¯ã«ãšã©ãŒããªãããšã確èªããŠãã ããã
ãµãŒãã¹ã®æ®ãã®ã€ã³ã¹ã¿ã³ã¹ãåãæ¿ããŸãã
- å®å šã«åãæ¿ããåŸã移è¡ããããŒãã«ã®ååãOracleã«å€æŽããããDBAã«äŸé ŒããŠãã ããã ã·ã¹ãã å ã®ãšã©ãŒã綿å¯ã«ç£èŠããŸããäžéšã®ãå¿ããããããµãŒãã¹ããžãã¯ã¯ãåŒãç¶ãOracleãšé£æºããããšããå ŽåããããŸãã
移è¡äžã50ã®ããŒãã«ã®äžéšã¯Oracleã§æ©èœãããã1ã€ã¯PostgreSQLã§æ©èœããŸããã ãããSymmetricDSã圹ç«ã¡ãOracleããPostgreSQLã«ããŒã¿ã移è¡ããããã移è¡ãããããŒãã«ãšå€ãã¹ããŒã ã«åŸã£ãŠæ©èœããããžãã¯ã®äž¡æ¹ã®äžè²«æ§ã確ä¿ããŸããã
ãµãŒãã¹ã§ã®ããŒã¿è»¢éåŸãç¹å®ã®ããŒãã«ããšã«ãPostgreSQLã§åäœããã§ãã¯ããã¯ã¹ãèšå®ãããã¯ãšãªã¯æ°ããDBMSã«åãæ¿ãããŸããã æåã«ãã¹ã€ããã¯devã¹ã¿ã³ãã§ãã§ãã¯ããã次ã«åãå ¥ãã¹ã¿ã³ãã§ãã§ãã¯ãããŸããã åé¡ããªããã°ãæ¬çªã«åãæ¿ããŠãOracleã®ããŒãã«ã®ååãå€æŽããŸãïŒå€ãããŒãã«ããŸã 䜿çšãããŠãããã©ããã確èªããŸãïŒã
èãæ¹ã¯å³ã«ãããŸããPostgreSQLã§è€è£œããŒã¿ããŒã¹ãäœæããåŸããµãŒãã¹ã«æ°ããdbãã©ã°ãèšå®ããããã®åŸããã¹ãŠã®åŒã³åºããæ°ããããŒã¿ããŒã¹ã«éãããŸãã
ããããæãé£ããããšã¯ãé©åãªåãæ¿ãã®ã¿ã€ãã³ã°ãéžæããããšã§ããã å®éãããŒãã«ã®éèŠåºŠãšè€éãã«å¿ããŠã3ã€ã®ç§»è¡ãªãã·ã§ã³ããããŸããã
ããŒãã«å šäœã転éããç¶ããŠåãæ¿ããŸãã ãã®ãªãã·ã§ã³ã¯ããªã¯ãšã¹ãã®äžéšã倱ãããå¯èœæ§ãããå Žåã«é©ããŠããŸããïŒãŠãŒã¶ãŒã«ããäžåºŠãã¿ã³ãæŒãããã«æ±ããããããæäœã®èªåç¶ç¶ãæ©èœããŸãïŒã
ããŒã¿ã»ã³ã¿ãŒã®ã¬ãã« ïŒDCãåèšã§2ã€ãããŸãïŒã éèŠãªããŒãã«ã転éããæ¹æ³ãæåã®ããŒã¿ã»ã³ã¿ãŒãæåã«PostgreSQLã«è»¢éãããªã³ã«ããããã»ã¹ã§2çªç®ã®ããŒã¿ã»ã³ã¿ãŒããªãã«ããŸãïŒOracleããïŒã éå§æã«ãOracleãšPostgreSQLã®åæ¢ã¯äžŠè¡ããŠæ©èœããå¯èœæ§ããããŸãããã®ãããåæãšããŒã¿ã¹ã€ããã³ã°ã®ã¡ã«ããºã ã圹ç«ã¡ãŸããã ãµãŒãã¹ã®äœæ¥ã«ããŠã³ã¿ã€ã ã¯ãããŸããã§ããã
- ãæ®çã¹ã¯ã€ãŒãºãã®æ¹æ³ã«ãã ã 2ã€ã®ã€ã³ã¹ã¿ã³ã¹ãæ®ããŸããåãæ¿ãã®ããã®é 延ãªã¯ãšã¹ããåŠçããOracleãšãæ°ããPostgreSQLã§ãã æ°ããã¿ã¹ã¯ã¯æ°ããããŒã¿ããŒã¹ã§åŠçãããå€ãã¿ã¹ã¯ã¯æ®ãã®Oracleã§ã®å®è¡åŸã«åé€ãããŸããã ãã®ãããããŒã¹ã®ãã¥ãŒã移åããŸãã-èªåæ¯æãããªãã€ã³ããŒãªã©
ããã€ãã®å°é£ããããŸããã PostgreSQLã®ããŒã¿ããŒã¹ã¹ããŒãã®åæ圢æäžã«ãã³ã³ããŒã¿ãŒã¯100ïŒ ã®æ¢è£œããŒãžã§ã³ãçæããŸããã§ãããããã¯äžè¬ã«äºæ³ãããŠããŸããã ããã€ãã®çš®é¡ã®åãæåã§å€æŽããã·ãŒã±ã³ã¹ãä¿®æ£ãããã€ã¢ã°ã©ã ãããŒãã«ãšã€ã³ããã¯ã¹ã«åå²ããå¿ èŠããããŸããã ããããåŸè ã¯ãã§ã«ç§©åºãšäžè¬çãªçŸåŠã®ããã®ãã®ã§ãã
å°ãåŸã§ãSymmetricDSã150 GBãè¶ ããããŒãã«ãåæããªãããšãå€æããŸããã ãããã£ãŠãã³ãŒãã«åº§ã£ãŠããã®ãããªã±ãŒã¹ã移æ€ããããã®åé¿çãäœæããå¿ èŠããããŸããã
ãã ããããã§ãç¹å¹è¬ã¯æ©èœããŸããã§ããã SymmetricDSã¯ãããŒãã«ã®åèšãµã€ãºãè¶ ããããã«CLOB \ BLOBãã£ãŒã«ãã転éããªãã£ããããæåã®ç§»è¡ãã¥ãŒãäœæããå¿ èŠããããŸããã OracleããPostgreSQLãžã®ç§»è¡ã«ããããã©ãŒãã³ã¹ãæ¥æ¿ã«äœäžããéåžžã«çããã±ãŒã¹ã«çŽé¢ããŸããã åã ã®ã±ãŒã¹ãæåã§å解ãã以å€ã«äœããããŸããã§ããã ããšãã°ã1ã€ã®ããŒãã«ã®å Žåãå¥ã®ããŒãã«ã®CLOBãã£ãŒã«ããéžæããŠSSDã«è»¢éããå¿ èŠãªå Žåã«ã®ã¿ãã®ãã£ãŒã«ããèªã¿åãå¿ èŠããããŸããã
å€ãããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ãšæ°ããããŒã¿ããŒã¹ã€ã³ã¹ã¿ã³ã¹ãåæã«ã¢ã¯ãã£ãã«ä¿ã€å¿ èŠããã£ããããéè€ããŒãPostgreSQLã«è»¢éããã³è»¢éããããšããªãããã«ãæ°ããã€ã³ã¹ã¿ã³ã¹ã®ã·ãŒã±ã³ã¹çšã«äºçŽãäœæããŸããã
ãã®å³ã¯ã1000ããŒã®å€ãããŒã¿ãšæ°ããããŒã¿ã®éã«ãã€ã³ãã³ãããããPostgreSQLã®æ°ããããŒãã«ã®æŠç¥å³ã瀺ããŠããŸãã
ã€ãŸããããŒãã«ã®æåŸã®ããŒã100ã ã£ãå Žåã転éäžã«ãã®å€ã«ããã«1000ãè¿œå ããããããSymmetricDSã¯æ°ããããŒã¿ãäžæžãããã«ããŒ101ã102ããã³ãã®ä»ãã¹ãŠãèªç±ã«åæã§ããŸãã
ä»äžããªãã³
èšç»ååæäžãç§ãã¡ã®å°ããªããŒã ã¯ããŒãã«ã®80ïŒ ãPostgreSQLã«ç§»è¡ããŸããã æ®ãã®20ïŒ ã¯ã倧ããªCLOB \ BLOBãã£ãŒã«ããæã€ãã¬ãã£ã¹ãããŒãã«ãå«ãã倧ããªããŒãã«ïŒå¹³å150 GB以äžïŒã§ãã ããã¯ãã¹ãŠã次ã®1.5ãæéãæåã§å®äºããå¿ èŠããããŸããã ããã§ããSymmetricDSãšOra2Pgã®çµã¿åããã¯ãã¿ã¹ã¯ã®æ¡ä»¶ã«å¿ èŠãªã»ãšãã©ã®æ¥åžžçãªäœæ¥ãè¡ããŸããã ç§ãã¡ã®éçºããŒã ã¯ããã®ãããžã§ã¯ãã®ããã«å éšã®ãã¬ãŒãã貯éç®±ãã»ãŒè£å ããŸããããã®äžéšã¯ãèšäºã®å ¬éæç¹ã§ããããèå°è£ã«æ®ãããŠããŸããã
ããããYandex.Moneyã¯ããµã³ã¯ãããã«ãã«ã¯ã§éå¬ãããPG Day'17ã«ã³ãã¡ã¬ã³ã¹ã®çéžããã§ã«æºåããŠããŸãã æ¡åŒµã¬ããŒãã«ã¢ã¯ã»ã¹ããŠãé£ãã質åãæºåããŠãã ããã
ãã ããããã§æãç±çãªãããã¯ãã³ã¡ã³ãã§åãäžããããšãææ¡ããŸãã 移è¡ã®çµéšã«ã€ããŠããããŠãããããç§ãã¡ãèŠèœãšããŠããããšã«ã€ããŠèªãã®ã¯éåžžã«èå³æ·±ãã§ãã
Yandex.Moneyãªããžããªã«ã¯ãèšäºã«èšèŒãããŠãããœãªã¥ãŒã·ã§ã³ã®ã³ãŒããããã€ããããŸãã
ãã©ã³ã¶ã¯ã·ã§ã³ãããŒãžã£ãŒã®ãœãŒã¹
- ãã©ã³ã¶ã¯ã·ã§ã³æ€èšŒã¯ã©ã¹ã³ãŒãã