{"id":78887,"date":"2020-04-22T19:42:51","date_gmt":"2020-04-22T17:42:51","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov"},"modified":"2020-04-22T19:42:51","modified_gmt":"2020-04-22T17:42:51","slug":"wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","title":{"rendered":"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Les invito a conocer la transcripci\u00f3n de la presentaci\u00f3n a principios de 2020 de Georgiy Rylov \"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad\"<\/strong><\/p>\n<p><\/p>\n<p>Los mantenedores de c\u00f3digo abierto enfrentan muchos problemas a medida que crecen. \u00bfC\u00f3mo escribir m\u00e1s funciones requeridas, arreglar m\u00e1s problemas y tener tiempo para revisar m\u00e1s solicitudes de extracci\u00f3n? Usando como ejemplo WAL-G (herramienta de copia de seguridad para PostgreSQL), explicar\u00e9 c\u00f3mo abordamos estos desaf\u00edos al lanzar un curso sobre desarrollo de c\u00f3digo abierto en la universidad, lo que logramos y hacia d\u00f3nde nos dirigiremos a continuaci\u00f3n.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/c76e27949b782480284ab52791fdfe15.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>\u00a1Hola a todos nuevamente! Soy desarrollador en Yandex de Yekaterinburg. Y hoy les hablar\u00e9 de WAL-G.<\/p>\n<p><\/p>\n<p>En el t\u00edtulo de la presentaci\u00f3n no se mencion\u00f3 que se trataba de backups. \u00bfAlguien no sabe qu\u00e9 es WAL-G? O \u00bftodos saben? Levante la mano quien no lo sepa. Vaya, vinieron a la charla y no saben de qu\u00e9 trata.<\/p>\n<p><\/p>\n<p>D\u00e9jenme contarles qu\u00e9 vamos a hacer hoy. Resulta que nuestro equipo ha estado trabajando en backups desde hace bastante tiempo. Y esta es otra presentaci\u00f3n en una serie donde contamos c\u00f3mo almacenamos datos de manera segura, confiable, conveniente y eficiente.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/4307e7b2acc60cd908d91e3f1b83a9b6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>En episodios anteriores, hubo muchas presentaciones de Andrey Borodin, Vladimir Leskov. \u00c9ramos muchos. Y todos hemos estado hablando sobre WAL-G durante muchos a\u00f1os. <\/p>\n<p><\/p>\n<p>clck.ru\/F8ioz \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2018\/abstracts\/3964\">https:\/\/www.highload.ru\/moscow\/2018\/abstracts\/3964<\/a><\/noindex><\/p>\n<p><\/p>\n<p>clck.ru\/Ln8Qw \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/moscow\/2019\/abstracts\/5981\">https:\/\/www.highload.ru\/moscow\/2019\/abstracts\/5981<\/a><\/noindex><\/p>\n<p><\/p>\n<p>Esta presentaci\u00f3n ser\u00e1 un poco diferente de las dem\u00e1s en que las anteriores se centraban m\u00e1s en la parte t\u00e9cnica, mientras que aqu\u00ed hablar\u00e9 sobre c\u00f3mo enfrentamos los problemas relacionados con el crecimiento de la comunidad. Y c\u00f3mo ideamos una peque\u00f1a idea que nos ayuda a lidiar con ello. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/ec728f7d99ea9b6a5df4785d7e8a2a75.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hace varios a\u00f1os, WAL-G era un proyecto bastante peque\u00f1o que heredamos de Citus Data. Solo lo tomamos. Y lo desarrollaba una sola persona.<\/p>\n<p><\/p>\n<p>Y lo que no hab\u00eda en WAL-G era:<\/p>\n<p><\/p>\n<ul>\n<li>Backup desde una r\u00e9plica.<\/li>\n<li>No hab\u00eda backups incrementales.<\/li>\n<li>No hab\u00eda backups WAL-Delta. <\/li>\n<li>Y hab\u00eda muchas cosas m\u00e1s que faltaban.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>En estos pocos a\u00f1os, WAL-G ha crecido considerablemente.<\/strong> <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/16700dfcc2c54539c5a064894cd1ec88.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Y para el a\u00f1o 2020, ya exist\u00eda todo lo mencionado anteriormente. Y adem\u00e1s, ahora tenemos:<\/p>\n<p><\/p>\n<ul>\n<li>M\u00e1s de 1 000 estrellas en GitHub.<\/li>\n<li>150 forks.<\/li>\n<li>Alrededor de 15 PR abiertos.<\/li>\n<li>Y muchos m\u00e1s contribuidores. <\/li>\n<li>Y issues abiertos constantemente. Y eso a pesar de que entramos all\u00ed literal todos los d\u00edas y hacemos algo al respecto. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/5e5dea14b328a7f0437017ca834d1eaf.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Y llegamos a la conclusi\u00f3n de que este proyecto requiere m\u00e1s de nuestra atenci\u00f3n, incluso cuando no necesitamos implementar algo para nuestro servicio de Bases de Datos Administradas en Yandex.<\/p>\n<p><\/p>\n<p>Y en alg\u00fan momento del oto\u00f1o de 2018 se nos ocurri\u00f3 una idea. Normalmente, el equipo tiene varias formas de desarrollar caracter\u00edsticas o corregir errores si no hay suficientes manos. Por ejemplo, puedes contratar a otro desarrollador y pagarle. O puedes tomar un pasante por un tiempo y tambi\u00e9n pagarle un salario. Pero hay un grupo bastante grande de personas, algunas de las cuales ya saben escribir c\u00f3digo. Simplemente no siempre sabes qu\u00e9 calidad tiene ese c\u00f3digo.<\/p>\n<p><\/p>\n<p>Pensamos y decidimos intentar atraer a estudiantes. Pero los estudiantes no participar\u00e1n en todo. Solo har\u00e1n una parte del trabajo. Por ejemplo, escribir\u00e1n pruebas, corregir\u00e1n errores y desarrollar\u00e1n caracter\u00edsticas que no afectan la funcionalidad principal. La funcionalidad principal es la creaci\u00f3n de copias de seguridad y la recuperaci\u00f3n de copias de seguridad. Si se permite un error en la creaci\u00f3n de una copia de seguridad, perderemos datos. Y, por supuesto, nadie quiere eso. Todos quieren que todo sea muy confiable. Por lo tanto, el c\u00f3digo en el que confiamos menos que en el nuestro, por supuesto, no queremos permitirlo. Es decir, cualquier c\u00f3digo no cr\u00edtico es lo que nos gustar\u00eda recibir de nuestras manos adicionales.<\/p>\n<p><\/p>\n<p><strong>Bajo qu\u00e9 condiciones se acepta un PR de estudiantes<\/strong><\/p>\n<p><\/p>\n<ul>\n<li>Deben cubrir su c\u00f3digo con pruebas. Todo debe pasar por CI. <\/li>\n<li>Y tambi\u00e9n pasamos por 2 revisiones. Una de Andrey Borodin y otra m\u00eda. <\/li>\n<li>Y adicionalmente, para comprobar que esto no romper\u00e1 nada en nuestro servicio, subo por separado una compilaci\u00f3n con este commit. Y comprobamos en las pruebas end-to-end que nada falla.<\/li>\n<\/ul>\n<p><\/p>\n<p><strong>Curso especial sobre Open Source<\/strong><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/58832406f3acdf294cd68e6adde14ec8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un poco sobre por qu\u00e9 es necesario y por qu\u00e9 creo que es una buena idea. <\/p>\n<p><\/p>\n<p><strong>Para nosotros, el beneficio es obvio:<\/strong> <\/p>\n<p><\/p>\n<ul>\n<li>Obtenemos manos adicionales. <\/li>\n<li>Y buscamos candidatos para el equipo entre estudiantes competentes que escriben buen c\u00f3digo. <\/li>\n<\/ul>\n<p><\/p>\n<p><strong>\u00bfCu\u00e1l es el beneficio para los estudiantes?<\/strong><\/p>\n<p><\/p>\n<p>Pueden ser menos obvios, porque los estudiantes, al menos, no reciben dinero por el c\u00f3digo que escriben, solo obtienen calificaciones en su registro acad\u00e9mico. <\/p>\n<p><\/p>\n<p>Les pregunt\u00e9 sobre esto. Y seg\u00fan sus palabras:<\/p>\n<p><\/p>\n<ul>\n<li>Experiencia como contribuyente en Open Source.<\/li>\n<li>Obtener una l\u00ednea en el CV.<\/li>\n<li>Demostrarse y pasar la entrevista en Yandex.<\/li>\n<li>Convi\u00e9rtete en participante de GSoC.<\/li>\n<li>+1 curso especial para aquellos que quieren escribir c\u00f3digo.<\/li>\n<\/ul>\n<p><\/p>\n<p>No voy a hablar sobre c\u00f3mo se estructur\u00f3 el curso. Solo dir\u00e9 que WAL-G fue el proyecto principal. Adem\u00e1s, incluimos proyectos como Odyssey, PostgreSQL y ClickHouse en este curso.<\/p>\n<p><\/p>\n<p>Y no solo d\u00e1bamos tareas en este curso, sino que tambi\u00e9n otorg\u00e1bamos diplomas y trabajos de curso.<\/p>\n<p><\/p>\n<p><strong>\u00bfY cu\u00e1l es el beneficio para los usuarios?<\/strong><\/p>\n<p><\/p>\n<p>Ahora pasemos a la parte que probablemente les interesa m\u00e1s. \u00bfQu\u00e9 ganan con esto? La ventaja es que los estudiantes repararon muchos errores. Y realizaron solicitudes de funciones que ustedes nos pidieron. <\/p>\n<p><\/p>\n<p>Y d\u00e9jenme contarles sobre las cosas que ustedes han querido durante mucho tiempo y que se han implementado.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/bb836742bf4f99e1b91c891ed1802bf0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Soporte para tablespaces. Los tablespaces en WAL-G se esperaban, probablemente, desde el lanzamiento de WAL-G, porque WAL-G es el sucesor de otra herramienta de copia de seguridad, WAL-E, donde se admit\u00edan copias de seguridad de bases de datos con tablespaces.<\/p>\n<p><\/p>\n<p>D\u00e9jenme recordar brevemente qu\u00e9 son y para qu\u00e9 sirven. Por lo general, todos sus datos de Postgres ocupan un directorio en el sistema de archivos, que se llama base. Y este directorio ya contiene todos los archivos y subdirectorios necesarios para Postgres.<\/p>\n<p><\/p>\n<p>Los tablespaces son directorios que contienen datos de Postgres, pero no est\u00e1n fuera del directorio base. En la diapositiva se puede ver que los tablespaces est\u00e1n fuera del directorio base.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/0f25591cfcaaeaec02903c9b98d8ac65.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00bfC\u00f3mo se ve esto para Postgres mismo? En el directorio base hay un subdirectorio separado llamado pg_tblspc. Y en \u00e9l hay enlaces simb\u00f3licos a los directorios donde realmente est\u00e1n los datos de Postgres fuera del directorio base.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/9e9875696c03e6e42bb98b5a7a9acd75.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cuando usen todo esto, para ustedes estos comandos pueden verse de la siguiente manera. Es decir, crean una tabla en alg\u00fan tablespace especificado y ven d\u00f3nde est\u00e1 ahora. Estas dos \u00faltimas l\u00edneas, los dos \u00faltimos comandos llamados. Y se puede ver que hay alguna ruta. Pero en realidad, esa no es la ruta real. Es una ruta con un prefijo del directorio base al tablespace. Y desde all\u00ed se filtra a trav\u00e9s de un enlace simb\u00f3lico que conduce a sus datos reales.<\/p>\n<p><\/p>\n<p>No usamos todo esto en nuestro equipo, pero muchos otros usuarios de WAL-E lo usaron, quienes nos dijeron que quer\u00edan migrar a WAL-G, pero esto les obstaculizaba. Ahora eso se admite.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/95ec319ccefa7e6c8bce193317407229.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Otra caracter\u00edstica que nos trajo nuestro curso especial es el catchup. La gente que ha trabajado m\u00e1s con Oracle que con Postgres seguramente conoce el catchup.<\/p>\n<p><\/p>\n<p>Resumen de qu\u00e9 es esto. As\u00ed es como podr\u00eda verse normalmente la topolog\u00eda del cl\u00faster en nuestro servicio. Tenemos un maestro. Hay una r\u00e9plica que transmite desde \u00e9l el registro de avance de escritura. Y la r\u00e9plica le dice al maestro en qu\u00e9 LSN se encuentra actualmente. Y, en paralelo, se puede archivar el registro. Adem\u00e1s de la archivaci\u00f3n del registro, se env\u00edan copias de seguridad a la nube. Y se env\u00edan copias de seguridad delta.<\/p>\n<p><\/p>\n<p>\u00bfCu\u00e1l puede ser el problema? Cuando tienes una base de datos bastante grande, puede suceder que tu r\u00e9plica comience a atrasarse considerablemente respecto al maestro. Y se retrasa tanto que nunca podr\u00e1 alcanzarlo. Este problema normalmente necesita resolverse de alguna manera. <\/p>\n<p><\/p>\n<p>Y la forma m\u00e1s sencilla es eliminar la r\u00e9plica y volver a cargarla desde cero, porque nunca alcanzar\u00e1 al maestro, y debemos lidiar con el problema. Pero esto lleva bastante tiempo, ya que restaurar una copia de seguridad completa de una base de 10 TB es muy, muy largo. Y queremos hacerlo tan r\u00e1pido como sea posible, si surgen tales problemas. Y para eso est\u00e1 dise\u00f1ado catchup.<\/p>\n<p><\/p>\n<p>Catchup permite utilizar copias de seguridad delta, que se guardan en la nube de esta manera. Indicas en qu\u00e9 LSN se encuentra actualmente la r\u00e9plica atrasada y lo especificas en el comando catchup para crear una copia de seguridad delta entre ese LSN y el LSN en el que se encuentra actualmente tu cl\u00faster. Y despu\u00e9s de eso, restauras esa copia de seguridad en la r\u00e9plica que estaba atrasada.<\/p>\n<p><\/p>\n<p><strong>Otras bases<\/strong><\/p>\n<p><\/p>\n<p>Adem\u00e1s, los estudiantes nos trajeron muchas caracter\u00edsticas de inmediato. Como no solo trabajamos con Postgres en Yandex, tambi\u00e9n tenemos MySQL, MongoDB, Redis, ClickHouse, en alg\u00fan momento necesitamos poder hacer copias de seguridad con recuperaci\u00f3n a un punto en el tiempo para MySQL, y que haya la posibilidad de cargarlas en la nube.<\/p>\n<p><\/p>\n<p>Quer\u00edamos hacerlo de una manera similar a como lo hace WAL-G. Y decidimos experimentar y ver c\u00f3mo se ver\u00eda todo esto.<\/p>\n<p><\/p>\n<p>Y al principio, sin dividir esta l\u00f3gica, escribimos el c\u00f3digo en un fork. Vimos que hab\u00eda alg\u00fan modelo funcional y pod\u00eda funcionar. Luego pensamos que nuestra comunidad principal son los postgresqlistas, ellos utilizan WAL-G. Por lo tanto, necesitamos separar esas partes. Es decir, cuando se corrige el c\u00f3digo para Postgres no rompemos MySQL, y cuando corregimos MySQL, no rompemos Postgres.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/deef7615eaeb0b8bd790fb253cc42312.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La primera idea sobre c\u00f3mo dividir esto fue usar el mismo enfoque que se utiliza en las extensiones de PostgreSQL. Y, de hecho, para hacer una copia de seguridad de MySQL, ten\u00edas que instalar alguna biblioteca din\u00e1mica. <\/p>\n<p><\/p>\n<p>Pero aqu\u00ed inmediatamente se ve la asimetr\u00eda de este enfoque. Cuando haces una copia de seguridad de Postgres, simplemente instalas una herramienta de copia de seguridad normal para Postgres y todo est\u00e1 bien. En cambio, para MySQL parece que instalas una herramienta de copia de seguridad para Postgres y adem\u00e1s necesitas instalar una biblioteca din\u00e1mica para MySQL. Suena algo extra\u00f1o. Tambi\u00e9n pensamos eso y decidimos que no era la soluci\u00f3n que necesit\u00e1bamos. <\/p>\n<p><\/p>\n<p><strong>Diferentes construcciones para Postgres, MySQL, MongoDB, Redis<\/strong><\/p>\n<p><\/p>\n<p>Pero esto nos permiti\u00f3, creemos, llegar a la soluci\u00f3n correcta: separar diferentes construcciones para diferentes bases de datos. Esto permit\u00eda aislar la l\u00f3gica relacionada con las copias de seguridad de distintas bases de datos, las cuales acceder\u00edan a una API com\u00fan implementada por WAL-G.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/6c810d5f065de06fc200bdd028707318.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Esta es la parte que escribimos nosotros mismos, antes de dar a los estudiantes las tareas. Es decir, esta es exactamente la parte donde podr\u00edan hacer algo incorrecto, por lo que decidimos que era mejor que nosotros hici\u00e9ramos algo correcto y todo funcionar\u00eda perfectamente. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/3a864a85bfb820ef64cbacc029a9198c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Despu\u00e9s de esto, dimos las tareas. Fueron r\u00e1pidamente asumidas. Se requer\u00eda que los estudiantes dieran soporte a tres bases de datos. <\/p>\n<p><\/p>\n<p>Esta es MySQL, de la que hemos estado haciendo copias de seguridad con WAL-G de esta manera durante m\u00e1s de un a\u00f1o. <\/p>\n<p><\/p>\n<p>Y ahora MongoDB se acerca a producci\u00f3n, donde lo est\u00e1n ajustando. En esencia, nosotros escribimos el esqueleto para todo esto. Luego, los estudiantes escribieron algunas cosas que funcionan. Y despu\u00e9s las llevamos a un estado que podemos aceptar en producci\u00f3n.<\/p>\n<p><\/p>\n<p>Estas tareas no parec\u00edan requerir que los estudiantes escribieran herramientas de copia de seguridad completas para cada una de estas bases. No tuvimos ese problema. Nuestro problema era que quer\u00edamos recuperaci\u00f3n en el tiempo y quer\u00edamos hacer copias de seguridad en la nube. Y pedimos a los estudiantes que escribieran alg\u00fan c\u00f3digo que resolviera esto. Los estudiantes utilizaron herramientas de copia de seguridad que ya exist\u00edan, las cuales de alguna manera realizaban copias y luego integraron todo esto con WAL-G, que lo enviaba a la nube. Tambi\u00e9n a\u00f1adieron recuperaci\u00f3n en el tiempo.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/7494aef259c7599e8bf0b70d77e1bb09.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00bfQu\u00e9 m\u00e1s trajeron los estudiantes? Trajeron al WAL-G soporte de cifrado de Libsodium.<\/p>\n<p><\/p>\n<p>Adem\u00e1s, tenemos pol\u00edticas de almacenamiento de copias de seguridad. Ahora las copias de seguridad se pueden marcar como permanentes. Y es m\u00e1s conveniente para tu servicio automatizar el proceso de almacenamiento. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/6e932ab13dbc3119f7f1da1122443b10.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00bfQu\u00e9 resultados obtuvimos de este experimento?<\/p>\n<p><\/p>\n<p>M\u00e1s de 100 personas se registraron inicialmente en el curso. Al principio no mencion\u00e9 que la universidad en Ekaterimburgo es la Universidad Federal de los Urales. All\u00ed anunciamos todo. Se registraron 100 personas. En realidad, mucho menos comenz\u00f3 a hacer algo, aproximadamente 30 personas. <\/p>\n<p><\/p>\n<p>A\u00fan menos personas completaron el curso, porque hab\u00eda que escribir pruebas para los c\u00f3digos que ya existen. Tambi\u00e9n hab\u00eda que arreglar un error o implementar alguna caracter\u00edstica. Sin embargo, algunos estudiantes s\u00ed completaron el curso.<\/p>\n<p><\/p>\n<p>Hasta el momento, los estudiantes han arreglado alrededor de 14 problemas en este curso y han realizado 10 caracter\u00edsticas de diferentes tama\u00f1os. Y, en mi opini\u00f3n, esto es un reemplazo completo de uno o dos desarrolladores. <\/p>\n<p><\/p>\n<p>Adem\u00e1s de todo, otorgamos diplomas y trabajos de curso. 12 recibieron diplomas. 6 de ellos ya se defendieron con un '5'. Los dem\u00e1s a\u00fan no han defendido, pero creo que a ellos tambi\u00e9n les ir\u00e1 bien. <\/p>\n<p><\/p>\n<p>Planes futuros<\/p>\n<p><\/p>\n<p>\u00bfCu\u00e1les son nuestros planes para el futuro?<\/p>\n<p><\/p>\n<p>Al menos las solicitudes de caracter\u00edsticas que ya hemos escuchado de los usuarios y que queremos implementar. Esto es:<\/p>\n<p><\/p>\n<ul>\n<li>Seguimiento de la correcci\u00f3n del seguimiento de la l\u00ednea de tiempo en el archivo de copias de seguridad del cl\u00faster HA. Con WAL-G se puede hacer esto. Y creo que encontraremos estudiantes dispuestos a encargarse de ello. <\/li>\n<li>Ya tenemos una persona responsable por la transferencia de copias de seguridad y WAL entre nubes. <\/li>\n<li>Y recientemente publicamos la idea de que podemos acelerar a\u00fan m\u00e1s WAL-G mediante la descompresi\u00f3n de copias de seguridad incrementales sin sobrescribir p\u00e1ginas y optimizando los archivos que enviamos all\u00ed. <\/li>\n<\/ul>\n<p><\/p>\n<p>Puedes compartirlos aqu\u00ed<\/p>\n<p><\/p>\n<p>\u00bfCu\u00e1l fue el prop\u00f3sito de esta presentaci\u00f3n? Que ahora, adem\u00e1s de nosotros cuatro que mantenemos este proyecto, hay manos adicionales, y son bastante numerosas. Especialmente si se les escribe en privado. Y si haces copias de seguridad de tus datos y lo haces con WAL-G o si deseas migrar a WAL-G, podemos tener en cuenta tus deseos con bastante facilidad.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/7b0dc1633121ea6493610b08f68a14d2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Este es el c\u00f3digo QR y el enlace. Puedes usarlos para ir y escribir todas tus solicitudes. Por ejemplo, hay un error que no estamos solucionando. O alguna caracter\u00edstica que realmente deseas, pero que a\u00fan no est\u00e1 en ninguna herramienta de copia de seguridad, incluida la nuestra. Aseg\u00farate de mencionarlo.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgy Rylov\" src=\"\/wp-content\/uploads\/2020\/04\/56f1c4eef8522d2d6628ea98b1278846.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Preguntas<\/p>\n<p><\/p>\n<p><em>\u00a1Hola! \u00a1Gracias por la presentaci\u00f3n! Tengo una pregunta sobre WAL-G, pero no sobre Postgres. WAL-G hace copias de seguridad de MySQL y llama a la copia de seguridad extra. Si tomamos instalaciones modernas en CentOS y si haces un yum install MySQL, se instalar\u00e1 MariaDB. Desde la versi\u00f3n 10.3, la copia de seguridad extra no es compatible, solo se admite la copia de seguridad de MariaDB. \u00bfC\u00f3mo les va con esto?<\/em><\/p>\n<p><\/p>\n<p>Actualmente no hemos intentado hacer copias de seguridad de MariaDB. Hemos recibido solicitudes para soportar FoundationDB, pero en general, si hay una solicitud, podemos encontrar personas que lo hagan. No es tan largo ni complicado, como me parece.<\/p>\n<p><\/p>\n<p><em>\u00a1Buen d\u00eda! \u00a1Gracias por la presentaci\u00f3n! Tengo una pregunta sobre posibles nuevas caracter\u00edsticas. \u00bfEst\u00e1n listos para hacer que WAL-G funcione con cintas, para que se pueda hacer una copia de seguridad en cintas?<\/em><\/p>\n<p><\/p>\n<p>\u00bfSe refiere a la copia de seguridad en almacenamiento en cintas?<\/p>\n<p><\/p>\n<p><em>S\u00ed.<\/em><\/p>\n<p><\/p>\n<p>All\u00ed est\u00e1 Andrey Borodin, quien puede responder mejor a esta pregunta que yo. <\/p>\n<p><\/p>\n<p>(Andrey) S\u00ed, gracias por la pregunta. Hemos recibido una solicitud para transferir la copia de seguridad a cinta desde el almacenamiento en la nube. Y para esto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\/pull\/596\">se est\u00e1 desarrollando<\/a><\/noindex> la transferencia entre nubes. Porque la transferencia entre nubes es una versi\u00f3n generalizada de la transferencia a cinta. Adem\u00e1s, tenemos una arquitectura escalable en cuanto a los Almacenamientos. Por cierto, muchos Almacenamientos fueron escritos por estudiantes. Y si escribes un Almacenamiento para cintas, por supuesto, ser\u00e1 apoyado. Estamos dispuestos a considerar un pull request. Solo tienes que escribir un archivo, leer un archivo. Si estas cosas se hacen en Go, normalmente son unas 50 l\u00edneas de c\u00f3digo. Y entonces en WAL-G se apoyar\u00e1 la cinta. <\/p>\n<p><\/p>\n<p><em>\u00a1Gracias por la presentaci\u00f3n! Un proceso de desarrollo interesante. La copia de seguridad es una parte importante de la funcionalidad que debe estar bien cubierta por pruebas. Cuando implementaron la funcionalidad para nuevas bases de datos, \u00bflas pruebas tambi\u00e9n las escribieron estudiantes o ustedes escribieron las pruebas primero y luego pasaron la implementaci\u00f3n a los estudiantes?<\/em><\/p>\n<p><\/p>\n<p>Las pruebas tambi\u00e9n las escribieron estudiantes. Pero los estudiantes escribieron m\u00e1s para caracter\u00edsticas como nuevas bases de datos. Ellos escribieron pruebas de integraci\u00f3n. Y escribieron pruebas unitarias. Si las integraciones pasan, es decir, en este momento, es un escenario que ejecutas manualmente o lo hace cron, por ejemplo. Es decir, el escenario es bastante comprensible. <\/p>\n<p><\/p>\n<p><em>Los estudiantes no tienen mucha experiencia. \u00bfCu\u00e1nto tiempo se dedica a la revisi\u00f3n?<\/em><\/p>\n<p><\/p>\n<p>S\u00ed, la revisi\u00f3n lleva bastante tiempo. Es decir, generalmente, cuando llegan varios programadores y dicen que yo hice esto, hice aquello, se necesita pensar y dedicar alrededor de medio d\u00eda para entender lo que han escrito. Porque el c\u00f3digo tiene que leerse cuidadosamente. Ellos no pasaron entrevistas. No los conocemos muy bien, por eso lleva un tiempo considerable.<\/p>\n<p><\/p>\n<p><em>\u00a1Gracias por la presentaci\u00f3n! Anteriormente, Andrey Borodin mencion\u00f3 que el archive_command en WAL-G debe ser llamado directamente. Pero en el caso de alg\u00fan cl\u00faster patron, necesitamos l\u00f3gica adicional para determinar de qu\u00e9 nodo enviar los wals. \u00bfC\u00f3mo resuelven ustedes este problema?<\/em><\/p>\n<p><\/p>\n<p>\u00bfCu\u00e1l es el problema que tienen aqu\u00ed? Supongamos que tienen una r\u00e9plica s\u00edncrona de la que est\u00e1n haciendo una copia de seguridad, \u00bfo qu\u00e9?<\/p>\n<p><\/p>\n<p>(Andrey) La cuesti\u00f3n es que realmente WAL-G se supone que debe usarse sin envolturas en scripts de shell. Si falta algo, entonces escribamos la l\u00f3gica que debe estar dentro de WAL-G. En cuanto a d\u00f3nde debe hacerse la archivaci\u00f3n, consideramos que la archivaci\u00f3n debe hacerse desde el maestro actual en el cl\u00faster. Archivarlo desde la r\u00e9plica es una mala idea. All\u00ed pueden ocurrir varios escenarios con problemas. En particular, problemas con la archivaci\u00f3n de l\u00edneas de tiempo y otra informaci\u00f3n adicional. \u00a1Gracias por la pregunta!<\/p>\n<p><\/p>\n<p>(Aclaraci\u00f3n: Se deshicieron de la envoltura con scripts de shell) <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/wal-g\/wal-g\/issues\/549\">en este issue<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p><em>\u00a1Buenas tardes! \u00a1Gracias por la presentaci\u00f3n! Me interes\u00f3 la funci\u00f3n catchup de la que hablaste. Me he encontrado con situaciones en las que una r\u00e9plica se rezaga y no puede alcanzar. Y no encontr\u00e9 una descripci\u00f3n de esta funci\u00f3n en la documentaci\u00f3n de WAL-G.<\/em><\/p>\n<p><\/p>\n<p>Catchup apareci\u00f3 literalmente a finales de enero de 2020. Puede que la documentaci\u00f3n necesite mejorarse. Nosotros la redactamos y no lo hacemos de manera excepcional. Y tal vez deber\u00edamos comenzar a exigir a los estudiantes que la escriban.<\/p>\n<p><\/p>\n<p><em>\u00bfYa est\u00e1 en la versi\u00f3n?<\/em><\/p>\n<p><\/p>\n<p>La solicitud de extracci\u00f3n ya est\u00e1 fusionada, es decir, la revis\u00e9. Lo prob\u00e9 en un cl\u00faster de prueba. Hasta ahora no hemos tenido ninguna situaci\u00f3n en la que podr\u00edamos comprobarlo en un ejemplo en producci\u00f3n.<\/p>\n<p><\/p>\n<p><em>\u00bfCu\u00e1ndo se puede esperar?<\/em><\/p>\n<p><\/p>\n<p>No lo s\u00e9. Esperen un mes, con seguridad lo verificaremos.<\/p>\n<p>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/498428\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e \u043c\u0435\u0440\u0435 \u0438\u0445 \u0440\u043e\u0441\u0442\u0430. \u041a\u0430\u043a \u043f\u0438\u0441\u0430\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0438\u0447, \u0447\u0438\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 issues&#8217;\u043e\u0432 \u0438 \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 pull request&#8217;\u043e\u0432? \u041d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 WAL-G(backup-tool for PostgreSQL) \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0442\u043e, \u043a\u0430\u043a \u043c\u044b \u0440\u0435\u0448\u0430\u043b\u0438 \u044d\u0442\u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":78888,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-78887","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u0413\u0435\u043e\u0440\u0433\u0438\u0439 \u0420\u044b\u043b\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-22T17:42:51+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-22T17:42:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad. Georgiy Rylov | ProHoster","description":"Les propongo revisar la transcripci\u00f3n de la presentaci\u00f3n de principios de 2020 de Georgy Rylov \"WAL-G: nuevas oportunidades y expansi\u00f3n de la comunidad\" Los mantenedores de open-source enfrentan muchos problemas.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430. \u0413\u0435\u043e\u0440\u0433\u0438\u0439 \u0420\u044b\u043b\u043e\u0432 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 \u043d\u0430\u0447\u0430\u043b\u0430 2020 \u0433\u043e\u0434\u0430 \u0413\u0435\u043e\u0440\u0433\u0438\u044f \u0420\u044b\u043b\u043e\u0432\u0430 &quot;WAL-G: \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430&quot; \u0423 \u043c\u0435\u0438\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 open-source \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043f\u043e.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/wal-g-novye-vozmozhnosti-i-rasshirenie-soobshhestva-georgij-rylov","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-22T17:42:51+00:00","article:modified_time":"2020-04-22T17:42:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"78887","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 16:49:45","updated":"2022-09-29 18:48:15","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/78887","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=78887"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/78887\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media\/78888"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=78887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=78887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=78887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}