Introdução
Olá e bem-vindo à segunda parte desta série!
Se você chegou aqui e não está totalmente ciente do que está acontecendo, este é um conteúdo que foi dividido em duas partes no qual compartilho meus resultados após testar a performance do MongoDB da versão 3.6 até a 8.0.
Neste post, não vou descrever a ideia principal por trás desta série, o ambiente ou como os testes foram conduzidos. Para isso, temos a primeira parte, que cobre todos esses pontos com todos os detalhes que consegui pensar.
Se você quiser entender este e outros detalhes por trás dos testes, fique à vontade para explorar a primeira parte no link abaixo:
Como usar o artigo
Esta seção será um breve guia sobre os dados e como usá-los/interpretá-los.
Abaixo, você verá cinco abas que podem ser acessadas para ver os resultados para cada número de threads testado e os cenários.
- Apenas clique, e ela se expandirá com os resultados.
Assim que expandir a aba, você verá uma tabela com as operações testadas (Cenário) na coluna mais à esquerda, e o resultado de todas as versões à direita.
- Os números após cada versão nessa linha significam Operações por Segundo.
Por exemplo:
- Para o cenário de Aggregation.FindProjectionDottedField.Indexed.
- O MongoDB 3.6 foi capaz de realizar 549,82 operações por segundo.
- O MongoDB 4.0 foi capaz de realizar 520,79 operações por segundo.
- e assim por diante…
Para mais detalhes sobre a metodologia, por favor, consulte a seção que a explica melhor na Parte 1.
Para ajudar na sua análise, as tabelas possuem algumas funcionalidades que podem ser usadas.
1. Você pode comparar os resultados facilmente: selecione a sua versão preferida e passe o mouse sobre a outra.
Por exemplo - Vamos usar a versão 8.0 como referência.
- Dessa forma, clique no cabeçalho daquela coluna:

Depois disso, ao passar o mouse sobre essa mesma linha, será mostrada a diferença percentual em comparação com a 8.0:

- Para aquele cenário, MongoDB 7.0 performou 33.19% menos operações quando comparado com 8.0.
2. Você pode habilitar/desabilitar “Highlight Version” (destacar versão).
![]()
A minha ideia era simples aqui: já que é um teste de benchmark, eu não queria mais só comparar os resultados. Mas queria também saber qual versão “ganhava” em cada cenário.
Quando habilitamos essa opção, ela destaca qual versão teve melhor desempenho para cada cenário:

3. Por fim, se você quiser analisar os números mais a fundo, pode simplesmente copiar e colar as tabelas no programa de sua preferência.
Além disso, a função de Pesquisa também está habilitada. Você pode filtrar as operações de seu interesse na tabela para refinar a análise, exibindo apenas os resultados correspondentes.
Resultados
1 Thread
| Cenário | ||||||||
|---|---|---|---|---|---|---|---|---|
| Aggregation.FindProjectionDottedField.Indexed | 549,82 | 520,79 | 83,22 | 537,70 | 520,07 | 523,60 | 351,54 | 526,16 |
| Aggregation.FindProjectionThreeFieldsCovered | 535,65 | 183,56 | 159,52 | 529,55 | 529,75 | 528,35 | 327,46 | 90,28 |
| Aggregation.IntNonIdFindOne | 116,02 | 551,54 | 501,36 | 540,36 | 528,13 | 505,94 | 387,63 | 544,00 |
| Aggregation.IntNonIdFindOneProjection | 517,51 | 526,85 | 479,84 | 534,33 | 528,77 | 494,39 | 449,53 | 213,48 |
| Aggregation.IntNonIdFindOneProjectionCovered | 555,07 | 549,38 | 523,55 | 534,96 | 530,24 | 522,73 | 342,03 | 504,77 |
| Aggregation.ProjectExclude_LargeArray | 1,66 | 1,39 | 1,67 | 66,94 | 68,00 | 69,29 | 372,20 | 381,89 |
| Aggregation.RegexPrefixFindOne | 165,54 | 558,66 | 539,90 | 553,90 | 526,83 | 530,12 | 235,84 | 522,72 |
| Aggregation.TwoInts | 514,38 | 513,78 | 500,85 | 543,10 | 521,65 | 518,79 | 251,29 | 526,85 |
| Insert.BigKeyIndex | 214,76 | 240,43 | 207,19 | 252,84 | 247,83 | 249,84 | 198,47 | 43,71 |
| Insert.Empty | 566,56 | 547,60 | 463,79 | 460,09 | 482,58 | 495,54 | 559,98 | 564,84 |
| Insert.EmptyCapped | 584,92 | 546,28 | 481,33 | 438,35 | 440,79 | 504,15 | 561,89 | 559,95 |
| Insert.EmptyCapped.SeqIntID | 555,33 | 450,80 | 530,16 | 562,73 | 541,74 | 387,68 | 555,56 | 561,15 |
| Insert.IntIDUpsert | 522,43 | 452,06 | 552,94 | 548,09 | 525,90 | 434,35 | 539,75 | 543,87 |
| Insert.IntVector | 414,49 | 424,03 | 405,78 | 437,02 | 419,40 | 415,26 | 436,54 | 479,75 |
| Insert.JustID | 576,85 | 525,46 | 493,94 | 352,15 | 477,87 | 516,43 | 547,72 | 563,17 |
| Insert.JustNum | 576,93 | 487,78 | 373,13 | 343,41 | 454,00 | 521,79 | 565,08 | 570,71 |
| Insert.JustNumIndexed | 576,42 | 535,18 | 360,27 | 334,95 | 451,65 | 470,25 | 550,88 | 558,24 |
| Insert.LargeDocVector | 14,94 | 20,21 | 74,30 | 79,14 | 78,82 | 77,55 | 98,73 | 116,84 |
| Insert.MultiIndex.Contested.Rnd | 502,40 | 511,48 | 361,62 | 539,11 | 537,31 | 519,49 | 331,44 | 214,71 |
| Insert.MultiIndex.Uncontested.Rnd | 489,47 | 532,98 | 344,57 | 532,32 | 549,89 | 521,17 | 329,89 | 447,74 |
| Insert.MultiKeyIndex.Contested.Rnd | 548,16 | 492,78 | 477,98 | 567,00 | 541,48 | 506,64 | 341,35 | 191,92 |
| Insert.MultiKeyIndex.Uncontested.Rnd | 557,14 | 530,25 | 412,90 | 562,42 | 540,95 | 543,55 | 375,91 | 100,63 |
| Insert.SeqIntID.Indexed | 585,13 | 522,91 | 476,73 | 391,06 | 422,20 | 521,61 | 549,32 | 557,84 |
| Insert.SingleIndex.Contested.Rnd | 573,26 | 547,45 | 559,17 | 550,02 | 545,32 | 534,08 | 448,52 | 539,75 |
| Insert.SingleIndex.Seq | 526,23 | 315,77 | 554,81 | 451,10 | 388,56 | 399,83 | 552,73 | 429,90 |
| Insert.SingleIndex.Uncontested.Rnd | 526,29 | 440,80 | 456,23 | 566,68 | 548,37 | 519,84 | 339,83 | 500,81 |
| Insert.UniqueIndex | 165,56 | 542,75 | 535,93 | 322,08 | 492,41 | 502,58 | 540,50 | 557,43 |
| Insert.UniqueIndexCompound | 188,58 | 210,20 | 546,26 | 552,93 | 555,67 | 509,03 | 539,88 | 554,93 |
| Insert.UniqueIndexCompoundReverse | 102,53 | 163,63 | 543,38 | 557,24 | 555,83 | 509,60 | 554,51 | 538,09 |
| InsertIndexedStringsNonSimpleCollation | 329,29 | 281,01 | 540,61 | 552,08 | 523,32 | 486,55 | 527,48 | 562,05 |
| InsertIndexedStringsSimpleCollation | 546,33 | 369,81 | 533,37 | 552,25 | 539,91 | 535,66 | 551,73 | 566,70 |
| Queries.FindProjectionDottedField.Indexed | 549,21 | 72,39 | 158,51 | 535,46 | 537,07 | 514,66 | 293,15 | 527,41 |
| Queries.FindProjectionThreeFieldsCovered | 560,71 | 369,78 | 524,34 | 543,33 | 533,79 | 533,62 | 436,69 | 101,86 |
| Queries.IdentityView.FindProjectionDottedField.Indexed | 537,89 | 81,74 | 78,71 | 524,89 | 508,26 | 507,72 | 271,09 | 509,93 |
| Queries.IdentityView.FindProjectionThreeFieldsCovered | 538,56 | 122,63 | 391,09 | 526,62 | 516,86 | 516,84 | 319,15 | 170,78 |
| Queries.IdentityView.IntNonIdFindOne | 335,00 | 421,46 | 450,12 | 435,18 | 529,54 | 449,29 | 506,23 | 413,62 |
| Queries.IdentityView.IntNonIdFindOneProjection | 517,99 | 529,67 | 523,89 | 530,39 | 519,40 | 499,02 | 280,82 | 518,35 |
| Queries.IdentityView.IntNonIdFindOneProjectionCovered | 536,97 | 503,37 | 500,88 | 525,81 | 527,24 | 507,81 | 295,71 | 522,36 |
| Queries.IdentityView.ProjectExclude_LargeArray | 1,33 | 1,38 | 1,65 | 68,87 | 68,71 | 67,80 | 349,69 | 408,48 |
| Queries.IdentityView.RegexPrefixFindOne | 97,58 | 546,43 | 520,64 | 525,20 | 528,20 | 516,53 | 325,64 | 526,84 |
| Queries.IdentityView.TwoInts | 374,13 | 436,14 | 484,26 | 528,24 | 529,67 | 453,33 | 526,11 | 363,43 |
| Queries.IntNonIdFindOne | 485,43 | 471,08 | 382,73 | 411,20 | 540,67 | 443,52 | 525,01 | 373,50 |
| Queries.IntNonIdFindOneProjection | 558,90 | 519,49 | 520,02 | 541,13 | 536,00 | 520,64 | 446,48 | 514,00 |
| Queries.IntNonIdFindOneProjectionCovered | 564,50 | 527,29 | 527,84 | 548,61 | 534,64 | 505,21 | 308,50 | 73,51 |
| Queries.PartialIndex.AllInFilter.FilteredRange | 1.016,58 | 1.027,46 | 1.008,08 | 1.083,24 | 1.030,15 | 963,53 | 595,77 | 1.047,29 |
| Queries.PartialIndex.AllInFilter.FullRange | 877,69 | 951,39 | 985,13 | 1.088,98 | 807,65 | 996,49 | 1.062,30 | 885,71 |
| Queries.PartialIndex.FilteredRange | 847,42 | 1.009,93 | 990,39 | 1.072,03 | 895,80 | 972,34 | 1.066,83 | 897,38 |
| Queries.PartialIndex.FullRange | 619,66 | 625,38 | 546,02 | 640,35 | 560,24 | 581,58 | 586,29 | 597,16 |
| Queries.PartialIndex.NonFilteredRange | 666,40 | 668,26 | 444,71 | 647,84 | 635,52 | 546,42 | 319,47 | 653,80 |
| Queries.ProjectExclude_LargeArray | 423,44 | 431,91 | 363,66 | 70,55 | 69,60 | 54,49 | 394,25 | 423,78 |
| Queries.RegexPrefixFindOne | 193,83 | 562,40 | 545,05 | 552,52 | 532,41 | 531,98 | 409,62 | 525,37 |
| Queries.TwoInts | 392,47 | 476,05 | 509,03 | 524,54 | 536,26 | 468,69 | 534,67 | 416,26 |
| Remove.IntId | 856,03 | 826,40 | 762,41 | 568,77 | 521,78 | 674,67 | 808,94 | 818,19 |
| Remove.IntNonIdIndex | 843,72 | 732,79 | 806,83 | 783,11 | 749,87 | 753,86 | 719,10 | 784,46 |
| Remove.IntNonIdNoIndex | 675,69 | 622,43 | 639,29 | 629,90 | 644,00 | 609,97 | 638,51 | 670,34 |
| Remove.IntNonIdUniqueIndex | 842,53 | 558,57 | 791,74 | 809,70 | 786,76 | 713,49 | 617,42 | 808,91 |
| Update.FieldAtOffset | 232,05 | 258,14 | 241,52 | 237,68 | 232,53 | 233,82 | 238,22 | 251,93 |
| Update.IncFewLargeDoc | 104,51 | 459,23 | 541,27 | 515,06 | 518,36 | 412,10 | 520,54 | 526,52 |
| Update.IncFewLargeDocLongFields | 557,03 | 292,26 | 508,68 | 515,78 | 531,15 | 264,50 | 529,23 | 526,41 |
| Update.IncFewSmallDoc | 159,39 | 409,16 | 516,18 | 527,58 | 535,26 | 400,68 | 522,48 | 530,12 |
| Update.IncFewSmallDocLongFields | 276,10 | 402,41 | 507,62 | 509,14 | 507,92 | 466,05 | 523,97 | 527,33 |
| Update.IncNoIndex | 499,40 | 558,83 | 457,77 | 520,38 | 522,89 | 523,50 | 508,88 | 535,76 |
| Update.IncNoIndexUpsert | 158,57 | 550,74 | 550,81 | 517,87 | 538,80 | 524,89 | 510,19 | 528,23 |
| Update.IncWithIndex | 306,39 | 555,70 | 533,02 | 509,65 | 490,94 | 499,15 | 417,74 | 531,58 |
| Update.IncWithIndexUpsert | 102,69 | 537,14 | 543,84 | 519,59 | 534,45 | 531,61 | 518,67 | 536,07 |
| Update.ManyElementsWithinArray | 245,78 | 261,74 | 252,38 | 256,30 | 268,81 | 253,42 | 247,93 | 256,78 |
| Update.MatchedElementWithinArray | 494,91 | 448,77 | 488,96 | 480,85 | 456,09 | 430,08 | 483,18 | 489,39 |
| Update.SetWithIgnoredIndex.Random | 496,61 | 554,84 | 439,08 | 529,83 | 477,93 | 481,88 | 464,14 | 187,95 |
| Update.SetWithIgnoredIndex.String | 556,54 | 540,68 | 383,08 | 531,86 | 519,18 | 463,27 | 346,73 | 513,00 |
| Update.SetWithIndex.Random | 519,43 | 549,11 | 534,27 | 537,61 | 517,77 | 528,40 | 331,01 | 495,23 |
| Update.SetWithMultiIndex.Random | 515,38 | 542,17 | 478,18 | 533,26 | 478,35 | 457,40 | 480,88 | 183,60 |
| Update.SetWithMultiIndex.String | 486,35 | 473,08 | 497,44 | 496,37 | 488,16 | 501,20 | 288,72 | 498,67 |
| Update.SingleDocFieldAtOffset | 778,08 | 815,97 | 663,70 | 803,50 | 755,28 | 790,42 | 699,73 | 798,43 |
| Update.UniqueIndex | 486,70 | 523,22 | 536,65 | 510,24 | 524,99 | 509,60 | 465,73 | 527,29 |
| Update.UniqueIndexCompoundReverse | 491,75 | 511,95 | 533,13 | 492,98 | 519,22 | 511,90 | 383,37 | 525,34 |
2 Threads
| Cenário | ||||||||
|---|---|---|---|---|---|---|---|---|
| Aggregation.FindProjectionDottedField.Indexed | 1.074,18 | 612,68 | 1.041,88 | 1.062,28 | 1.042,37 | 1.019,98 | 890,62 | 1.034,04 |
| Aggregation.FindProjectionThreeFieldsCovered | 1.079,55 | 647,14 | 1.066,45 | 1.037,92 | 1.034,55 | 1.004,32 | 907,86 | 1.049,77 |
| Aggregation.IntNonIdFindOne | 971,15 | 911,72 | 899,08 | 1.083,66 | 1.003,34 | 1.043,04 | 846,55 | 1.083,36 |
| Aggregation.IntNonIdFindOneProjection | 1.072,76 | 795,91 | 1.044,28 | 1.054,26 | 1.050,39 | 1.023,28 | 819,69 | 1.024,42 |
| Aggregation.IntNonIdFindOneProjectionCovered | 283,32 | 184,07 | 920,08 | 1.032,99 | 1.033,22 | 1.028,96 | 631,80 | 1.049,66 |
| Aggregation.ProjectExclude_LargeArray | 2,26 | 2,27 | 2,20 | 90,35 | 95,15 | 95,29 | 793,04 | 264,68 |
| Aggregation.RegexPrefixFindOne | 968,88 | 907,53 | 761,27 | 1.081,50 | 1.051,19 | 1.035,95 | 1.044,09 | 552,33 |
| Aggregation.TwoInts | 1.050,76 | 888,59 | 730,81 | 1.043,44 | 939,90 | 907,74 | 945,32 | 171,69 |
| Insert.BigKeyIndex | 353,18 | 358,73 | 272,71 | 361,16 | 360,16 | 356,57 | 240,56 | 363,60 |
| Insert.Empty | 1.107,45 | 1.039,66 | 1.091,18 | 1.112,87 | 1.071,99 | 1.055,44 | 1.061,53 | 1.106,78 |
| Insert.EmptyCapped | 1.110,82 | 1.042,36 | 1.084,44 | 1.101,31 | 1.062,96 | 1.076,40 | 1.068,71 | 1.108,80 |
| Insert.EmptyCapped.SeqIntID | 1.130,11 | 1.103,96 | 1.097,97 | 1.099,69 | 1.020,15 | 788,33 | 1.047,51 | 1.100,21 |
| Insert.IntIDUpsert | 1.125,52 | 1.064,67 | 1.049,49 | 1.065,14 | 923,99 | 870,45 | 1.067,61 | 1.058,47 |
| Insert.IntVector | 803,65 | 751,05 | 769,26 | 807,42 | 796,07 | 747,42 | 775,42 | 861,57 |
| Insert.JustID | 1.112,35 | 1.060,25 | 1.114,48 | 1.073,54 | 1.064,46 | 934,47 | 1.046,29 | 1.091,43 |
| Insert.JustNum | 1.113,80 | 1.055,19 | 1.048,37 | 1.104,74 | 1.043,13 | 1.059,35 | 1.025,21 | 1.091,63 |
| Insert.JustNumIndexed | 1.108,05 | 1.025,87 | 1.065,67 | 1.098,39 | 1.079,96 | 944,42 | 1.045,64 | 1.083,59 |
| Insert.LargeDocVector | 131,77 | 113,94 | 85,53 | 100,51 | 95,40 | 98,89 | 124,49 | 176,30 |
| Insert.MultiIndex.Contested.Rnd | 1.006,27 | 957,08 | 844,44 | 985,35 | 1.065,86 | 949,07 | 947,03 | 967,60 |
| Insert.MultiIndex.Uncontested.Rnd | 873,26 | 989,65 | 1.035,44 | 1.101,13 | 1.065,50 | 1.002,71 | 912,19 | 1.039,72 |
| Insert.MultiKeyIndex.Contested.Rnd | 956,00 | 960,36 | 1.029,59 | 992,49 | 1.085,07 | 899,73 | 898,27 | 1.056,98 |
| Insert.MultiKeyIndex.Uncontested.Rnd | 941,90 | 850,20 | 910,12 | 912,88 | 912,31 | 889,32 | 958,21 | 1.039,13 |
| Insert.SeqIntID.Indexed | 1.117,08 | 1.069,80 | 1.068,12 | 1.078,91 | 1.075,75 | 1.035,14 | 1.042,25 | 1.109,99 |
| Insert.SingleIndex.Contested.Rnd | 1.062,99 | 998,46 | 1.064,73 | 1.104,49 | 991,63 | 939,09 | 907,46 | 1.041,03 |
| Insert.SingleIndex.Seq | 1.012,22 | 1.089,71 | 813,89 | 1.116,81 | 1.074,50 | 1.042,03 | 756,80 | 1.052,63 |
| Insert.SingleIndex.Uncontested.Rnd | 1.020,16 | 955,89 | 886,22 | 1.064,64 | 1.006,45 | 895,93 | 990,91 | 1.029,24 |
| Insert.UniqueIndex | 1.089,73 | 1.049,43 | 1.075,41 | 1.074,22 | 937,61 | 1.047,29 | 1.044,29 | 1.075,61 |
| Insert.UniqueIndexCompound | 1.123,80 | 1.098,49 | 1.100,55 | 1.082,22 | 971,43 | 905,28 | 1.074,65 | 1.040,61 |
| Insert.UniqueIndexCompoundReverse | 1.135,03 | 1.104,63 | 1.085,85 | 1.068,16 | 1.071,46 | 902,79 | 1.085,87 | 1.070,36 |
| InsertIndexedStringsNonSimpleCollation | 1.119,74 | 1.098,11 | 1.066,01 | 1.094,67 | 952,66 | 749,69 | 1.069,10 | 1.048,74 |
| InsertIndexedStringsSimpleCollation | 1.110,17 | 1.094,20 | 1.076,62 | 1.086,81 | 947,39 | 784,78 | 1.077,98 | 1.044,89 |
| Queries.FindProjectionDottedField.Indexed | 799,93 | 959,63 | 889,87 | 1.077,24 | 849,10 | 982,49 | 804,09 | 1.059,37 |
| Queries.FindProjectionThreeFieldsCovered | 1.075,68 | 940,63 | 1.015,11 | 1.063,42 | 1.053,66 | 1.026,83 | 937,14 | 1.058,96 |
| Queries.IdentityView.FindProjectionDottedField.Indexed | 916,09 | 882,16 | 890,75 | 1.043,30 | 1.013,76 | 723,15 | 823,62 | 1.040,36 |
| Queries.IdentityView.FindProjectionThreeFieldsCovered | 1.018,12 | 726,28 | 892,29 | 1.044,27 | 1.030,30 | 961,32 | 865,62 | 1.040,35 |
| Queries.IdentityView.IntNonIdFindOne | 1.041,10 | 843,09 | 778,26 | 1.043,83 | 1.035,61 | 998,60 | 999,93 | 1.076,91 |
| Queries.IdentityView.IntNonIdFindOneProjection | 1.057,61 | 63,74 | 961,44 | 1.044,31 | 1.027,18 | 1.024,64 | 892,71 | 1.035,49 |
| Queries.IdentityView.IntNonIdFindOneProjectionCovered | 193,81 | 284,94 | 967,14 | 1.030,51 | 1.036,31 | 988,62 | 701,46 | 1.032,42 |
| Queries.IdentityView.ProjectExclude_LargeArray | 3,19 | 1,82 | 2,27 | 96,27 | 92,06 | 95,44 | 551,07 | 776,50 |
| Queries.IdentityView.RegexPrefixFindOne | 1.001,47 | 845,69 | 810,55 | 1.063,14 | 1.015,41 | 996,67 | 854,36 | 1.059,90 |
| Queries.IdentityView.TwoInts | 1.052,35 | 775,60 | 1.009,75 | 1.045,62 | 1.043,31 | 1.027,34 | 967,88 | 304,35 |
| Queries.IntNonIdFindOne | 1.068,37 | 844,14 | 982,88 | 1.065,29 | 1.071,68 | 994,64 | 925,68 | 1.097,63 |
| Queries.IntNonIdFindOneProjection | 188,15 | 237,52 | 802,53 | 1.073,76 | 918,04 | 937,33 | 900,46 | 982,86 |
| Queries.IntNonIdFindOneProjectionCovered | 253,70 | 823,27 | 873,53 | 1.082,97 | 1.045,54 | 758,51 | 893,06 | 1.077,93 |
| Queries.PartialIndex.AllInFilter.FilteredRange | 281,19 | 1.624,08 | 2.058,92 | 2.125,52 | 2.032,95 | 1.843,42 | 2.018,47 | 1.898,92 |
| Queries.PartialIndex.AllInFilter.FullRange | 2.058,80 | 2.129,69 | 2.173,14 | 2.098,82 | 2.058,97 | 2.016,49 | 1.517,03 | 2.124,48 |
| Queries.PartialIndex.FilteredRange | 733,50 | 1.863,10 | 2.152,56 | 2.136,43 | 2.049,72 | 1.973,12 | 1.441,56 | 346,71 |
| Queries.PartialIndex.FullRange | 182,72 | 1.207,43 | 1.283,42 | 1.287,80 | 1.245,08 | 1.124,40 | 1.041,78 | 1.355,92 |
| Queries.PartialIndex.NonFilteredRange | 431,85 | 1.021,71 | 1.186,80 | 1.255,11 | 1.179,53 | 958,56 | 1.145,35 | 1.247,08 |
| Queries.ProjectExclude_LargeArray | 820,94 | 684,04 | 765,71 | 96,39 | 92,45 | 95,41 | 572,06 | 823,98 |
| Queries.RegexPrefixFindOne | 991,54 | 789,27 | 766,86 | 1.081,52 | 1.078,01 | 837,09 | 883,12 | 1.068,80 |
| Queries.TwoInts | 1.067,33 | 552,68 | 593,64 | 1.072,09 | 949,97 | 934,89 | 923,27 | 255,57 |
| Remove.IntId | 1.643,27 | 1.280,16 | 1.540,90 | 1.602,48 | 1.562,38 | 1.435,79 | 1.202,63 | 1.615,66 |
| Remove.IntNonIdIndex | 1.621,43 | 1.292,18 | 1.570,70 | 1.608,08 | 1.572,45 | 1.548,55 | 1.163,34 | 1.592,97 |
| Remove.IntNonIdNoIndex | 1.385,75 | 1.147,50 | 1.300,19 | 1.308,72 | 1.247,21 | 1.202,27 | 1.003,98 | 1.328,84 |
| Remove.IntNonIdUniqueIndex | 1.622,25 | 1.444,82 | 1.624,38 | 1.558,93 | 1.477,01 | 1.266,53 | 1.433,48 | 1.519,07 |
| Update.FieldAtOffset | 470,07 | 491,87 | 481,13 | 465,62 | 430,29 | 477,76 | 480,81 | 477,78 |
| Update.IncFewLargeDoc | 1.047,76 | 933,94 | 1.074,63 | 1.045,81 | 953,13 | 949,61 | 1.020,33 | 1.045,76 |
| Update.IncFewLargeDocLongFields | 1.045,48 | 1.047,54 | 984,01 | 1.018,32 | 1.023,18 | 1.045,03 | 978,30 | 860,32 |
| Update.IncFewSmallDoc | 1.060,70 | 895,97 | 1.073,07 | 1.054,20 | 1.024,77 | 1.050,97 | 1.054,99 | 1.043,82 |
| Update.IncFewSmallDocLongFields | 1.044,89 | 1.069,97 | 972,86 | 1.017,07 | 1.037,76 | 1.048,58 | 972,92 | 1.037,87 |
| Update.IncNoIndex | 964,54 | 976,95 | 1.082,20 | 289,47 | 1.057,06 | 1.012,69 | 1.053,52 | 1.029,69 |
| Update.IncNoIndexUpsert | 998,96 | 1.056,66 | 1.033,29 | 699,59 | 1.040,61 | 1.048,01 | 971,44 | 1.037,18 |
| Update.IncWithIndex | 1.044,54 | 983,59 | 1.057,76 | 197,34 | 1.035,60 | 1.033,51 | 1.051,90 | 1.051,81 |
| Update.IncWithIndexUpsert | 1.006,43 | 1.042,28 | 1.040,45 | 1.016,85 | 1.049,29 | 1.051,95 | 952,07 | 1.035,84 |
| Update.ManyElementsWithinArray | 413,15 | 479,23 | 429,45 | 466,19 | 413,53 | 462,30 | 444,41 | 455,53 |
| Update.MatchedElementWithinArray | 814,85 | 977,42 | 838,37 | 954,68 | 857,27 | 957,55 | 901,13 | 960,32 |
| Update.SetWithIgnoredIndex.Random | 1.069,22 | 1.022,03 | 1.025,39 | 1.048,21 | 1.032,44 | 967,80 | 751,43 | 807,52 |
| Update.SetWithIgnoredIndex.String | 1.072,49 | 976,92 | 763,78 | 1.028,69 | 1.025,07 | 1.038,09 | 739,11 | 1.055,57 |
| Update.SetWithIndex.Random | 866,44 | 977,51 | 788,29 | 1.055,96 | 1.019,54 | 1.042,51 | 778,65 | 366,40 |
| Update.SetWithMultiIndex.Random | 1.056,61 | 1.052,06 | 983,22 | 1.007,76 | 1.029,99 | 678,91 | 703,64 | 196,71 |
| Update.SetWithMultiIndex.String | 1.012,97 | 1.008,94 | 988,20 | 1.027,00 | 999,44 | 990,87 | 818,38 | 977,40 |
| Update.SingleDocFieldAtOffset | 1.521,47 | 1.633,40 | 1.455,90 | 1.552,59 | 1.275,35 | 1.541,79 | 1.513,53 | 1.526,36 |
| Update.UniqueIndex | 897,50 | 969,29 | 1.031,53 | 1.034,25 | 974,51 | 986,25 | 980,18 | 1.033,86 |
| Update.UniqueIndexCompoundReverse | 1.064,17 | 1.050,34 | 967,86 | 1.003,89 | 659,07 | 1.006,09 | 986,01 | 1.019,17 |
4 Threads
| Cenário | ||||||||
|---|---|---|---|---|---|---|---|---|
| Aggregation.FindProjectionDottedField.Indexed | 1.465,67 | 1.470,96 | 2.038,51 | 1.920,82 | 1.942,90 | 1.928,34 | 1.971,08 | 2.045,44 |
| Aggregation.FindProjectionThreeFieldsCovered | 2.109,28 | 1.439,08 | 1.997,53 | 1.927,54 | 1.958,09 | 1.981,67 | 1.392,57 | 2.064,42 |
| Aggregation.IntNonIdFindOne | 2.132,75 | 1.457,83 | 1.522,33 | 1.982,80 | 2.075,43 | 1.989,09 | 1.566,11 | 2.147,90 |
| Aggregation.IntNonIdFindOneProjection | 2.135,76 | 239,29 | 1.954,71 | 1.917,03 | 1.971,47 | 1.936,14 | 1.482,27 | 2.068,66 |
| Aggregation.IntNonIdFindOneProjectionCovered | 2.017,89 | 746,89 | 2.044,43 | 1.903,95 | 2.024,03 | 1.933,69 | 1.684,72 | 395,83 |
| Aggregation.ProjectExclude_LargeArray | 4,40 | 3,32 | 2,65 | 110,71 | 110,24 | 112,90 | 1.206,83 | 1.645,77 |
| Aggregation.RegexPrefixFindOne | 2.131,52 | 1.334,40 | 1.984,66 | 1.949,68 | 1.996,29 | 1.973,27 | 1.828,54 | 2.082,74 |
| Aggregation.TwoInts | 1.868,52 | 1.492,28 | 2.038,79 | 1.925,56 | 1.984,00 | 1.705,15 | 1.401,59 | 1.421,43 |
| Insert.BigKeyIndex | 430,64 | 445,60 | 425,83 | 455,07 | 446,80 | 445,43 | 351,05 | 449,46 |
| Insert.Empty | 540,12 | 1.822,74 | 1.926,65 | 2.140,17 | 2.159,80 | 1.688,32 | 2.033,31 | 2.157,06 |
| Insert.EmptyCapped | 400,14 | 1.571,68 | 2.044,74 | 2.141,96 | 2.156,06 | 2.058,96 | 2.101,73 | 2.181,35 |
| Insert.EmptyCapped.SeqIntID | 621,39 | 1.662,99 | 1.938,71 | 2.158,69 | 1.815,88 | 1.573,74 | 2.094,49 | 2.166,36 |
| Insert.IntIDUpsert | 2.150,30 | 1.806,64 | 1.971,12 | 2.129,73 | 2.040,54 | 1.772,86 | 1.984,35 | 2.119,81 |
| Insert.IntVector | 568,93 | 1.394,61 | 1.468,62 | 1.552,90 | 1.534,68 | 1.487,63 | 1.478,20 | 1.752,80 |
| Insert.JustID | 422,76 | 1.870,83 | 1.997,43 | 2.078,62 | 2.039,52 | 2.046,30 | 1.998,61 | 2.144,92 |
| Insert.JustNum | 2.109,52 | 1.927,48 | 1.885,26 | 2.144,59 | 2.093,47 | 1.984,30 | 2.016,96 | 2.145,00 |
| Insert.JustNumIndexed | 2.056,79 | 1.586,64 | 1.825,54 | 2.139,94 | 2.093,59 | 1.675,63 | 1.970,61 | 2.143,81 |
| Insert.LargeDocVector | 147,18 | 117,59 | 101,17 | 97,89 | 104,50 | 105,83 | 150,22 | 204,49 |
| Insert.MultiIndex.Contested.Rnd | 1.719,37 | 1.928,93 | 1.701,69 | 1.856,34 | 2.061,78 | 1.843,44 | 1.747,01 | 2.048,19 |
| Insert.MultiIndex.Uncontested.Rnd | 1.355,09 | 1.573,68 | 1.642,79 | 2.067,79 | 1.958,49 | 1.704,02 | 1.781,93 | 2.106,42 |
| Insert.MultiKeyIndex.Contested.Rnd | 1.999,29 | 1.980,90 | 1.848,73 | 2.113,15 | 2.080,08 | 2.008,38 | 1.451,10 | 2.061,77 |
| Insert.MultiKeyIndex.Uncontested.Rnd | 2.019,17 | 2.034,53 | 1.380,31 | 1.771,41 | 2.076,91 | 2.003,32 | 1.495,01 | 2.053,13 |
| Insert.SeqIntID.Indexed | 2.049,51 | 1.207,52 | 2.020,72 | 2.126,69 | 2.039,84 | 2.036,59 | 1.934,11 | 2.129,67 |
| Insert.SingleIndex.Contested.Rnd | 184,73 | 1.698,75 | 1.860,51 | 1.993,73 | 2.112,91 | 1.842,98 | 1.765,75 | 1.062,45 |
| Insert.SingleIndex.Seq | 566,07 | 2.028,91 | 1.827,76 | 2.182,43 | 2.017,03 | 2.070,55 | 1.815,85 | 587,19 |
| Insert.SingleIndex.Uncontested.Rnd | 624,78 | 1.921,31 | 1.513,28 | 1.891,69 | 1.962,50 | 1.858,66 | 1.709,16 | 410,17 |
| Insert.UniqueIndex | 2.027,16 | 1.455,42 | 1.731,93 | 2.137,72 | 2.076,55 | 1.771,58 | 1.953,20 | 2.126,56 |
| Insert.UniqueIndexCompound | 2.023,47 | 2.045,20 | 1.700,59 | 2.143,07 | 2.027,91 | 1.842,09 | 2.009,92 | 2.152,22 |
| Insert.UniqueIndexCompoundReverse | 2.051,10 | 2.007,68 | 1.965,06 | 2.160,31 | 2.070,41 | 1.904,22 | 2.018,98 | 2.150,28 |
| InsertIndexedStringsNonSimpleCollation | 1.992,00 | 1.656,45 | 1.738,97 | 2.093,36 | 2.031,12 | 2.000,64 | 2.047,34 | 2.130,75 |
| InsertIndexedStringsSimpleCollation | 2.089,83 | 1.679,83 | 1.947,10 | 2.107,17 | 1.959,46 | 1.988,39 | 2.046,56 | 2.160,96 |
| Queries.FindProjectionDottedField.Indexed | 2.106,73 | 1.142,20 | 2.051,65 | 1.938,91 | 2.013,86 | 1.924,21 | 1.232,65 | 2.110,78 |
| Queries.FindProjectionThreeFieldsCovered | 2.070,64 | 1.801,32 | 2.007,80 | 2.046,79 | 1.940,56 | 1.943,14 | 1.653,63 | 2.036,32 |
| Queries.IdentityView.FindProjectionDottedField.Indexed | 2.143,25 | 1.225,43 | 1.479,20 | 1.988,90 | 1.937,34 | 1.968,07 | 1.413,02 | 2.047,54 |
| Queries.IdentityView.FindProjectionThreeFieldsCovered | 1.965,13 | 1.375,63 | 1.972,99 | 1.960,69 | 1.917,09 | 1.896,62 | 1.681,92 | 1.960,25 |
| Queries.IdentityView.IntNonIdFindOne | 2.105,55 | 1.171,45 | 1.962,95 | 1.934,02 | 1.831,76 | 1.892,11 | 1.686,51 | 1.896,55 |
| Queries.IdentityView.IntNonIdFindOneProjection | 2.087,41 | 382,85 | 1.926,93 | 1.875,40 | 1.945,91 | 1.898,21 | 1.458,80 | 2.042,92 |
| Queries.IdentityView.IntNonIdFindOneProjectionCovered | 2.118,66 | 1.107,16 | 1.965,59 | 1.957,85 | 1.965,18 | 1.935,24 | 1.406,13 | 701,45 |
| Queries.IdentityView.ProjectExclude_LargeArray | 3,62 | 3,38 | 2,65 | 108,43 | 110,00 | 108,68 | 902,46 | 378,87 |
| Queries.IdentityView.RegexPrefixFindOne | 2.174,41 | 1.587,02 | 2.076,12 | 1.952,04 | 1.984,40 | 1.952,23 | 1.944,78 | 2.091,63 |
| Queries.IdentityView.TwoInts | 2.008,58 | 1.684,54 | 1.973,83 | 1.966,50 | 1.937,09 | 2.005,51 | 1.827,03 | 2.040,02 |
| Queries.IntNonIdFindOne | 1.698,38 | 1.620,48 | 1.579,70 | 1.967,70 | 1.799,11 | 1.797,31 | 1.448,72 | 2.095,47 |
| Queries.IntNonIdFindOneProjection | 2.147,93 | 299,00 | 1.818,57 | 1.968,54 | 1.981,47 | 1.881,56 | 1.441,98 | 2.092,45 |
| Queries.IntNonIdFindOneProjectionCovered | 2.148,17 | 1.230,94 | 2.051,26 | 1.941,98 | 2.076,30 | 1.961,77 | 1.429,71 | 632,97 |
| Queries.PartialIndex.AllInFilter.FilteredRange | 3.675,52 | 3.583,88 | 3.459,55 | 4.005,42 | 3.891,68 | 3.368,57 | 3.482,61 | 3.928,29 |
| Queries.PartialIndex.AllInFilter.FullRange | 4.078,34 | 3.848,79 | 2.560,63 | 3.987,49 | 4.169,26 | 4.017,19 | 2.934,01 | 3.999,56 |
| Queries.PartialIndex.FilteredRange | 4.038,97 | 3.876,91 | 2.611,31 | 3.796,74 | 4.169,82 | 3.713,39 | 3.031,26 | 678,78 |
| Queries.PartialIndex.FullRange | 2.284,13 | 2.458,67 | 2.094,97 | 2.454,52 | 2.474,45 | 2.250,06 | 2.142,21 | 484,57 |
| Queries.PartialIndex.NonFilteredRange | 2.313,91 | 2.465,83 | 2.140,77 | 2.471,11 | 2.151,43 | 2.128,80 | 1.939,96 | 478,65 |
| Queries.ProjectExclude_LargeArray | 1.710,72 | 795,45 | 1.518,58 | 104,74 | 109,96 | 106,82 | 835,11 | 1.451,48 |
| Queries.RegexPrefixFindOne | 2.018,23 | 1.480,29 | 1.982,35 | 1.985,93 | 1.989,28 | 2.005,34 | 2.053,05 | 2.137,57 |
| Queries.TwoInts | 2.035,01 | 1.813,44 | 1.676,56 | 1.911,41 | 1.822,19 | 1.828,65 | 1.556,43 | 2.080,73 |
| Remove.IntId | 2.696,21 | 2.258,78 | 3.080,52 | 3.147,28 | 2.948,76 | 2.897,51 | 2.321,37 | 3.075,39 |
| Remove.IntNonIdIndex | 2.781,64 | 2.210,52 | 2.992,05 | 3.125,92 | 2.934,72 | 2.795,41 | 2.404,35 | 3.115,44 |
| Remove.IntNonIdNoIndex | 2.377,21 | 2.092,83 | 2.556,35 | 2.547,90 | 2.564,18 | 2.452,00 | 2.225,96 | 2.652,35 |
| Remove.IntNonIdUniqueIndex | 3.006,78 | 2.130,52 | 2.931,47 | 3.099,53 | 2.896,79 | 3.021,05 | 2.174,95 | 3.036,50 |
| Update.FieldAtOffset | 939,68 | 995,47 | 898,32 | 936,10 | 891,26 | 916,23 | 826,39 | 983,39 |
| Update.IncFewLargeDoc | 2.047,16 | 2.060,13 | 1.276,99 | 1.922,45 | 1.988,20 | 2.013,43 | 1.355,25 | 2.086,74 |
| Update.IncFewLargeDocLongFields | 2.054,37 | 2.064,08 | 979,46 | 1.239,83 | 2.015,07 | 2.020,10 | 1.115,60 | 2.048,54 |
| Update.IncFewSmallDoc | 2.023,67 | 2.025,32 | 1.253,65 | 1.964,75 | 2.037,89 | 2.002,53 | 1.200,84 | 2.052,51 |
| Update.IncFewSmallDocLongFields | 2.087,20 | 1.967,66 | 1.189,48 | 1.942,05 | 1.967,26 | 2.013,29 | 1.528,74 | 2.016,41 |
| Update.IncNoIndex | 2.023,19 | 2.050,81 | 1.665,34 | 1.970,66 | 2.014,59 | 2.004,61 | 1.304,71 | 2.051,76 |
| Update.IncNoIndexUpsert | 1.988,87 | 2.043,59 | 1.804,45 | 1.878,32 | 2.074,82 | 2.073,29 | 1.324,67 | 2.069,83 |
| Update.IncWithIndex | 1.981,88 | 2.020,96 | 1.849,89 | 1.855,24 | 2.001,41 | 1.946,28 | 1.702,11 | 2.056,14 |
| Update.IncWithIndexUpsert | 1.990,04 | 1.991,59 | 1.799,33 | 1.878,11 | 2.001,76 | 1.988,93 | 1.396,35 | 2.014,66 |
| Update.ManyElementsWithinArray | 694,87 | 667,85 | 591,07 | 638,81 | 675,30 | 682,60 | 638,61 | 681,41 |
| Update.MatchedElementWithinArray | 1.908,47 | 1.867,87 | 1.671,65 | 1.763,65 | 1.874,31 | 1.838,68 | 1.547,17 | 1.895,55 |
| Update.SetWithIgnoredIndex.Random | 2.078,02 | 2.028,81 | 1.357,32 | 1.981,79 | 1.993,16 | 1.904,72 | 1.319,32 | 2.115,62 |
| Update.SetWithIgnoredIndex.String | 2.081,82 | 2.036,55 | 1.591,01 | 2.006,36 | 2.022,58 | 2.025,71 | 1.260,34 | 2.076,17 |
| Update.SetWithIndex.Random | 1.836,89 | 1.985,04 | 1.540,07 | 1.954,73 | 2.013,08 | 1.966,59 | 1.218,37 | 2.093,32 |
| Update.SetWithMultiIndex.Random | 2.067,77 | 2.043,29 | 1.470,07 | 1.964,50 | 2.054,73 | 1.970,81 | 1.280,45 | 2.133,01 |
| Update.SetWithMultiIndex.String | 1.770,84 | 1.673,08 | 1.656,29 | 1.731,79 | 1.795,61 | 1.753,53 | 1.232,46 | 1.818,70 |
| Update.SingleDocFieldAtOffset | 2.558,10 | 3.043,63 | 2.242,28 | 2.896,44 | 3.134,77 | 2.981,63 | 1.959,95 | 3.099,88 |
| Update.UniqueIndex | 2.020,92 | 1.941,97 | 1.718,29 | 1.947,41 | 2.038,72 | 2.016,82 | 1.320,24 | 1.998,20 |
| Update.UniqueIndexCompoundReverse | 1.979,27 | 1.975,46 | 1.792,66 | 1.883,88 | 2.030,66 | 1.921,79 | 1.622,01 | 2.008,03 |
8 Threads
| Cenário | ||||||||
|---|---|---|---|---|---|---|---|---|
| Aggregation.FindProjectionDottedField.Indexed | 3.974,20 | 2.329,76 | 3.814,17 | 3.663,60 | 3.852,74 | 3.847,29 | 2.936,56 | 813,64 |
| Aggregation.FindProjectionThreeFieldsCovered | 3.775,84 | 3.111,84 | 3.494,03 | 3.626,39 | 3.768,70 | 3.843,68 | 2.984,58 | 3.759,98 |
| Aggregation.IntNonIdFindOne | 3.853,08 | 2.732,80 | 3.328,46 | 3.715,43 | 3.513,46 | 3.659,96 | 3.908,16 | 3.992,78 |
| Aggregation.IntNonIdFindOneProjection | 3.841,72 | 2.754,63 | 3.681,43 | 3.815,08 | 3.754,82 | 3.769,57 | 2.877,03 | 4.017,52 |
| Aggregation.IntNonIdFindOneProjectionCovered | 3.856,33 | 2.745,33 | 3.878,56 | 3.672,13 | 3.630,65 | 3.646,17 | 3.786,38 | 3.946,62 |
| Aggregation.ProjectExclude_LargeArray | 3,59 | 4,43 | 2,69 | 108,67 | 101,91 | 87,29 | 2.055,29 | 2.021,65 |
| Aggregation.RegexPrefixFindOne | 1.842,96 | 756,33 | 3.898,38 | 3.782,72 | 3.873,14 | 3.766,02 | 3.615,20 | 3.977,68 |
| Aggregation.TwoInts | 790,63 | 4.445,10 | 6.060,39 | 5.943,96 | 6.206,00 | 6.300,17 | 4.944,48 | 6.746,62 |
| Insert.BigKeyIndex | 507,10 | 527,92 | 492,92 | 530,15 | 547,38 | 480,06 | 495,26 | 526,31 |
| Insert.Empty | 6.902,72 | 3.212,14 | 3.789,47 | 4.026,99 | 6.842,70 | 6.386,68 | 6.486,69 | 3.849,80 |
| Insert.EmptyCapped | 6.367,27 | 4.327,08 | 3.895,02 | 4.138,99 | 5.777,43 | 5.976,81 | 5.756,65 | 2.057,95 |
| Insert.EmptyCapped.SeqIntID | 6.884,21 | 3.765,63 | 3.839,41 | 4.050,44 | 5.758,66 | 5.408,32 | 4.620,49 | 4.195,75 |
| Insert.IntIDUpsert | 3.829,44 | 2.647,89 | 3.495,91 | 3.143,26 | 3.929,69 | 3.666,43 | 3.698,54 | 3.955,88 |
| Insert.IntVector | 2.625,15 | 1.611,83 | 2.102,50 | 2.177,62 | 2.047,50 | 2.348,75 | 2.180,48 | 2.802,25 |
| Insert.JustID | 6.919,37 | 3.845,52 | 3.804,54 | 3.892,86 | 6.737,31 | 6.536,40 | 6.555,86 | 4.108,09 |
| Insert.JustNum | 6.630,92 | 3.996,72 | 3.401,50 | 6.896,94 | 6.825,86 | 6.521,51 | 4.609,95 | 4.104,46 |
| Insert.JustNumIndexed | 4.277,95 | 4.242,09 | 3.728,92 | 6.617,60 | 6.426,82 | 6.220,10 | 5.111,70 | 3.867,99 |
| Insert.LargeDocVector | 151,49 | 92,55 | 103,37 | 105,38 | 98,86 | 106,85 | 100,97 | 200,48 |
| Insert.MultiIndex.Contested.Rnd | 3.481,37 | 3.798,53 | 3.486,97 | 4.044,24 | 4.022,17 | 3.618,55 | 2.276,84 | 4.053,92 |
| Insert.MultiIndex.Uncontested.Rnd | 3.797,72 | 3.573,95 | 3.334,24 | 4.038,65 | 3.689,33 | 3.491,64 | 2.587,15 | 3.942,25 |
| Insert.MultiKeyIndex.Contested.Rnd | 3.767,87 | 3.869,36 | 2.773,45 | 3.981,25 | 3.370,14 | 3.938,48 | 2.521,24 | 4.043,39 |
| Insert.MultiKeyIndex.Uncontested.Rnd | 3.709,84 | 3.852,68 | 2.993,68 | 4.101,03 | 3.985,70 | 3.831,98 | 2.512,39 | 4.022,62 |
| Insert.SeqIntID.Indexed | 6.691,14 | 3.273,50 | 3.332,62 | 6.035,06 | 6.657,19 | 6.223,62 | 5.414,84 | 4.053,06 |
| Insert.SingleIndex.Contested.Rnd | 6.471,25 | 6.283,17 | 4.298,95 | 6.861,99 | 6.543,15 | 6.085,86 | 3.375,15 | 3.882,89 |
| Insert.SingleIndex.Seq | 6.199,83 | 6.720,84 | 4.776,02 | 6.977,37 | 6.490,10 | 6.759,82 | 3.513,89 | 3.967,25 |
| Insert.SingleIndex.Uncontested.Rnd | 3.195,23 | 3.806,27 | 2.945,79 | 4.092,47 | 4.024,94 | 3.700,46 | 3.216,19 | 3.965,95 |
| Insert.UniqueIndex | 2.372,41 | 3.403,40 | 3.889,42 | 6.809,33 | 6.842,90 | 6.357,36 | 4.374,27 | 3.937,22 |
| Insert.UniqueIndexCompound | 761,51 | 2.751,63 | 3.772,42 | 4.029,47 | 3.679,17 | 3.190,44 | 2.390,02 | 4.142,40 |
| Insert.UniqueIndexCompoundReverse | 1.420,57 | 2.807,08 | 3.916,69 | 4.039,06 | 3.977,37 | 2.631,87 | 2.567,22 | 4.074,20 |
| InsertIndexedStringsNonSimpleCollation | 757,02 | 2.721,24 | 2.606,52 | 3.939,57 | 3.650,93 | 3.649,89 | 3.063,12 | 4.134,00 |
| InsertIndexedStringsSimpleCollation | 1.345,07 | 3.103,80 | 3.607,52 | 3.850,89 | 3.858,93 | 3.617,03 | 1.835,40 | 4.160,80 |
| Queries.FindProjectionDottedField.Indexed | 3.624,43 | 2.511,73 | 3.339,24 | 3.762,79 | 3.871,33 | 3.751,39 | 2.744,80 | 4.036,64 |
| Queries.FindProjectionThreeFieldsCovered | 3.954,75 | 1.778,87 | 3.913,15 | 3.690,02 | 3.808,47 | 3.837,94 | 2.916,19 | 4.048,85 |
| Queries.IdentityView.FindProjectionDottedField.Indexed | 3.883,18 | 2.053,99 | 3.696,76 | 3.722,48 | 3.752,61 | 3.763,63 | 2.915,34 | 1.501,70 |
| Queries.IdentityView.FindProjectionThreeFieldsCovered | 4.053,92 | 2.713,60 | 3.653,73 | 3.692,23 | 3.854,50 | 3.701,34 | 2.438,46 | 3.927,97 |
| Queries.IdentityView.IntNonIdFindOne | 7.304,73 | 5.556,55 | 6.524,06 | 6.063,76 | 5.782,80 | 6.404,60 | 6.448,25 | 7.058,97 |
| Queries.IdentityView.IntNonIdFindOneProjection | 4.093,35 | 2.187,75 | 3.252,80 | 3.157,17 | 3.825,77 | 3.843,34 | 2.379,09 | 3.842,97 |
| Queries.IdentityView.IntNonIdFindOneProjectionCovered | 3.738,54 | 2.570,88 | 3.407,51 | 3.757,85 | 3.779,16 | 3.736,22 | 3.864,41 | 3.815,96 |
| Queries.IdentityView.ProjectExclude_LargeArray | 4,13 | 4,44 | 3,02 | 113,41 | 108,85 | 102,47 | 1.644,48 | 2.090,42 |
| Queries.IdentityView.RegexPrefixFindOne | 3.789,81 | 409,12 | 3.329,72 | 3.735,46 | 3.797,82 | 3.760,35 | 3.509,94 | 3.978,95 |
| Queries.IdentityView.TwoInts | 2.154,38 | 5.120,92 | 4.907,32 | 5.549,95 | 6.072,98 | 6.301,92 | 6.391,05 | 6.615,17 |
| Queries.IntNonIdFindOne | 6.331,84 | 3.912,83 | 2.932,64 | 6.116,18 | 6.481,64 | 5.880,31 | 6.382,83 | 6.637,69 |
| Queries.IntNonIdFindOneProjection | 3.675,00 | 2.349,92 | 3.797,64 | 3.740,08 | 3.824,52 | 3.863,38 | 2.784,93 | 4.054,36 |
| Queries.IntNonIdFindOneProjectionCovered | 3.814,22 | 3.268,18 | 3.300,14 | 3.739,37 | 3.784,24 | 3.881,77 | 3.598,01 | 3.988,98 |
| Queries.PartialIndex.AllInFilter.FilteredRange | 6.724,57 | 6.584,15 | 6.179,55 | 7.727,25 | 7.764,65 | 6.981,67 | 4.175,13 | 1.460,80 |
| Queries.PartialIndex.AllInFilter.FullRange | 12.720,81 | 12.926,38 | 5.573,81 | 12.879,27 | 12.775,73 | 12.819,41 | 8.192,07 | 1.453,81 |
| Queries.PartialIndex.FilteredRange | 13.004,89 | 12.630,37 | 6.290,12 | 13.151,52 | 13.320,24 | 12.586,46 | 6.355,81 | 7.576,60 |
| Queries.PartialIndex.FullRange | 6.443,27 | 6.979,87 | 3.716,03 | 6.448,59 | 6.150,79 | 5.401,97 | 4.156,13 | 823,27 |
| Queries.PartialIndex.NonFilteredRange | 4.691,05 | 4.530,44 | 3.068,72 | 4.649,39 | 4.755,82 | 4.148,56 | 3.067,17 | 1.778,74 |
| Queries.ProjectExclude_LargeArray | 2.130,96 | 1.466,20 | 1.601,94 | 101,99 | 105,05 | 93,76 | 1.861,07 | 2.051,74 |
| Queries.RegexPrefixFindOne | 3.902,11 | 1.174,37 | 3.561,57 | 3.739,73 | 3.764,43 | 3.788,44 | 3.671,81 | 4.086,69 |
| Queries.TwoInts | 1.729,63 | 252,22 | 6.070,65 | 6.203,02 | 5.903,36 | 5.805,31 | 4.653,69 | 6.481,44 |
| Remove.IntId | 8.679,77 | 7.664,24 | 9.586,29 | 10.228,76 | 9.676,14 | 9.484,21 | 10.170,84 | 5.720,41 |
| Remove.IntNonIdIndex | 5.889,09 | 3.501,37 | 6.723,06 | 6.893,29 | 6.493,42 | 6.389,60 | 6.060,72 | 6.088,82 |
| Remove.IntNonIdNoIndex | 4.045,50 | 3.798,01 | 5.154,45 | 5.144,34 | 5.008,42 | 4.794,21 | 5.026,99 | 5.213,79 |
| Remove.IntNonIdUniqueIndex | 5.927,39 | 4.406,42 | 6.767,10 | 6.651,16 | 6.596,98 | 6.544,65 | 6.345,44 | 5.959,39 |
| Update.FieldAtOffset | 1.814,15 | 1.922,38 | 1.741,03 | 1.755,06 | 1.738,00 | 1.802,85 | 1.535,20 | 1.913,23 |
| Update.IncFewLargeDoc | 3.802,65 | 3.809,97 | 3.400,45 | 3.892,27 | 3.828,79 | 3.799,63 | 2.738,50 | 3.987,18 |
| Update.IncFewLargeDocLongFields | 3.576,40 | 3.671,24 | 2.777,34 | 2.915,66 | 3.801,78 | 3.760,61 | 3.027,71 | 3.813,54 |
| Update.IncFewSmallDoc | 3.759,27 | 3.763,83 | 3.663,11 | 3.831,23 | 3.766,67 | 3.774,87 | 2.169,40 | 3.950,84 |
| Update.IncFewSmallDocLongFields | 3.491,92 | 3.644,57 | 2.496,52 | 3.658,37 | 3.745,08 | 3.602,90 | 2.383,13 | 3.811,93 |
| Update.IncNoIndex | 3.831,64 | 3.925,51 | 3.620,47 | 3.835,07 | 3.346,24 | 3.802,30 | 3.878,32 | 3.962,30 |
| Update.IncNoIndexUpsert | 3.787,79 | 3.926,64 | 3.860,42 | 3.782,07 | 3.667,67 | 3.841,29 | 2.834,02 | 3.974,26 |
| Update.IncWithIndex | 3.771,46 | 3.938,18 | 3.625,32 | 3.921,27 | 3.882,87 | 3.867,75 | 3.318,00 | 3.952,32 |
| Update.IncWithIndexUpsert | 3.845,41 | 3.884,89 | 3.675,58 | 3.892,95 | 3.837,67 | 3.785,42 | 3.231,57 | 4.014,99 |
| Update.ManyElementsWithinArray | 873,53 | 883,98 | 603,08 | 851,66 | 890,57 | 888,56 | 903,66 | 878,64 |
| Update.MatchedElementWithinArray | 3.643,47 | 3.724,34 | 2.620,90 | 3.298,92 | 3.638,38 | 3.745,59 | 3.354,36 | 3.658,91 |
| Update.SetWithIgnoredIndex.Random | 3.767,77 | 3.820,96 | 3.791,34 | 3.833,91 | 3.934,65 | 3.833,94 | 2.432,69 | 3.979,04 |
| Update.SetWithIgnoredIndex.String | 3.870,39 | 3.905,12 | 3.776,64 | 3.868,73 | 3.785,82 | 3.828,55 | 2.589,16 | 3.701,03 |
| Update.SetWithIndex.Random | 3.197,45 | 3.944,44 | 3.804,85 | 3.664,30 | 3.837,14 | 3.658,75 | 2.468,09 | 3.938,28 |
| Update.SetWithMultiIndex.Random | 3.858,74 | 3.651,27 | 2.836,02 | 3.873,88 | 3.841,65 | 3.603,18 | 2.604,45 | 3.733,51 |
| Update.SetWithMultiIndex.String | 2.713,69 | 2.817,88 | 2.728,62 | 2.773,41 | 2.796,12 | 2.796,70 | 1.556,64 | 2.843,87 |
| Update.SingleDocFieldAtOffset | 5.663,20 | 5.771,71 | 5.184,62 | 5.732,85 | 5.077,04 | 5.749,83 | 4.457,62 | 5.981,02 |
| Update.UniqueIndex | 3.873,28 | 3.926,91 | 3.085,05 | 3.806,32 | 3.957,62 | 3.865,52 | 3.640,52 | 3.948,82 |
| Update.UniqueIndexCompoundReverse | 3.718,96 | 3.842,88 | 3.008,98 | 3.721,20 | 3.875,18 | 3.833,29 | 3.304,33 | 3.910,17 |
16 Threads
| Cenário | ||||||||
|---|---|---|---|---|---|---|---|---|
| Aggregation.FindProjectionDottedField.Indexed | 2.268,24 | 3.809,01 | 6.233,36 | 5.742,52 | 4.018,94 | 6.120,10 | 5.798,95 | 6.551,84 |
| Aggregation.FindProjectionThreeFieldsCovered | 6.240,93 | 5.436,75 | 6.078,55 | 5.965,51 | 4.057,61 | 6.034,12 | 6.093,79 | 6.321,56 |
| Aggregation.IntNonIdFindOne | 5.770,60 | 4.783,06 | 6.255,62 | 6.097,52 | 4.087,09 | 5.940,96 | 5.659,98 | 5.851,13 |
| Aggregation.IntNonIdFindOneProjection | 6.213,00 | 3.725,61 | 6.101,77 | 5.916,26 | 4.069,36 | 5.928,22 | 6.191,77 | 6.306,03 |
| Aggregation.IntNonIdFindOneProjectionCovered | 5.710,96 | 5.389,57 | 6.078,00 | 5.835,11 | 3.868,68 | 6.050,09 | 5.911,81 | 6.327,62 |
| Aggregation.ProjectExclude_LargeArray | 3,55 | 3,75 | 2,66 | 63,65 | 51,07 | 60,71 | 2.403,11 | 2.656,95 |
| Aggregation.RegexPrefixFindOne | 6.462,77 | 3.887,88 | 6.299,52 | 5.983,17 | 4.374,15 | 6.150,46 | 6.218,88 | 1.270,57 |
| Aggregation.TwoInts | 8.152,82 | 5.922,57 | 8.649,13 | 7.205,53 | 5.765,19 | 8.175,49 | 8.398,47 | 7.009,04 |
| Insert.BigKeyIndex | 512,42 | 523,40 | 469,78 | 540,45 | 531,44 | 547,73 | 496,85 | 515,76 |
| Insert.Empty | 9.212,58 | 5.056,48 | 8.223,45 | 8.974,76 | 8.210,68 | 8.344,94 | 8.170,69 | 7.905,01 |
| Insert.EmptyCapped | 8.614,45 | 6.696,03 | 8.182,35 | 8.416,89 | 7.389,78 | 7.626,27 | 6.973,56 | 8.017,76 |
| Insert.EmptyCapped.SeqIntID | 7.547,40 | 7.553,43 | 7.863,44 | 8.663,26 | 7.149,40 | 6.841,70 | 7.004,71 | 7.237,96 |
| Insert.IntIDUpsert | 5.910,03 | 3.893,74 | 5.808,75 | 6.181,19 | 6.004,68 | 6.097,64 | 6.208,95 | 7.519,04 |
| Insert.IntVector | 4.436,07 | 3.649,46 | 3.591,44 | 3.942,68 | 3.748,68 | 3.839,73 | 3.907,23 | 4.950,53 |
| Insert.JustID | 8.669,34 | 7.403,49 | 7.904,03 | 8.188,08 | 8.208,81 | 8.323,38 | 8.580,73 | 7.595,80 |
| Insert.JustNum | 8.531,05 | 5.130,49 | 7.766,85 | 8.606,75 | 8.234,00 | 8.127,51 | 8.878,77 | 7.867,75 |
| Insert.JustNumIndexed | 6.653,86 | 8.228,92 | 7.537,28 | 8.680,33 | 8.024,32 | 8.221,07 | 8.729,19 | 7.811,05 |
| Insert.LargeDocVector | 32,06 | 103,09 | 103,45 | 107,70 | 100,52 | 103,36 | 103,51 | 190,45 |
| Insert.MultiIndex.Contested.Rnd | 5.604,35 | 5.914,57 | 5.282,43 | 6.037,71 | 6.199,50 | 5.942,71 | 3.916,42 | 6.579,37 |
| Insert.MultiIndex.Uncontested.Rnd | 5.699,50 | 6.330,95 | 6.436,65 | 6.508,42 | 6.088,84 | 5.847,65 | 4.632,70 | 6.585,47 |
| Insert.MultiKeyIndex.Contested.Rnd | 6.265,60 | 5.948,19 | 4.553,25 | 6.375,62 | 6.278,23 | 6.355,33 | 4.160,08 | 6.337,13 |
| Insert.MultiKeyIndex.Uncontested.Rnd | 5.800,14 | 6.130,63 | 4.193,99 | 5.521,26 | 5.560,91 | 6.248,66 | 4.240,02 | 6.375,82 |
| Insert.SeqIntID.Indexed | 8.961,74 | 6.396,88 | 7.083,87 | 8.286,25 | 7.872,46 | 8.401,58 | 8.756,09 | 7.259,40 |
| Insert.SingleIndex.Contested.Rnd | 7.992,88 | 7.764,45 | 6.737,31 | 8.346,75 | 8.914,56 | 8.248,83 | 5.671,22 | 6.647,94 |
| Insert.SingleIndex.Seq | 8.407,15 | 8.532,29 | 7.216,85 | 8.583,43 | 8.780,40 | 8.653,36 | 5.027,00 | 6.819,42 |
| Insert.SingleIndex.Uncontested.Rnd | 6.162,11 | 6.302,31 | 4.772,38 | 6.101,36 | 6.364,27 | 6.261,44 | 4.257,60 | 6.751,40 |
| Insert.UniqueIndex | 6.560,32 | 7.840,90 | 7.629,72 | 8.847,40 | 8.097,12 | 8.397,22 | 8.533,80 | 7.878,45 |
| Insert.UniqueIndexCompound | 5.383,08 | 4.069,56 | 6.234,21 | 6.268,86 | 6.185,33 | 5.680,87 | 4.963,13 | 7.615,32 |
| Insert.UniqueIndexCompoundReverse | 2.512,59 | 5.927,50 | 6.216,04 | 6.014,65 | 6.371,94 | 6.058,43 | 4.702,57 | 7.656,48 |
| InsertIndexedStringsNonSimpleCollation | 5.012,87 | 3.874,69 | 5.813,25 | 6.300,02 | 6.374,53 | 5.578,35 | 4.922,43 | 7.862,98 |
| InsertIndexedStringsSimpleCollation | 4.459,98 | 4.328,26 | 5.902,36 | 6.116,25 | 6.129,90 | 5.821,99 | 4.059,61 | 7.560,15 |
| Queries.FindProjectionDottedField.Indexed | 3.064,18 | 4.348,22 | 6.253,54 | 6.148,49 | 4.228,22 | 6.161,60 | 5.873,60 | 6.634,76 |
| Queries.FindProjectionThreeFieldsCovered | 6.425,19 | 4.666,39 | 6.202,28 | 6.007,46 | 4.001,41 | 5.928,46 | 6.202,90 | 5.531,55 |
| Queries.IdentityView.FindProjectionDottedField.Indexed | 1.597,82 | 4.829,71 | 6.305,97 | 5.974,98 | 3.815,96 | 6.220,15 | 6.343,42 | 6.854,90 |
| Queries.IdentityView.FindProjectionThreeFieldsCovered | 6.245,71 | 4.050,85 | 5.947,19 | 5.806,52 | 3.887,34 | 5.942,14 | 6.167,18 | 6.489,94 |
| Queries.IdentityView.IntNonIdFindOne | 9.045,08 | 5.542,77 | 8.817,97 | 7.577,58 | 6.690,65 | 8.424,02 | 8.680,40 | 6.850,27 |
| Queries.IdentityView.IntNonIdFindOneProjection | 6.499,19 | 3.911,64 | 6.097,71 | 5.935,35 | 4.432,02 | 5.954,25 | 6.386,46 | 6.928,09 |
| Queries.IdentityView.IntNonIdFindOneProjectionCovered | 6.380,31 | 4.247,06 | 6.065,30 | 6.057,21 | 4.431,99 | 6.172,36 | 6.174,28 | 6.754,21 |
| Queries.IdentityView.ProjectExclude_LargeArray | 3,49 | 3,65 | 2,82 | 52,29 | 80,16 | 51,26 | 2.450,18 | 2.599,24 |
| Queries.IdentityView.RegexPrefixFindOne | 6.401,56 | 4.479,26 | 6.215,81 | 5.734,38 | 3.906,51 | 6.206,84 | 6.241,34 | 2.327,95 |
| Queries.IdentityView.TwoInts | 8.920,11 | 5.627,40 | 8.707,28 | 7.759,11 | 6.337,36 | 8.521,26 | 8.697,84 | 6.799,04 |
| Queries.IntNonIdFindOne | 8.275,69 | 668,14 | 8.425,97 | 8.020,84 | 5.048,23 | 8.652,21 | 8.663,66 | 6.759,52 |
| Queries.IntNonIdFindOneProjection | 6.238,42 | 4.513,72 | 6.168,98 | 6.057,19 | 3.820,76 | 6.087,54 | 6.030,32 | 6.674,99 |
| Queries.IntNonIdFindOneProjectionCovered | 6.274,50 | 3.616,14 | 6.222,98 | 6.087,49 | 5.066,53 | 6.149,71 | 6.119,86 | 6.572,13 |
| Queries.PartialIndex.AllInFilter.FilteredRange | 11.679,64 | 11.354,90 | 10.959,74 | 12.308,58 | 11.918,71 | 11.862,06 | 7.873,03 | 13.251,53 |
| Queries.PartialIndex.AllInFilter.FullRange | 16.647,94 | 15.085,80 | 15.551,04 | 16.798,04 | 16.648,79 | 16.924,29 | 10.629,73 | 13.523,61 |
| Queries.PartialIndex.FilteredRange | 15.835,41 | 15.234,96 | 14.047,65 | 17.023,15 | 16.934,38 | 16.756,73 | 12.400,98 | 13.370,99 |
| Queries.PartialIndex.FullRange | 9.816,05 | 9.531,88 | 8.290,68 | 9.358,33 | 9.043,47 | 7.809,06 | 7.132,63 | 8.737,22 |
| Queries.PartialIndex.NonFilteredRange | 7.917,54 | 8.036,37 | 6.862,52 | 7.692,94 | 6.532,21 | 6.054,01 | 5.125,70 | 8.788,57 |
| Queries.ProjectExclude_LargeArray | 2.771,19 | 2.066,90 | 2.038,63 | 84,96 | 60,67 | 48,58 | 2.640,35 | 2.667,75 |
| Queries.RegexPrefixFindOne | 6.255,63 | 5.515,36 | 6.233,94 | 5.950,09 | 4.223,26 | 6.317,36 | 6.338,60 | 2.479,81 |
| Queries.TwoInts | 8.090,58 | 4.964,69 | 8.714,63 | 7.593,34 | 5.562,74 | 8.494,55 | 8.306,38 | 5.238,30 |
| Remove.IntId | 2.321,03 | 9.018,91 | 12.972,18 | 12.703,89 | 10.130,68 | 12.364,90 | 9.458,04 | 12.226,17 |
| Remove.IntNonIdIndex | 1.512,08 | 9.211,40 | 11.204,29 | 11.357,01 | 11.322,52 | 11.247,42 | 9.468,27 | 11.202,22 |
| Remove.IntNonIdNoIndex | 2.423,65 | 4.889,45 | 9.600,34 | 9.633,84 | 9.599,44 | 8.935,66 | 8.109,97 | 9.429,73 |
| Remove.IntNonIdUniqueIndex | 9.209,19 | 5.297,17 | 11.367,54 | 11.486,13 | 11.358,91 | 11.012,77 | 8.257,02 | 11.435,45 |
| Update.FieldAtOffset | 2.889,96 | 3.055,16 | 2.809,03 | 2.679,78 | 2.702,82 | 2.801,44 | 2.200,13 | 3.408,60 |
| Update.IncFewLargeDoc | 6.029,52 | 6.013,99 | 5.489,09 | 5.972,71 | 6.050,02 | 5.997,90 | 4.089,03 | 6.018,12 |
| Update.IncFewLargeDocLongFields | 5.887,58 | 5.988,83 | 3.732,78 | 5.890,07 | 5.081,43 | 5.931,31 | 4.015,19 | 6.083,37 |
| Update.IncFewSmallDoc | 6.026,41 | 6.115,95 | 5.997,53 | 5.700,56 | 5.957,73 | 5.994,89 | 3.128,15 | 5.698,04 |
| Update.IncFewSmallDocLongFields | 5.893,05 | 5.968,93 | 4.955,41 | 6.046,87 | 5.879,81 | 5.981,52 | 3.622,15 | 5.634,18 |
| Update.IncNoIndex | 6.239,42 | 6.194,84 | 4.667,11 | 5.000,86 | 5.011,31 | 6.116,75 | 4.739,13 | 5.606,43 |
| Update.IncNoIndexUpsert | 6.154,58 | 6.167,01 | 5.574,71 | 6.033,96 | 5.392,56 | 5.963,98 | 5.544,68 | 6.306,17 |
| Update.IncWithIndex | 6.047,55 | 6.273,32 | 4.702,06 | 5.352,71 | 5.474,88 | 6.224,70 | 3.561,33 | 6.317,22 |
| Update.IncWithIndexUpsert | 6.042,66 | 6.247,27 | 5.084,17 | 6.152,90 | 5.437,46 | 6.220,47 | 4.312,69 | 6.178,67 |
| Update.ManyElementsWithinArray | 1.003,69 | 1.053,20 | 1.452,59 | 720,07 | 997,94 | 803,39 | 1.038,79 | 1.064,54 |
| Update.MatchedElementWithinArray | 5.575,73 | 5.548,69 | 4.119,40 | 5.998,30 | 5.704,66 | 5.719,65 | 3.275,16 | 5.778,47 |
| Update.SetWithIgnoredIndex.Random | 5.983,11 | 5.941,61 | 5.693,82 | 5.392,91 | 6.031,84 | 6.057,73 | 4.496,05 | 6.496,16 |
| Update.SetWithIgnoredIndex.String | 6.093,58 | 6.241,64 | 6.252,20 | 5.520,57 | 5.953,45 | 6.079,83 | 4.175,50 | 6.412,12 |
| Update.SetWithIndex.Random | 6.223,90 | 6.145,28 | 4.153,65 | 6.022,91 | 6.184,04 | 6.276,41 | 4.208,45 | 6.531,03 |
| Update.SetWithMultiIndex.Random | 6.135,82 | 6.211,07 | 5.988,63 | 6.122,36 | 5.898,44 | 6.095,18 | 3.910,60 | 6.415,47 |
| Update.SetWithMultiIndex.String | 4.139,77 | 4.097,18 | 4.113,24 | 4.086,66 | 4.140,62 | 4.221,21 | 3.242,07 | 1.402,13 |
| Update.SingleDocFieldAtOffset | 9.334,96 | 9.210,83 | 8.702,74 | 9.465,89 | 9.408,56 | 9.202,37 | 8.281,44 | 9.324,42 |
| Update.UniqueIndex | 5.787,61 | 6.282,54 | 5.967,15 | 6.752,86 | 6.216,44 | 6.165,37 | 4.111,89 | 6.417,95 |
| Update.UniqueIndexCompoundReverse | 5.895,15 | 6.195,69 | 6.014,30 | 6.311,69 | 6.120,61 | 6.229,54 | 5.391,47 | 6.335,64 |
Conclusão
Deixarei o julgamento final para você.
Isso porque uma das ideias por trás do uso de diferentes números de threads foi permitir que aqueles com recursos limitados pudessem entender melhor o que esperar do Mongo nestes cenários.
É quase impossível tirar uma conclusão de todos esses testes e expressá-la em uma única observação. Portanto, leve o seu tempo, examine os dados e a metodologia mais de perto e sinta-se à vontade para compartilhar suas opiniões na seção de comentários abaixo.
Dito isso, algumas considerações gerais podem ser compartilhadas.
- É justo comparar o MongoDB 8.0 com releases mais antigas, como 3.6, 4.0, e assim por diante?
Na minha opinião, não é.
Se olharmos para o componente principal, como a engine WiredTiger, ela mudou drasticamente para acomodar todas as novas funcionalidades e reforços de segurança (hardening) em torno do produto que você gosta; compará-los neste ponto é como comparar produtos diferentes.
Ainda assim, vale a pena também mencionar que essas mudanças não devem ser usadas para justificar regressões de desempenho em novas releases. Embora não seja justo comparar ambos os produtos, você é o seu próprio benchmark; e uma coisa que sabemos com certeza é que os usuários não aceitam ser enganados, especialmente quando se trata de perda de desempenho.
De acordo com as publicações nos posts do blog da equipe de engenharia (1, 2, 3), eles estavam cientes disso, e a abordagem mudou para o MongoDB 8:
[..] For instance, if any commit would regress a benchmark by more than 5% for our most important workloads, we would revert the commit. However, this threshold does not detect regressions of 0.1%, and there are thousands of commits per release (e.g., more than 9000 in MongoDB 8.0).
During the release of MongoDB 7.0, we started to take this gradual accumulation of performance loss by tiny regressions of release over release regressions seriously, so we changed the rules of the game. We decided we could not ship MongoDB 7.0 unless it at least matched MongoDB 6.0’s performance on the most important benchmarks.
É discutível se o 7.0 tem o mesmo desempenho do MongoDB 6.0, seja com base nos testes acima ou na experiência pessoal após trabalhar com todas essas releases.
Ainda assim, há uma coisa que este estudo e as notas dos engenheiros têm em comum
- O MongoDB 8.0 de fato tem um desempenho melhor que seus antecessores próximos.
Vale observar que este estudo não cobre áreas como consumo de recursos, que é um ótimo candidato para uma séries de posts separados.
Mas, neste momento, minha recomendação pessoal é fazer o upgrade para a release 8.0 o mais rápido possível para aproveitar essas melhorias.
Outra observação final e um fato curioso deste estudo é que, se removermos o MongoDB 8.0 dos resultados, podemos ver o MongoDB 3.6 lutando pela segunda release mais performática neste teste de benchmark, apresentando resultados ótimos e consistentes no geral.
Sinta-se à vontade para deixar sua opinião nos comentários abaixo, ou sinta-se à vontade para me contatar no LinkedIn.
Até mais!
Referências: