[{"data":1,"prerenderedAt":1198},["ShallowReactive",2],{"uuid-content-pt-br":3,"mdc-l77cfo-key":712,"mdc--ajjewy-key":722,"mdc--m6vt7o-key":746,"mdc--n8sztt-key":754,"mdc-2jtsu5-key":781,"mdc-cwib2j-key":789,"mdc-q0mtzs-key":808,"mdc-dk88z-key":816,"mdc-q6emhr-key":824,"mdc-5uuuyn-key":832,"mdc--2oipqp-key":859,"mdc--f96f02-key":867,"mdc-4hzgap-key":883,"mdc-8bzf4i-key":891,"mdc-iuq0db-key":906,"mdc--phxwua-key":914,"mdc-sbzf1y-key":928,"mdc--8vl1rs-key":936,"mdc--u99n73-key":973,"mdc--z7zdxm-key":981,"mdc--ph4lcb-key":997,"mdc-yzdcer-key":1005,"mdc--4el0ah-key":1028,"mdc-295yyu-key":1036,"mdc-o449s0-key":1079,"mdc--yblfax-key":1087,"mdc-ea7igs-key":1095,"mdc--wq6i6j-key":1103,"mdc--kaf0hm-key":1119,"mdc-wwuxrv-key":1127,"mdc-657y4d-key":1135,"mdc--mqv3ny-key":1143,"mdc--6ipacp-key":1151,"mdc--8xaqzz-key":1159,"mdc--u5u0f7-key":1174,"mdc-b99wru-key":1182},{"id":4,"title":5,"author":6,"body":7,"description":34,"extension":648,"faq":649,"meta":704,"navigation":705,"path":706,"publishedAt":707,"seo":708,"stem":709,"subtitle":710,"updatedAt":707,"__hash__":711},"uuid_content\u002Fpt-br\u002Fuuid-content.md","UUIDs: guia do usuário e conteúdo de suporte","ToolkitVault.com",{"type":8,"value":9,"toc":635},"minimark",[10,15,24,35,77,80,84,91,93,97,256,261,293,295,299,323,337,339,343,354,360,362,366,406,408,412,547,549,553,556,558,562,567,573,578,584,600,602,606,629],[11,12,14],"h2",{"id":13},"o-que-é-um-uuid","O que é um UUID?",[16,17,18,19,23],"p",{},"Um ",[20,21,22],"strong",{},"UUID (Universally Unique Identifier)"," é um valor de 128 bits projetado para ser único entre sistemas sem depender de uma autoridade central. Normalmente, ele é representado por 36 caracteres (32 hexadecimais e 4 hifens), por exemplo:",[25,26,31],"pre",{"className":27,"code":29,"language":30},[28],"language-text","550e8400-e29b-41d4-a716-446655440000\n","text",[32,33,29],"code",{"__ignoreMap":34},"",[36,37,38,44,54,68],"ul",{},[39,40,41],"li",{},[20,42,43],{},"128 bits = 16 bytes",[39,45,46,49,50,53],{},[20,47,48],{},"Formatos de texto:"," com hifens (",[32,51,52],{},"8-4-4-4-12",") ou compacto, com 32 caracteres hexadecimais",[39,55,56,59,60,63,64,67],{},[20,57,58],{},"Maiúsculas e minúsculas:"," ",[32,61,62],{},"A"," a ",[32,65,66],{},"F"," podem ser maiúsculas ou minúsculas",[39,69,70,59,73,76],{},[20,71,72],{},"UUID nil:",[32,74,75],{},"00000000-0000-0000-0000-000000000000"," (especial “tudo zeros”)",[78,79],"hr",{},[11,81,83],{"id":82},"o-padrão-oficial","O padrão oficial",[16,85,86,87,90],{},"O padrão atual da IETF é a ",[20,88,89],{},"RFC 9562 (maio de 2024)",", que substitui a RFC 4122. Ela esclarece versões anteriores e apresenta formatos modernos ordenáveis por tempo para melhorar o desempenho em bancos de dados e logs.",[78,92],{},[11,94,96],{"id":95},"versões-de-uuid-e-definições","Versões de UUID e definições",[98,99,100,119],"table",{},[101,102,103],"thead",{},[104,105,106,110,113,116],"tr",{},[107,108,109],"th",{},"Versão",[107,111,112],{},"Ideia-chave",[107,114,115],{},"Uso típico",[107,117,118],{},"Notas",[120,121,122,139,155,171,187,202,218,240],"tbody",{},[104,123,124,130,133,136],{},[125,126,127],"td",{},[20,128,129],{},"UUID v1",[125,131,132],{},"Tempo + identificador de nó",[125,134,135],{},"Sistemas legados, correlação de logs",[125,137,138],{},"Pode expor informações de horário e host.",[104,140,141,146,149,152],{},[125,142,143],{},[20,144,145],{},"UUID v2",[125,147,148],{},"DCE security (IDs POSIX)",[125,150,151],{},"Especializado\u002Flegado",[125,153,154],{},"Raro fora de DCE.",[104,156,157,162,165,168],{},[125,158,159],{},[20,160,161],{},"UUID v3",[125,163,164],{},"Baseado em nome (MD5)",[125,166,167],{},"IDs estáveis a partir de um nome",[125,169,170],{},"Determinístico; MD5 está desatualizado. Prefira v5.",[104,172,173,178,181,184],{},[125,174,175],{},[20,176,177],{},"UUID v4",[125,179,180],{},"Aleatório (122 bits)",[125,182,183],{},"IDs gerais",[125,185,186],{},"Simples, muito suportado.",[104,188,189,194,197,199],{},[125,190,191],{},[20,192,193],{},"UUID v5",[125,195,196],{},"Baseado em nome (SHA-1)",[125,198,167],{},[125,200,201],{},"Determinístico; mesma entrada → mesmo UUID.",[104,203,204,209,212,215],{},[125,205,206],{},[20,207,208],{},"UUID v6",[125,210,211],{},"Ordenado por tempo (v1 reorganizado)",[125,213,214],{},"Inserções ordenadas",[125,216,217],{},"Na prática, foi substituído pelo v7.",[104,219,220,225,230,235],{},[125,221,222],{},[20,223,224],{},"UUID v7",[125,226,227],{},[20,228,229],{},"Tempo + aleatoriedade",[125,231,232],{},[20,233,234],{},"Chaves de bancos de dados, logs, eventos",[125,236,237],{},[20,238,239],{},"Padrão moderno para UUIDs ordenáveis.",[104,241,242,247,250,253],{},[125,243,244],{},[20,245,246],{},"UUID v8",[125,248,249],{},"Personalizado",[125,251,252],{},"Interoperabilidade e testes",[125,254,255],{},"Para formatos e experimentos específicos.",[16,257,258],{},[20,259,260],{},"Escolhas rápidas:",[36,262,263,274,283],{},[39,264,265,266,269,270,273],{},"Precisa de IDs ",[20,267,268],{},"ordenáveis"," para melhorar a indexação no banco de dados? Use ",[20,271,272],{},"UUIDv7",".",[39,275,265,276,279,280,273],{},[20,277,278],{},"determinísticos"," a partir de uma entrada, como URL ou e-mail? Use ",[20,281,282],{},"UUIDv5",[39,284,285,286,289,290,273],{},"Precisa de um ID ",[20,287,288],{},"simples e imprevisível",", sem ordenação? Use ",[20,291,292],{},"UUIDv4",[78,294],{},[11,296,298],{"id":297},"por-que-o-uuidv7-é-uma-boa-escolha","Por que o UUIDv7 é uma boa escolha",[36,300,301,307,313],{},[39,302,303,306],{},[20,304,305],{},"Ordenável por tempo:"," codifica um timestamp Unix em milissegundos nos bits mais significativos, melhorando a localidade do índice e as consultas por intervalo.",[39,308,309,312],{},[20,310,311],{},"Continua imprevisível:"," bits restantes são aleatórios, tornando impraticável adivinhar IDs futuros.",[39,314,315,318,319,322],{},[20,316,317],{},"Vantagens operacionais:"," inserções mais eficientes em ",[20,320,321],{},"B-tree",", menos divisões de página e gravação mais rápida em escala.",[16,324,325,326,329,330,336],{},"Se você usa ",[20,327,328],{},"v1"," para ordenação, ",[20,331,332,333],{},"mudar para ",[32,334,335],{},"v7"," oferece benefícios semelhantes sem expor identificadores de hardware.",[78,338],{},[11,340,342],{"id":341},"risco-de-colisão","Risco de colisão",[16,344,345,346,349,350,353],{},"Para ",[20,347,348],{},"v4"," (122 bits aleatórios), colisões são astronomicamente improváveis. Em termos práticos, seria necessário gerar cerca de ",[20,351,352],{},"1 bilhão de UUIDs por segundo durante aproximadamente 85 anos"," para alcançar cerca de 50% de chance de colisão. Use um gerador aleatório de alta qualidade.",[16,355,356,359],{},[20,357,358],{},"Conclusão:"," em sistemas reais, trate UUIDs v4\u002Fv7 como únicos quando bem gerados.",[78,361],{},[11,363,365],{"id":364},"uuids-baseados-em-nome-v3v5","UUIDs baseados em nome (v3\u002Fv5)",[36,367,368,379,385,399],{},[39,369,370,371,374,375,378],{},"Combine um ",[20,372,373],{},"namespace"," (ex.: DNS, URL) com um ",[20,376,377],{},"nome"," (string) e faça hash.",[39,380,381,384],{},[20,382,383],{},"Determinístico:"," as mesmas entradas sempre produzem o mesmo UUID.",[39,386,387,388,391,392,391,395,398],{},"Ótimo para ",[20,389,390],{},"chaves de idempotência",", ",[20,393,394],{},"deduplicação",[20,396,397],{},"referências estáveis"," entre serviços.",[39,400,401,402,405],{},"Prefira ",[20,403,404],{},"v5 (SHA-1)"," em vez de v3 (MD5). Esses UUIDs são identificadores, não senhas.",[78,407],{},[11,409,411],{"id":410},"boas-práticas","Boas práticas",[413,414,415,438,472,484,497,511],"ol",{},[39,416,417,420],{},[20,418,419],{},"Escolha a versão certa",[36,421,422,427,432],{},[39,423,424,426],{},[20,425,335],{}," para ordem temporal e desempenho em bancos de dados.",[39,428,429,431],{},[20,430,348],{}," quando você precisa apenas de IDs aleatórios fortes.",[39,433,434,437],{},[20,435,436],{},"v5"," para IDs determinísticos de nomes (escolha um namespace fixo).",[39,439,440,443],{},[20,441,442],{},"Armazenamento",[36,444,445,459],{},[39,446,447,448,451,452,455,456,273],{},"Use colunas ",[20,449,450],{},"binárias de 16 bytes"," (ex.: ",[32,453,454],{},"BINARY(16)",") em vez de ",[32,457,458],{},"CHAR(36)",[39,460,461,462,465,466,469,470,273],{},"Em ",[20,463,464],{},"PostgreSQL",", use o tipo ",[32,467,468],{},"uuid","; para semântica ordenada, armazene ",[20,471,335],{},[39,473,474,477],{},[20,475,476],{},"Indexação",[36,478,479],{},[39,480,401,481,483],{},[20,482,335],{}," para evitar pontos de concentração aleatórios e melhorar a localidade do índice.",[39,485,486,489],{},[20,487,488],{},"Formatação",[36,490,491,494],{},[39,492,493],{},"Aceite formatos com hifens e compactos; normalize para um único formato nos logs.",[39,495,496],{},"Aceite caracteres hexadecimais em letras maiúsculas ou minúsculas.",[39,498,499,502],{},[20,500,501],{},"Segurança",[36,503,504],{},[39,505,506,507,510],{},"UUIDs são ",[20,508,509],{},"identificadores",", não segredos. Evite expor informações por meio do v1. Não use UUIDs como tokens de autenticação.",[39,512,513,516],{},[20,514,515],{},"Validação",[36,517,518],{},[39,519,520,521],{},"Exija:\n",[36,522,523,529,538],{},[39,524,525,526,528],{},"32 caracteres hexadecimais (compacto) ou ",[32,527,52],{}," com hifens",[39,530,531,533,534,537],{},[20,532,109],{}," correta (",[32,535,536],{},"1–8",")",[39,539,540,533,543,546],{},[20,541,542],{},"Variante",[32,544,545],{},"10xx"," para RFC)",[78,548],{},[11,550,552],{"id":551},"faq","FAQ",[554,555],"faq-list",{":items":551},[78,557],{},[11,559,561],{"id":560},"referência-rápida","Referência rápida",[16,563,564],{},[20,565,566],{},"Reconhecer um UUID com hifens, em letras maiúsculas ou minúsculas:",[25,568,571],{"className":569,"code":570,"language":30},[28],"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$\n",[32,572,570],{"__ignoreMap":34},[16,574,575],{},[20,576,577],{},"Compacto (sem hifens):",[25,579,582],{"className":580,"code":581,"language":30},[28],"^[0-9a-fA-F]{32}$\n",[32,583,581],{"__ignoreMap":34},[16,585,586],{},[20,587,588,589,63,592,595,596,599],{},"Detecte a versão no 13º dígito hexadecimal (",[32,590,591],{},"1",[32,593,594],{},"8",") e a variante no 17º dígito (",[32,597,598],{},"8|9|a|b",").",[78,601],{},[11,603,605],{"id":604},"quando-preferir-ids-sequenciais","Quando preferir IDs sequenciais",[36,607,608,615,622],{},[39,609,610,611,614],{},"Precisa de inteiros ",[20,612,613],{},"estritamente monotônicos",", como números de fatura.",[39,616,617,618,621],{},"Tabelas ",[20,619,620],{},"pequenas"," e chaves legíveis por humanos.",[39,623,624,625,628],{},"Precisa de ",[20,626,627],{},"significado de negócio"," embutido (UUIDs são intencionalmente opacos).",[16,630,631,632,634],{},"Nos demais casos, ",[20,633,272],{}," é uma escolha sólida.",{"title":34,"searchDepth":636,"depth":636,"links":637},2,[638,639,640,641,642,643,644,645,646,647],{"id":13,"depth":636,"text":14},{"id":82,"depth":636,"text":83},{"id":95,"depth":636,"text":96},{"id":297,"depth":636,"text":298},{"id":341,"depth":636,"text":342},{"id":364,"depth":636,"text":365},{"id":410,"depth":636,"text":411},{"id":551,"depth":636,"text":552},{"id":560,"depth":636,"text":561},{"id":604,"depth":636,"text":605},"md",[650,653,656,659,662,665,668,671,674,677,680,683,686,689,692,695,698,701],{"question":651,"answer":652},"O que é um UUID e como é formatado?","Um UUID é um identificador de 128 bits normalmente apresentado com 36 caracteres: `8-4-4-4-12` em hexadecimal com hifens (ex.: `550e8400-e29b-41d4-a716-446655440000`). Letras maiúsculas e minúsculas são equivalentes. O formato compacto usa 32 caracteres hexadecimais sem hifens.",{"question":654,"answer":655},"Que versão de UUID devo usar em 2025?","Por padrão, use **UUIDv7** para IDs ordenáveis por tempo e eficientes em índices de bancos de dados. Use **UUIDv4** para IDs aleatórios quando a ordenação não importa. Use **UUIDv5** quando precisar de IDs determinísticos derivados de um nome.",{"question":657,"answer":658},"Como diferem UUIDv4 e UUIDv7?","**v4** é puramente aleatório (122 bits aleatórios), simples mas não naturalmente ordenável. **v7** codifica um timestamp nos bits mais significativos e usa aleatoriedade no restante, permitindo ordenação quase cronológica com boa imprevisibilidade. É ideal para bancos de dados e logs com muitas gravações.",{"question":660,"answer":661},"GUID e UUID são a mesma coisa?","Na prática, sim, na maioria dos contextos de desenvolvimento. “GUID” é o termo da Microsoft; “UUID” é o nome do padrão IETF. Ambos se referem a identificadores únicos de 128 bits.",{"question":663,"answer":664},"Posso ordenar UUIDs cronologicamente?","**Sim, com v7**, que foi criado para ordenação temporal. **v1\u002Fv6** também permitem ordenar por tempo, mas apresentam questões de privacidade e compatibilidade. **v4** é aleatório e não ordenável por tempo.",{"question":666,"answer":667},"Qual a probabilidade de colisões de UUID?","Com um RNG adequado, **as colisões v4\u002Fv7 são astronomicamente improváveis** para volumes reais. Trate-os como únicos e garanta um gerador de alta qualidade.",{"question":669,"answer":670},"Quando usar UUIDs baseados em nome (v3\u002Fv5)?","Use **v5** para obter um ID estável a partir de um namespace (ex.: DNS, URL) e um nome (string). As mesmas entradas geram o mesmo UUID. Isso é útil para chaves de idempotência, deduplicação e referências entre serviços.",{"question":672,"answer":673},"UUIDs são seguros? Devo usá-los como segredos?","UUIDs são **identificadores**, não segredos. Não confie neles para autenticação\u002Fautorização. Evite dados sensíveis no v1, pois ele pode expor informações de horário e do host. Prefira v4\u002Fv7 e use segredos próprios para autenticação.",{"question":675,"answer":676},"Como devo armazenar UUIDs em bancos de dados?","Prefira tipos **binários de 16 bytes** quando disponíveis (ex.: PostgreSQL `uuid`, MySQL `BINARY(16)`), não `CHAR(36)`. Isso economiza espaço e acelera comparações e índices.",{"question":678,"answer":679},"Por que o v7 é recomendado para bancos de dados?","Os bits mais altos ordenados por tempo melhoram a **localidade de B-tree**, reduzem divisões de páginas e aceleram ingestão. Mantenha aleatoriedade suficiente para evitar previsibilidade e permitir consultas eficientes por intervalo.",{"question":681,"answer":682},"O que é o UUID nil e quando é usado?","O **nil UUID** é todo zeros: `00000000-0000-0000-0000-000000000000`. Representa um valor “vazio” ou não inicializado; não use para entidades reais.",{"question":684,"answer":685},"Como valido uma string UUID?","Verifique 32 caracteres hexadecimais (compacto) ou `8-4-4-4-12` com hifens, aceitando letras maiúsculas ou minúsculas, **versão** correta (`1–8`) e **variante** (`8|9|a|b`). Rejeite o resto.",{"question":687,"answer":688},"Há diferença entre letras maiúsculas e minúsculas?","Não. Caracteres hexadecimais não diferenciam maiúsculas de minúsculas. Normalize para um estilo, geralmente minúsculas, para manter a consistência em logs e interfaces.",{"question":690,"answer":691},"Posso embutir significado de negócio em UUIDs?","Evite. UUIDs são **opacos** por definição. Se você precisa de IDs legíveis ou estritamente monotônicos, use esquemas sequenciais ou formatos como ULID\u002FKSUID e considere as vantagens e desvantagens.",{"question":693,"answer":694},"Devo migrar de v1 para v7?","Sim, na maioria dos novos desenvolvimentos. v7 preserva benefícios de ordenação sem expor MAC\u002Ftempo. Em migrações, faça gravação dupla ou preenchimento retroativo, mantendo as chaves primárias estáveis para evitar alterações em massa.",{"question":696,"answer":697},"Qual a diferença entre UUIDs com e sem hífen?","Nenhuma diferença semântica. Hifens ajudam na leitura; o formato compacto economiza bytes em texto. Armazene em binário internamente e escolha um formato de apresentação único externamente.",{"question":699,"answer":700},"É correto usar UUIDs como chaves primárias?","Sim. Com **v7** (ou v4 com uma estratégia de ordenação), os bancos de dados funcionam bem. Garanta uma indexação adequada, use armazenamento binário e faça testes de desempenho com sua carga real.",{"question":702,"answer":703},"Como gerar IDs determinísticos em segurança com v5?","Escolha um **namespace UUID** fixo (DNS\u002FURL\u002Fpróprio) e uma string estável. O hashing (SHA-1) produz sempre o mesmo UUID. Não use v5 como segredo; trate-o apenas como identificador estável.",{},true,"\u002Fpt-br\u002Fuuid-content","2025-10-17T08:52:57+02:00",{"title":5,"description":34},"pt-br\u002Fuuid-content","Guia prático sobre UUIDs: diferenças entre v4 e v7, quando usar v5, armazenamento, indexação, validação e desempenho em bancos de dados.","2OxbO3InA7KG9uk-DRHwr6-MrIiWCWmpTYjKfKFp1ZU",{"data":713,"body":714},{},{"type":715,"children":716},"root",[717],{"type":718,"tag":16,"props":719,"children":720},"element",{},[721],{"type":30,"value":651},{"data":723,"body":724},{},{"type":715,"children":725},[726],{"type":718,"tag":16,"props":727,"children":728},{},[729,731,736,738,744],{"type":30,"value":730},"Um UUID é um identificador de 128 bits normalmente apresentado com 36 caracteres: ",{"type":718,"tag":32,"props":732,"children":734},{"className":733},[],[735],{"type":30,"value":52},{"type":30,"value":737}," em hexadecimal com hifens (ex.: ",{"type":718,"tag":32,"props":739,"children":741},{"className":740},[],[742],{"type":30,"value":743},"550e8400-e29b-41d4-a716-446655440000",{"type":30,"value":745},"). Letras maiúsculas e minúsculas são equivalentes. O formato compacto usa 32 caracteres hexadecimais sem hifens.",{"data":747,"body":748},{},{"type":715,"children":749},[750],{"type":718,"tag":16,"props":751,"children":752},{},[753],{"type":30,"value":654},{"data":755,"body":756},{},{"type":715,"children":757},[758],{"type":718,"tag":16,"props":759,"children":760},{},[761,763,767,769,773,775,779],{"type":30,"value":762},"Por padrão, use ",{"type":718,"tag":20,"props":764,"children":765},{},[766],{"type":30,"value":272},{"type":30,"value":768}," para IDs ordenáveis por tempo e eficientes em índices de bancos de dados. Use ",{"type":718,"tag":20,"props":770,"children":771},{},[772],{"type":30,"value":292},{"type":30,"value":774}," para IDs aleatórios quando a ordenação não importa. Use ",{"type":718,"tag":20,"props":776,"children":777},{},[778],{"type":30,"value":282},{"type":30,"value":780}," quando precisar de IDs determinísticos derivados de um nome.",{"data":782,"body":783},{},{"type":715,"children":784},[785],{"type":718,"tag":16,"props":786,"children":787},{},[788],{"type":30,"value":657},{"data":790,"body":791},{},{"type":715,"children":792},[793],{"type":718,"tag":16,"props":794,"children":795},{},[796,800,802,806],{"type":718,"tag":20,"props":797,"children":798},{},[799],{"type":30,"value":348},{"type":30,"value":801}," é puramente aleatório (122 bits aleatórios), simples mas não naturalmente ordenável. ",{"type":718,"tag":20,"props":803,"children":804},{},[805],{"type":30,"value":335},{"type":30,"value":807}," codifica um timestamp nos bits mais significativos e usa aleatoriedade no restante, permitindo ordenação quase cronológica com boa imprevisibilidade. É ideal para bancos de dados e logs com muitas gravações.",{"data":809,"body":810},{},{"type":715,"children":811},[812],{"type":718,"tag":16,"props":813,"children":814},{},[815],{"type":30,"value":660},{"data":817,"body":818},{},{"type":715,"children":819},[820],{"type":718,"tag":16,"props":821,"children":822},{},[823],{"type":30,"value":661},{"data":825,"body":826},{},{"type":715,"children":827},[828],{"type":718,"tag":16,"props":829,"children":830},{},[831],{"type":30,"value":663},{"data":833,"body":834},{},{"type":715,"children":835},[836],{"type":718,"tag":16,"props":837,"children":838},{},[839,844,846,851,853,857],{"type":718,"tag":20,"props":840,"children":841},{},[842],{"type":30,"value":843},"Sim, com v7",{"type":30,"value":845},", que foi criado para ordenação temporal. ",{"type":718,"tag":20,"props":847,"children":848},{},[849],{"type":30,"value":850},"v1\u002Fv6",{"type":30,"value":852}," também permitem ordenar por tempo, mas apresentam questões de privacidade e compatibilidade. ",{"type":718,"tag":20,"props":854,"children":855},{},[856],{"type":30,"value":348},{"type":30,"value":858}," é aleatório e não ordenável por tempo.",{"data":860,"body":861},{},{"type":715,"children":862},[863],{"type":718,"tag":16,"props":864,"children":865},{},[866],{"type":30,"value":666},{"data":868,"body":869},{},{"type":715,"children":870},[871],{"type":718,"tag":16,"props":872,"children":873},{},[874,876,881],{"type":30,"value":875},"Com um RNG adequado, ",{"type":718,"tag":20,"props":877,"children":878},{},[879],{"type":30,"value":880},"as colisões v4\u002Fv7 são astronomicamente improváveis",{"type":30,"value":882}," para volumes reais. Trate-os como únicos e garanta um gerador de alta qualidade.",{"data":884,"body":885},{},{"type":715,"children":886},[887],{"type":718,"tag":16,"props":888,"children":889},{},[890],{"type":30,"value":669},{"data":892,"body":893},{},{"type":715,"children":894},[895],{"type":718,"tag":16,"props":896,"children":897},{},[898,900,904],{"type":30,"value":899},"Use ",{"type":718,"tag":20,"props":901,"children":902},{},[903],{"type":30,"value":436},{"type":30,"value":905}," para obter um ID estável a partir de um namespace (ex.: DNS, URL) e um nome (string). As mesmas entradas geram o mesmo UUID. Isso é útil para chaves de idempotência, deduplicação e referências entre serviços.",{"data":907,"body":908},{},{"type":715,"children":909},[910],{"type":718,"tag":16,"props":911,"children":912},{},[913],{"type":30,"value":672},{"data":915,"body":916},{},{"type":715,"children":917},[918],{"type":718,"tag":16,"props":919,"children":920},{},[921,922,926],{"type":30,"value":506},{"type":718,"tag":20,"props":923,"children":924},{},[925],{"type":30,"value":509},{"type":30,"value":927},", não segredos. Não confie neles para autenticação\u002Fautorização. Evite dados sensíveis no v1, pois ele pode expor informações de horário e do host. Prefira v4\u002Fv7 e use segredos próprios para autenticação.",{"data":929,"body":930},{},{"type":715,"children":931},[932],{"type":718,"tag":16,"props":933,"children":934},{},[935],{"type":30,"value":675},{"data":937,"body":938},{},{"type":715,"children":939},[940],{"type":718,"tag":16,"props":941,"children":942},{},[943,945,950,952,957,959,964,966,971],{"type":30,"value":944},"Prefira tipos ",{"type":718,"tag":20,"props":946,"children":947},{},[948],{"type":30,"value":949},"binários de 16 bytes",{"type":30,"value":951}," quando disponíveis (ex.: PostgreSQL ",{"type":718,"tag":32,"props":953,"children":955},{"className":954},[],[956],{"type":30,"value":468},{"type":30,"value":958},", MySQL ",{"type":718,"tag":32,"props":960,"children":962},{"className":961},[],[963],{"type":30,"value":454},{"type":30,"value":965},"), não ",{"type":718,"tag":32,"props":967,"children":969},{"className":968},[],[970],{"type":30,"value":458},{"type":30,"value":972},". Isso economiza espaço e acelera comparações e índices.",{"data":974,"body":975},{},{"type":715,"children":976},[977],{"type":718,"tag":16,"props":978,"children":979},{},[980],{"type":30,"value":678},{"data":982,"body":983},{},{"type":715,"children":984},[985],{"type":718,"tag":16,"props":986,"children":987},{},[988,990,995],{"type":30,"value":989},"Os bits mais altos ordenados por tempo melhoram a ",{"type":718,"tag":20,"props":991,"children":992},{},[993],{"type":30,"value":994},"localidade de B-tree",{"type":30,"value":996},", reduzem divisões de páginas e aceleram ingestão. Mantenha aleatoriedade suficiente para evitar previsibilidade e permitir consultas eficientes por intervalo.",{"data":998,"body":999},{},{"type":715,"children":1000},[1001],{"type":718,"tag":16,"props":1002,"children":1003},{},[1004],{"type":30,"value":681},{"data":1006,"body":1007},{},{"type":715,"children":1008},[1009],{"type":718,"tag":16,"props":1010,"children":1011},{},[1012,1014,1019,1021,1026],{"type":30,"value":1013},"O ",{"type":718,"tag":20,"props":1015,"children":1016},{},[1017],{"type":30,"value":1018},"nil UUID",{"type":30,"value":1020}," é todo zeros: ",{"type":718,"tag":32,"props":1022,"children":1024},{"className":1023},[],[1025],{"type":30,"value":75},{"type":30,"value":1027},". Representa um valor “vazio” ou não inicializado; não use para entidades reais.",{"data":1029,"body":1030},{},{"type":715,"children":1031},[1032],{"type":718,"tag":16,"props":1033,"children":1034},{},[1035],{"type":30,"value":684},{"data":1037,"body":1038},{},{"type":715,"children":1039},[1040],{"type":718,"tag":16,"props":1041,"children":1042},{},[1043,1045,1050,1052,1057,1058,1063,1065,1070,1072,1077],{"type":30,"value":1044},"Verifique 32 caracteres hexadecimais (compacto) ou ",{"type":718,"tag":32,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":30,"value":52},{"type":30,"value":1051}," com hifens, aceitando letras maiúsculas ou minúsculas, ",{"type":718,"tag":20,"props":1053,"children":1054},{},[1055],{"type":30,"value":1056},"versão",{"type":30,"value":533},{"type":718,"tag":32,"props":1059,"children":1061},{"className":1060},[],[1062],{"type":30,"value":536},{"type":30,"value":1064},") e ",{"type":718,"tag":20,"props":1066,"children":1067},{},[1068],{"type":30,"value":1069},"variante",{"type":30,"value":1071}," (",{"type":718,"tag":32,"props":1073,"children":1075},{"className":1074},[],[1076],{"type":30,"value":598},{"type":30,"value":1078},"). Rejeite o resto.",{"data":1080,"body":1081},{},{"type":715,"children":1082},[1083],{"type":718,"tag":16,"props":1084,"children":1085},{},[1086],{"type":30,"value":687},{"data":1088,"body":1089},{},{"type":715,"children":1090},[1091],{"type":718,"tag":16,"props":1092,"children":1093},{},[1094],{"type":30,"value":688},{"data":1096,"body":1097},{},{"type":715,"children":1098},[1099],{"type":718,"tag":16,"props":1100,"children":1101},{},[1102],{"type":30,"value":690},{"data":1104,"body":1105},{},{"type":715,"children":1106},[1107],{"type":718,"tag":16,"props":1108,"children":1109},{},[1110,1112,1117],{"type":30,"value":1111},"Evite. UUIDs são ",{"type":718,"tag":20,"props":1113,"children":1114},{},[1115],{"type":30,"value":1116},"opacos",{"type":30,"value":1118}," por definição. Se você precisa de IDs legíveis ou estritamente monotônicos, use esquemas sequenciais ou formatos como ULID\u002FKSUID e considere as vantagens e desvantagens.",{"data":1120,"body":1121},{},{"type":715,"children":1122},[1123],{"type":718,"tag":16,"props":1124,"children":1125},{},[1126],{"type":30,"value":693},{"data":1128,"body":1129},{},{"type":715,"children":1130},[1131],{"type":718,"tag":16,"props":1132,"children":1133},{},[1134],{"type":30,"value":694},{"data":1136,"body":1137},{},{"type":715,"children":1138},[1139],{"type":718,"tag":16,"props":1140,"children":1141},{},[1142],{"type":30,"value":696},{"data":1144,"body":1145},{},{"type":715,"children":1146},[1147],{"type":718,"tag":16,"props":1148,"children":1149},{},[1150],{"type":30,"value":697},{"data":1152,"body":1153},{},{"type":715,"children":1154},[1155],{"type":718,"tag":16,"props":1156,"children":1157},{},[1158],{"type":30,"value":699},{"data":1160,"body":1161},{},{"type":715,"children":1162},[1163],{"type":718,"tag":16,"props":1164,"children":1165},{},[1166,1168,1172],{"type":30,"value":1167},"Sim. Com ",{"type":718,"tag":20,"props":1169,"children":1170},{},[1171],{"type":30,"value":335},{"type":30,"value":1173}," (ou v4 com uma estratégia de ordenação), os bancos de dados funcionam bem. Garanta uma indexação adequada, use armazenamento binário e faça testes de desempenho com sua carga real.",{"data":1175,"body":1176},{},{"type":715,"children":1177},[1178],{"type":718,"tag":16,"props":1179,"children":1180},{},[1181],{"type":30,"value":702},{"data":1183,"body":1184},{},{"type":715,"children":1185},[1186],{"type":718,"tag":16,"props":1187,"children":1188},{},[1189,1191,1196],{"type":30,"value":1190},"Escolha um ",{"type":718,"tag":20,"props":1192,"children":1193},{},[1194],{"type":30,"value":1195},"namespace UUID",{"type":30,"value":1197}," fixo (DNS\u002FURL\u002Fpróprio) e uma string estável. O hashing (SHA-1) produz sempre o mesmo UUID. Não use v5 como segredo; trate-o apenas como identificador estável.",1786609986904]