{"id":108647,"date":"2023-05-21T12:49:09","date_gmt":"2023-05-21T10:49:12","guid":{"rendered":"https:\/\/prohoster.info\/?p=108647"},"modified":"2023-05-22T10:28:52","modified_gmt":"2023-05-22T08:28:52","slug":"paypal-otkryl-kod-subd-junodb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/paypal-otkryl-kod-subd-junodb","title":{"rendered":"PayPal abriu o c\u00f3digo do SGBD JunoDB","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>A empresa PayPal abriu os c\u00f3digos-fonte do banco de dados distribu\u00eddo resistente a falhas JunoDB, que manipula dados no formato chave-valor. O sistema foi projetado desde o in\u00edcio com foco em alta seguran\u00e7a, escalabilidade horizontal, resili\u00eancia e a capacidade de lidar com centenas de milhares de conex\u00f5es simult\u00e2neas com lat\u00eancias previs\u00edveis. Na PayPal, praticamente todos os servi\u00e7os, desde o login de usu\u00e1rios at\u00e9 o processamento de transa\u00e7\u00f5es financeiras, dependem do JunoDB. O c\u00f3digo do projeto \u00e9 escrito na linguagem Go (a biblioteca cliente est\u00e1 em Java) e \u00e9 distribu\u00eddo sob a licen\u00e7a Apache 2.0. Durante o desenvolvimento futuro, corre\u00e7\u00f5es, melhorias e altera\u00e7\u00f5es da comunidade ser\u00e3o bem-vindas.    <\/p>\n<p>A arquitetura do JunoDB baseia-se no uso de um balanceador de carga que aceita solicita\u00e7\u00f5es de aplicativos clientes e as distribui entre servidores proxy, que ao mesmo tempo acessam um grupo <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1715\">servidores<\/a> de armazenamento ao executar a solicita\u00e7\u00e3o. Cada servidor proxy estabelece conex\u00f5es simultaneamente com todos os <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-dusseldorf\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3459\">servidores<\/a> servidores de armazenamento e redireciona as solicita\u00e7\u00f5es para o grupo de servidores de armazenamento com base no \u00edndice de particionamento, que \u00e9 armazenado em um sistema de armazenamento de configura\u00e7\u00e3o distribu\u00eddo, o etcd.     <center><img decoding=\"async\" alt=\"PayPal abriu o c\u00f3digo do SGBD JunoDB\" src=\"\/wp-content\/uploads\/2023\/05\/1c7c7a0cae43c4da8b6b2ae7580194c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>              <\/p>\n<p>Os dados s\u00e3o particionados e vinculados a n\u00f3s de armazenamento usando hashing, o que permite reduzir o movimento de dados ao aumentar ou diminuir n\u00f3s no cluster. Para garantir a resili\u00eancia, cada por\u00e7\u00e3o de dados \u00e9 replicada em v\u00e1rios n\u00f3s de armazenamento, o que permite preservar as informa\u00e7\u00f5es em caso de falha de servidores individuais. O suporte para a cria\u00e7\u00e3o de armazenamentos distribu\u00eddos territorialmente \u00e9 mantido, onde grupos de n\u00f3s s\u00e3o alocados em diferentes data centers.  <center><img decoding=\"async\" alt=\"PayPal abriu o c\u00f3digo do SGBD JunoDB\" src=\"\/wp-content\/uploads\/2023\/05\/939ab12af3a3d8c2ad7d1c91c3ba622c.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Nos n\u00f3s de armazenamento, os dados s\u00e3o armazenados na mem\u00f3ria ou em armazenamento local com base na biblioteca RocksDB. Ao armazenar dados de forma permanente, eles s\u00e3o mantidos em formato criptografado (a chave de criptografia pode ser definida tanto pelo cliente quanto estar definida no n\u00edvel do proxy).      <center><img decoding=\"async\" alt=\"PayPal abriu o c\u00f3digo do SGBD JunoDB\" src=\"\/wp-content\/uploads\/2023\/05\/f3069583a7f226d91f12d7d46f1c139f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Para interagir com o banco de dados a partir de aplicativos, uma biblioteca cliente \u00e9 fornecida, oferecendo uma API para aplicativos em linguagens como Java, Go e C++. A parte do cliente \u00e9 maximamente simplificada, e a l\u00f3gica complexa e as configura\u00e7\u00f5es s\u00e3o, sempre que poss\u00edvel, transferidas para o lado do SGBD. A intera\u00e7\u00e3o entre o cliente e o balanceador de carga ou proxy ocorre atrav\u00e9s de um canal de comunica\u00e7\u00e3o criptografado. Para gerenciar e enviar solicita\u00e7\u00f5es, \u00e9 poss\u00edvel utilizar a interface de linha de comando, que reproduz todas as funcionalidades da API do cliente.      <\/p>\n<p>O sistema foi projetado para processar solicita\u00e7\u00f5es com lat\u00eancias previs\u00edveis e baixas, por exemplo, um cluster de tr\u00eas n\u00f3s de armazenamento e um proxy, formado a partir de ambientes n1-highmem-32 (32 CPU Intel Xeon 2.30GHz, 214GB de RAM e 450GB de armazenamento baseado em SSD), conseguiu fornecer lat\u00eancias fixas que n\u00e3o ultrapassaram 2.5 ms em 95% dos casos e 16 ms em 99% ao processar 200 mil conex\u00f5es TLS simult\u00e2neas e um fluxo de 15 mil solicita\u00e7\u00f5es por segundo (com 3000 conex\u00f5es simult\u00e2neas e um fluxo de 80 mil solicita\u00e7\u00f5es por segundo, as lat\u00eancias n\u00e3o ultrapassaram 6 ms em 95% dos casos e 15 ms em 99%). Nos servi\u00e7os do PayPal, a JunoDB atende cerca de 350 bilh\u00f5es de solicita\u00e7\u00f5es por dia.    <center><img decoding=\"async\" alt=\"PayPal abriu o c\u00f3digo do SGBD JunoDB\" src=\"\/wp-content\/uploads\/2023\/05\/61f0f3a3fdcf9974b4a5dcaef64bdba3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=59169\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f PayPal \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 JunoDB, \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0441 \u043e\u0433\u043b\u044f\u0434\u043a\u043e\u0439 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c, \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u044c, \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c \u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u043e\u0442\u043d\u0438 \u0442\u044b\u0441\u044f\u0447 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u0441 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430\u043c\u0438. \u0412 PayPal \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u043e\u0442 \u0432\u0445\u043e\u0434\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0434\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0437\u0430\u0432\u044f\u0437\u0430\u043d\u044b \u043d\u0430 JunoDB. \u041a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":108648,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-108647","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f PayPal \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 JunoDB, \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.\" \/>\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\/pt\/blog\/news\/paypal-otkryl-kod-subd-junodb\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\udd47PayPal \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0421\u0423\u0411\u0414 JunoDB | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f PayPal \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 JunoDB, \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/paypal-otkryl-kod-subd-junodb\" \/>\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=\"2023-05-21T10:49:12+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2023-05-22T08:28:52+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\udd47PayPal lan\u00e7ou o c\u00f3digo do SGBD JunoDB | ProHoster","description":"A PayPal lan\u00e7ou o c\u00f3digo-fonte do SGBD JunoDB tolerante a falhas, que manipula dados no formato chave-valor.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/paypal-otkryl-kod-subd-junodb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\udd47PayPal \u043e\u0442\u043a\u0440\u044b\u043b \u043a\u043e\u0434 \u0421\u0423\u0411\u0414 JunoDB | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f PayPal \u043e\u0442\u043a\u0440\u044b\u043b\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 JunoDB, \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043a\u043b\u044e\u0447-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/paypal-otkryl-kod-subd-junodb","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":"2023-05-21T10:49:12+00:00","article:modified_time":"2023-05-22T08:28:52+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"108647","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":"default","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":"2026-02-09 16:51:35","updated":"2026-02-19 09:14:05","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/108647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=108647"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/108647\/revisions"}],"predecessor-version":[{"id":161834,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/108647\/revisions\/161834"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/108648"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=108647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=108647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=108647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}