{"id":2318,"date":"2016-06-30T15:42:39","date_gmt":"2016-06-30T15:42:39","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2318"},"modified":"2025-10-09T07:11:12","modified_gmt":"2025-10-09T14:11:12","slug":"digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/","title":{"rendered":"Aprofundando o benchmark YCSB com o Couchbase Server 4.5"},"content":{"rendered":"<p dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\">Todo benchmark levanta alguns pontos de interroga\u00e7\u00e3o e responde a outros. Portanto, com cada benchmark, voc\u00ea mesmo precisa examinar os dados para obter informa\u00e7\u00f5es completas. Eu venho fazendo benchmarking h\u00e1 algum tempo, come\u00e7ando na era TPC com as guerras de benchmark e n\u00e3o aqui no Couchbase, onde impulsionamos o desempenho profundamente no produto por meio de benchmarks internos e externos com muitos de nossos clientes e parceiros.<\/p>\n<p>Espero que alguns de voc\u00eas j\u00e1 tenham visto os resultados de benchmark da Avalon comparando o MongoDB 3.2 e o Couchbase Server 4.5. Voc\u00ea pode encontrar a divulga\u00e7\u00e3o completa <a href=\"https:\/\/bit.ly\/28Opw4B\">aqui<\/a>. Vou me aprofundar em alguns detalhes do benchmark aqui e tentar explicar por que o Couchbase Server \u00e9 mais r\u00e1pido na execu\u00e7\u00e3o de consultas (YCSB Workload E) e no acesso a valores-chave (YCSB Workload A). Vamos analisar os resultados:<\/p>\n<h2>Carga de trabalho E: consulta de conversas encadeadas<\/h2>\n<p><a href=\"https:\/\/github.com\/brianfrankcooper\/YCSB\/wiki\/Core-Workloads\">Carga de trabalho E<\/a> no YCSB simula uma conversa encadeada e o objetivo \u00e9 recuperar uma consulta de intervalo o mais r\u00e1pido poss\u00edvel que est\u00e1 procurando por aproximadamente 50 conversas (itens). H\u00e1 tamb\u00e9m uma carga de trabalho de inser\u00e7\u00e3o leve que acompanha a consulta (%5 das opera\u00e7\u00f5es s\u00e3o INSERTs). Portanto<strong> Como o Couchbase Server \u00e9 capaz de executar &gt;3,7 vezes mais consultas\/seg. do que o MongoDB?<\/strong><\/p>\n<p style=\"text-align: center\">\u00a0<img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture3.jpg\" width=\"600\" \/><\/p>\n<h3><strong>#1 Execu\u00e7\u00e3o de consultas com \u00edndices globais no Couchbase Server<\/strong><\/h3>\n<p>A distribui\u00e7\u00e3o (sharding) do Couchbase e do MongoDB permite que os dados sejam distribu\u00eddos uniformemente entre os n\u00f3s. Cada n\u00f3 recebe uma fatia igual do total de itens. Esse teste tem 150 milh\u00f5es de itens distribu\u00eddos em 9 n\u00f3s. Carga de trabalho A consulta de varredura de intervalo E opera sobre um \u00edndice. Os \u00edndices do MongoDB s\u00e3o particionados para se alinharem aos dados em cada n\u00f3. Ou seja, cada n\u00f3 recebe uma parti\u00e7\u00e3o de \u00edndice que indexa localmente os dados. Nesse teste, o Couchbase Server usa \u00edndices globais. Os \u00edndices globais particionam o \u00edndice de forma independente.<\/p>\n<p>Por que isso \u00e9 importante? Isso significa que a execu\u00e7\u00e3o de consultas do MongoDB exige uma coleta dispersa nos 9 n\u00f3s de servidor que ele tem: veja a imagem do \u00edndice local abaixo. Em vez disso, o mecanismo N1QL do Couchbase Server usa um dos \u00edndices para fazer um \u00fanico salto de rede para executar a varredura de intervalo: veja a imagem do \u00edndice global abaixo.<\/p>\n<div>\n<table style=\"width: 1000px\" border=\"1\" cellspacing=\"1\" cellpadding=\"1\">\n<tbody>\n<tr>\n<td style=\"text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture4.jpg\" width=\"300\" \/><\/td>\n<td style=\"text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture5.jpg\" width=\"300\" \/><\/td>\n<td><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><em>Figura: Execu\u00e7\u00e3o de consulta com distribui\u00e7\u00e3o de \u00edndice global e local<\/em><\/p>\n<p>H\u00e1 um problema fundamental aqui com a arquitetura do \u00edndice local: Na etapa #1, a consulta de intervalo \u00e9 distribu\u00edda para todos os n\u00f3s. Nesse modelo, nenhum n\u00f3 do cluster pode responder \u00e0 pergunta, pois o \u00edndice usado para a execu\u00e7\u00e3o da consulta \u00e9 distribu\u00eddo de acordo com a distribui\u00e7\u00e3o de dados. Cada n\u00f3 precisa executar a mesma varredura de intervalo (a prop\u00f3sito, a consulta na carga de trabalho E do YCSB executa uma varredura de intervalo com \"order by\" e \"limit 50\") e pegar os itens que se enquadram no intervalo. Isso significa que voc\u00ea tem node-count*50 itens viajando para o n\u00f3 de coordena\u00e7\u00e3o. Esse teste executa milhares de consultas e o desperd\u00edcio se replica at\u00e9 que a rede fique saturada! Mas esse n\u00e3o \u00e9 o problema mais s\u00e9rio dos \u00edndices locais...<\/p>\n<p>Digamos que adicionemos um novo n\u00f3 ou expandamos esse cluster para 100 n\u00f3s, cada novo n\u00f3 ainda ter\u00e1 que executar a consulta. N\u00e3o \u00e9 poss\u00edvel dimensionar a consulta adicionando n\u00f3s! Na verdade, as coisas pioram \u00e0 medida que a rede se satura entre os n\u00f3s. Voc\u00ea tamb\u00e9m desperdi\u00e7a uma grande soma de capacidade da CPU e envolve todos os n\u00f3s o tempo todo.<\/p>\n<p>No caso da execu\u00e7\u00e3o de uma consulta no N1QL com \u00edndice global, o quadro \u00e9 muito diferente. O N1QL empurra \"order by\" e \"limit\" para o \u00edndice e traz apenas 50 itens. N\u00e3o h\u00e1 sobrecarga de rede... Na verdade, o N1QL acrescenta uma recupera\u00e7\u00e3o mais eficiente usando um conjunto de resultados compactado (RAW). Voc\u00ea pode adicionar um n\u00f3 ou expandir para 100 n\u00f3s e ver\u00e1 benef\u00edcios reais na taxa de transfer\u00eancia. Na verdade, voc\u00ea pode repetir o teste YCSB Workload E com 20 ou 30 n\u00f3s, e eu esperaria ver uma diferen\u00e7a maior entre as taxas de transfer\u00eancia do Couchbase Server e do MongoDB.<\/p>\n<h3><strong>#2 \u00cdndices otimizados para mem\u00f3ria<\/strong><\/h3>\n<p>Os \u00edndices globais s\u00e3o \u00f3timos, mas sua manuten\u00e7\u00e3o \u00e9 um desafio. O \u00edndice global que reside em um dos n\u00f3s est\u00e1 acompanhando as atualiza\u00e7\u00f5es que ocorrem em todo o cluster - ou, pelo menos, todas as muta\u00e7\u00f5es relevantes para o \u00edndice. Voc\u00ea precisa de uma estrutura de \u00edndice extremamente eficiente que possa acompanhar as atualiza\u00e7\u00f5es dos dados e, ao mesmo tempo, realizar varreduras de alta velocidade.<\/p>\n<p>O Couchbase Server 4.5 introduziu uma nova arquitetura de armazenamento para \u00edndices globais chamada de \u00edndices otimizados para mem\u00f3ria (MOI). O MOI otimiza o armazenamento em mem\u00f3ria e ocupa menos espa\u00e7o na mem\u00f3ria, al\u00e9m de usar uma l\u00f3gica de manuten\u00e7\u00e3o de \u00edndice sem bloqueio para indexar atualiza\u00e7\u00f5es pesadas de dados com paralelismo maci\u00e7o. O MongoDB usa uma vers\u00e3o de um \u00edndice B-Tree que \u00e9 bastante cl\u00e1ssico entre muitos bancos de dados relacionais e NoSQL. O Couchbase Server tamb\u00e9m vem com HB+Tree e alguns \u00edndices HB+Trie. Eles s\u00e3o usados com o modo de armazenamento padr\u00e3o de \u00edndices e em visualiza\u00e7\u00f5es Map-Reduce. No entanto, o que descobrimos \u00e9 que essa nova estrutura skiplist e a abordagem sem bloqueio aumentam muito a manuten\u00e7\u00e3o do \u00edndice e o desempenho da varredura no caso de \u00edndices globais.<\/p>\n<div>\n<p dir=\"ltr\" style=\"text-align: center;line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture6.jpg\" \/><\/p>\n<p><em>Figura: Indexa\u00e7\u00e3o sem bloqueio de lista de esqui com \u00edndices globais otimizados para mem\u00f3ria<\/em><\/p>\n<p>Para que voc\u00ea tenha uma r\u00e1pida no\u00e7\u00e3o da diferen\u00e7a que estamos vendo, aqui est\u00e1 a compara\u00e7\u00e3o da indexa\u00e7\u00e3o do Couchbase Server com os modos de armazenamento de \u00edndice padr\u00e3o e otimizado para mem\u00f3ria. Os \u00edndices otimizados para mem\u00f3ria s\u00e3o 20 vezes mais r\u00e1pidos em termos de tempos de resposta de consulta.<\/p>\n<p>Embora alguns desses recursos n\u00e3o estejam em uso no benchmark, vale a pena mencionar que o Couchbase Server pode indexar estruturas de matriz com aninhamento de v\u00e1rios n\u00edveis. Por exemplo, filmes e hor\u00e1rios de exibi\u00e7\u00e3o podem ser normalizados em duas tabelas separadas no mundo relacional; no entanto, tanto o MongoDB quanto o Couchbase modelam os dados com um \u00fanico documento \"filme\" que cont\u00e9m uma matriz de hor\u00e1rios de exibi\u00e7\u00e3o. Para atualizar os hor\u00e1rios de exibi\u00e7\u00e3o de um \u00fanico filme, voc\u00ea emite uma \u00fanica atualiza\u00e7\u00e3o. Entretanto, um \u00edndice de matriz receberia muitas atualiza\u00e7\u00f5es, pois indexa cada showtime individual. A taxa de atualiza\u00e7\u00e3o do \u00edndice \u00e9 ampliada de forma igual ao tamanho da matriz... Ent\u00e3o, tudo isso significa uma coisa: mesmo os sistemas que podem ter uma baixa taxa de atualiza\u00e7\u00e3o de itens podem precisar de \u00edndices de matriz que precisam acompanhar 10x, 20x ou 100x a quantidade de atualiza\u00e7\u00f5es, dependendo do tamanho das matrizes incorporadas nos documentos. A MOI ajuda muito nessas condi\u00e7\u00f5es, pois pode acompanhar mais de 100 mil atualiza\u00e7\u00f5es com recursos computacionais suficientes.<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/slide25.jpg\" \/><\/p>\n<div>\n<h2>Mergulhe mais fundo nos resultados do YCSB Workload E<\/h2>\n<p>One consolidated view that tells the whole story is the %95th latency and throughput overlaid graph. This is how I view all performance results personally. &#8211; If you are the benchmarking type, you know the saying: \u201c<em>n\u00e3o faz sentido analisar a lat\u00eancia sem a taxa de transfer\u00eancia e vice-versa<\/em>\".<\/p>\n<p>Aqui est\u00e1 uma an\u00e1lise detalhada das lat\u00eancias e taxas de transfer\u00eancia da execu\u00e7\u00e3o da consulta da Carga de Trabalho E.<\/p>\n<p style=\"margin-left: 0.5in\">-As barras representam a taxa de transfer\u00eancia - <strong>azul<\/strong> \u00e9 o Couchbase e <strong>verde<\/strong> \u00e9 o MongoDB. O eixo Y \u00e9 o n\u00famero da taxa de transfer\u00eancia.<\/p>\n<p style=\"margin-left: 0.5in\">-As linhas representam a lat\u00eancia - <strong>azul<\/strong> \u00e9 o Couchbase e <strong>laranja<\/strong> \u00e9 o MongoDB. O eixo Y secund\u00e1rio \u00e0 direita representa os n\u00fameros de lat\u00eancia com a linha de lat\u00eancia descendente representando uma lat\u00eancia pior ou maior. Em outras palavras, o eixo secund\u00e1rio da lat\u00eancia \u00e9 uma linha descendente <a>eixo\u00a0<\/a>(as linhas pontilhadas que caem representam maior lat\u00eancia).<\/p>\n<\/div>\n<\/div>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture10.jpg\" \/><\/p>\n<p>Algumas observa\u00e7\u00f5es;<\/p>\n<p style=\"margin-left: 0.5in\">&#8211;<strong>Taxa de transfer\u00eancia: <\/strong>A taxa de transfer\u00eancia do Couchbase Server continua a aumentar com mais carga. A taxa de transfer\u00eancia do MongoDB tamb\u00e9m aumenta, mas apenas uma pequena quantidade antes de se estabilizar rapidamente.<\/p>\n<p style=\"margin-left: 0.5in\">&#8211;<strong>Lat\u00eancia<\/strong> para o Couchbase come\u00e7am mais altos do que para o MongoDB (42 e 84 clientes). No entanto, a taxa de transfer\u00eancia do Couchbase Server \u00e9 maior sob cargas de 42 e 84 clientes. Eu apostaria que, sob a mesma taxa de transfer\u00eancia, as lat\u00eancias em ambos os mecanismos podem ser semelhantes sob essa carga leve. Entretanto, \u00e0 medida que a carga aumenta, as lat\u00eancias aumentam. No entanto, com o efeito dos \u00edndices globais e do MOI, o Couchbase apresenta melhor taxa de transfer\u00eancia at\u00e9 chegarmos a mais de 250 clientes. O Couchbase Server tamb\u00e9m se estabiliza nesse ponto.<\/p>\n<h2 dir=\"ltr\" style=\"line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt\">Carga de trabalho A: Grava\u00e7\u00e3o e leitura de sess\u00f5es de usu\u00e1rio<\/h2>\n<p><a href=\"https:\/\/github.com\/brianfrankcooper\/YCSB\/wiki\/Core-Workloads\">Carga de trabalho A<\/a> no YCSB simula uma carga de trabalho que captura e l\u00ea a\u00e7\u00f5es recentes do usu\u00e1rio com 50% leituras e 50% atualiza\u00e7\u00f5es. Essa \u00e9 uma carga de trabalho b\u00e1sica de chave\/valor. Voc\u00ea perceber\u00e1 que as opera\u00e7\u00f5es\/seg. s\u00e3o muito mais altas aqui. Isso ocorre porque cada opera\u00e7\u00e3o lida apenas com um \u00fanico item. A carga de trabalho E, por outro lado, lida com 50 itens por consulta.<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture8.jpg\" width=\"600\" \/><\/p>\n<p>Voc\u00ea pode revirar os olhos e pensar que a simples leitura e grava\u00e7\u00e3o de mais de 1K de dados n\u00e3o \u00e9 um grande desafio. No entanto, fazer isso de forma eficiente \u00e9 dif\u00edcil. Muitos bancos de dados se ajustam \u00e0 leitura ou \u00e0 grava\u00e7\u00e3o, mas n\u00e3o a ambas! Quando voc\u00ea junta as duas coisas, fica dif\u00edcil manter o ritmo. Mas <strong>Como o Couchbase Server \u00e9 capaz de executar 6 vezes mais opera\u00e7\u00f5es no mesmo HW (9 n\u00f3s c3.8xlarge no Amazon Web Services) em compara\u00e7\u00e3o com o MongoDB?<\/strong><\/p>\n<h3><strong>#3 Acesso mais r\u00e1pido aos dados do cache<\/strong><\/h3>\n<p>Um dos principais motivos pelos quais o Couchbase pode fazer a leitura\/grava\u00e7\u00e3o mais rapidamente (menos de milissegundos) \u00e9 a utiliza\u00e7\u00e3o do cache integrado. Muitos bancos de dados, inclusive outros em que trabalhei no passado, diriam para voc\u00ea ter uma camada de cache na frente do banco de dados para n\u00e3o sobrecarregar o banco de dados. No entanto, o Couchbase Server nunca \u00e9 implantado com uma camada de cache separada. Ele tem <strong><em>memcached<\/em><\/strong> j\u00e1 incorporados para acesso r\u00e1pido aos dados. Tamb\u00e9m podemos armazenar em cache as partes do documento de que precisamos, \u00e0s vezes apenas seus metadados, \u00e0s vezes com seus dados.<\/p>\n<h3><strong>#4 Comunica\u00e7\u00e3o cliente-servidor eficiente e sem proxy<\/strong><\/h3>\n<p>O Couchbase Server vem com um cliente inteligente capaz de armazenar em cache a topologia do cluster e seu mapa de distribui\u00e7\u00f5es. Isso significa que os clientes j\u00e1 sabem o n\u00f3 exato do Couchbase Server com o qual devem se comunicar quando obtiverem o valor da chave. N\u00e3o h\u00e1 saltos na comunica\u00e7\u00e3o. Nenhum intermedi\u00e1rio, nenhum redirecionamento... Isso torna a comunica\u00e7\u00e3o eficiente.<\/p>\n<p>H\u00e1 recursos adicionais que t\u00eam efeito indireto na comunica\u00e7\u00e3o do Couchbase Server: Leituras e atualiza\u00e7\u00f5es parciais de documentos. Se a carga de trabalho aqui for modificada para ler e atualizar um subconjunto do documento, voc\u00ea poder\u00e1 ver melhorias nos resultados ao usar o novo <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/4.5\/sdk\/subdocument-operations.html#subdoc-operations\">API<\/a>.<\/p>\n<h3>Mergulhe mais fundo nos resultados da carga de trabalho A do YCSB<\/h3>\n<p>Here is the the %95th latency and throughput overlaid graph.<\/p>\n<p>Aqui est\u00e1 uma an\u00e1lise detalhada dos throughputs e lat\u00eancias de execu\u00e7\u00e3o de leitura\/grava\u00e7\u00e3o da carga de trabalho A.<\/p>\n<p style=\"margin-left: 0.5in\">-As barras representam a taxa de transfer\u00eancia - <strong>azul<\/strong> \u00e9 o Couchbase e <strong>verde<\/strong> \u00e9 o MongoDB. O eixo Y \u00e9 o n\u00famero da taxa de transfer\u00eancia.<\/p>\n<p style=\"margin-left: 0.5in\">-As linhas representam a lat\u00eancia - <strong>azul<\/strong> \u00e9 o Couchbase e <strong>laranja<\/strong> \u00e9 o MongoDB. O eixo Y secund\u00e1rio \u00e0 direita representa os n\u00fameros de lat\u00eancia, com a linha de lat\u00eancia descendente representando uma lat\u00eancia pior ou maior. Em outras palavras, o eixo secund\u00e1rio da lat\u00eancia \u00e9 um eixo descendente.<\/p>\n<p style=\"text-align: center\"><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/july\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4.5\/picture9.jpg\" \/><\/p>\n<p>Algumas observa\u00e7\u00f5es;<\/p>\n<p style=\"margin-left: 0.5in\">&#8211;<strong>Taxa de transfer\u00eancia: <\/strong>A taxa de transfer\u00eancia do Couchbase Server continua a aumentar com mais carga. A taxa de transfer\u00eancia do MongoDB tamb\u00e9m aumenta com uma inclina\u00e7\u00e3o mais lenta at\u00e9 140 clientes. No entanto, em torno de &gt;210 threads, ele se estabiliza.<\/p>\n<p style=\"margin-left: 0.5in\">&#8211;<strong>Lat\u00eancia<\/strong> para o Couchbase come\u00e7am mais baixos do que os do MongoDB e continuam assim. No final, o Couchbase ainda est\u00e1 na faixa de lat\u00eancia abaixo de milissegundos, enquanto o MongoDB chega a uma lat\u00eancia superior a 5 ms para uma lat\u00eancia de 95%.<\/p>\n<p>Sei que todo benchmark pode suscitar ceticismo, mas incentivo todos voc\u00eas a experimentarem o Couchbase Server e nos dizerem o que observam em suas execu\u00e7\u00f5es personalizadas do YCSB. Se n\u00e3o estiver obtendo os resultados esperados, informe-nos<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Every benchmark raises few question marks as it answers some. So with every benchmark,\u00a0you need to sift through the data yourself to get the full scoop. I have been benchmarking for a\u00a0while starting at the TPC era with benchmark wars [&hellip;]<\/p>","protected":false},"author":7,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1812],"tags":[],"ppma_author":[8978],"class_list":["post-2318","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-n1ql-query"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dig Deeper into YCSB Benchmark with Couchbase Server 4.5<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/pt\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Digging Deeper into YCSB Benchmark with Couchbase Server 4.5\" \/>\n<meta property=\"og:description\" content=\"Every benchmark raises few question marks as it answers some. So with every benchmark,\u00a0you need to sift through the data yourself to get the full scoop. I have been benchmarking for a\u00a0while starting at the TPC era with benchmark wars [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-06-30T15:42:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:11:12+00:00\" \/>\n<meta name=\"author\" content=\"Cihan Biyikoglu, Director of Product Management, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Cihan Biyikoglu, Director of Product Management, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\"},\"author\":{\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088\"},\"headline\":\"Digging Deeper into YCSB Benchmark with Couchbase Server 4.5\",\"datePublished\":\"2016-06-30T15:42:39+00:00\",\"dateModified\":\"2025-10-09T14:11:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\"},\"wordCount\":1782,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\",\"name\":\"Dig Deeper into YCSB Benchmark with Couchbase Server 4.5\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-06-30T15:42:39+00:00\",\"dateModified\":\"2025-10-09T14:11:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Digging Deeper into YCSB Benchmark with Couchbase Server 4.5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088\",\"name\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a878e65cb37ac2419416d3289816abd5\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g\",\"caption\":\"Cihan Biyikoglu, Director of Product Management, Couchbase\"},\"description\":\"Cihan Biyikoglu is a director of product management at Couchbase, responsible for the Couchbase Server product. Cihan is a big data enthusiast who brings over twenty years of experience to Redis Labs\u2019 product team. Cihan started his career as a C\/C++ developer.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/cihan-biyikoglu\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Dig Deeper into YCSB Benchmark with Couchbase Server 4.5","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/pt\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/","og_locale":"pt_BR","og_type":"article","og_title":"Digging Deeper into YCSB Benchmark with Couchbase Server 4.5","og_description":"Every benchmark raises few question marks as it answers some. So with every benchmark,\u00a0you need to sift through the data yourself to get the full scoop. I have been benchmarking for a\u00a0while starting at the TPC era with benchmark wars [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-06-30T15:42:39+00:00","article_modified_time":"2025-10-09T14:11:12+00:00","author":"Cihan Biyikoglu, Director of Product Management, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Cihan Biyikoglu, Director of Product Management, Couchbase","Est. reading time":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/"},"author":{"name":"Cihan Biyikoglu, Director of Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088"},"headline":"Digging Deeper into YCSB Benchmark with Couchbase Server 4.5","datePublished":"2016-06-30T15:42:39+00:00","dateModified":"2025-10-09T14:11:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/"},"wordCount":1782,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server","SQL++ \/ N1QL Query"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/","url":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/","name":"Dig Deeper into YCSB Benchmark with Couchbase Server 4.5","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-06-30T15:42:39+00:00","dateModified":"2025-10-09T14:11:12+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/digging-deeper-into-ycsb-benchmark-with-couchbase-server-4-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Digging Deeper into YCSB Benchmark with Couchbase Server 4.5"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3d8c60500ca29254fcdb2f76f29fb088","name":"Cihan Biyikoglu, diretor de gerenciamento de produtos, Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/a878e65cb37ac2419416d3289816abd5","url":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","caption":"Cihan Biyikoglu, Director of Product Management, Couchbase"},"description":"Cihan Biyikoglu \u00e9 diretor de gerenciamento de produtos da Couchbase, respons\u00e1vel pelo produto Couchbase Server. Cihan \u00e9 um entusiasta de big data que traz mais de vinte anos de experi\u00eancia para a equipe de produtos da Redis Labs. Cihan come\u00e7ou sua carreira como desenvolvedor C\/C++.","url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/cihan-biyikoglu\/"}]}},"authors":[{"term_id":8978,"user_id":7,"is_guest":0,"slug":"cihan-biyikoglu","display_name":"Cihan Biyikoglu, Director of Product Management, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3e1ac58dd480dd8a6e93d700a58d329bb81df928061de04395055a45274b8702?s=96&d=mm&r=g","author_category":"","last_name":"Biyikoglu","first_name":"Cihan","job_title":"","user_url":"","description":"Cihan Biyikoglu \u00e9 diretor de gerenciamento de produtos da Couchbase, respons\u00e1vel pelo produto Couchbase Server. Cihan \u00e9 um entusiasta de big data que traz mais de vinte anos de experi\u00eancia para a equipe de produtos da Redis Labs. Cihan come\u00e7ou sua carreira como desenvolvedor C\/C++."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2318","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2318"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2318\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2318"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2318"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}