Há alguns meses, eu foi ver The Human League quando eles vieram para Manchester. Eles foram o Melhor Ato de Revelação da Grã-Bretanha em 1982, não me diga que meu dedo não está no pulso. Não sou um superfã, apenas gosto de algumas de suas músicas. Certamente não sou hipster o suficiente para falar sobre seu "trabalho anterior" e "lados b raros". Na verdade, as músicas de que gosto são, em sua maioria, as que sempre agradam ao público. O show estava lotado e, para alguém que não assiste a música ao vivo com frequência, estava MUITO ALTO. Enquanto eles tocavam seu repertório, eu cantava alegremente as músicas que eu conhecia. Mas a verdade é que, nas músicas que eu não conhecia, uma parte de mim pensava: "E quanto aos clássicos?" Eles encerraram com "Don't You Want Me" e o público foi à loucura, e esse fã em particular foi para casa encantado. O aumento do nível de volume que acompanhou o bis me disse que eu não era o único que estava esperando pelas favoritas. Tenho certeza de que esse é um dilema que todas as bandas enfrentam quando estão lançando um novo álbum. Quanto eles se concentram no novo material em vez de reforçar o que os tornou populares em primeiro lugar?
Os cinco anos que tivemos foram muito bons...
Na Couchbase, estamos trancados no estúdio trabalhando duro em nosso quinto álbum, o Couchbase 5.0 - As prévias são disponível agora. Se você é relativamente novo no Couchbase, aqui está uma rápida recapitulação do nosso catálogo anterior. Nossa primeira edição, ("Simples, rápido e elástico") era um armazenamento de chave-valor puro. Era escalonável, mas, na minha opinião, era rápido. O produto foi criado com uma arquitetura centrada na memória, escrito em C e baseado no popular projeto memcached. Esse lançamento nos deu muita notoriedade e obteve grande sucesso. Em seguida, na versão 2.0, lançamos um armazenamento de documentos completo, incluindo recursos de indexação e replicação entre datacenters (XDCR). Para o nosso "difícil terceiro álbum", reescrevemos completamente nosso encanamento interno para torná-lo mais tolerante a falhas e estabelecer as bases para o próximo conjunto de recursos. Nossa versão 4.0 seguiu uma direção nova e significativa que realmente mudou o jogo. Ela introduziu o N1QL, uma linguagem semelhante ao SQL, familiar às massas, para consultar e manipular documentos JSON. Junto com isso, veio um indexador secundário poderoso e uma solução móvel integrada completa com sincronização na nuvem. O Couchbase Server não era mais exclusividade das estações alternativas, mas estava sendo muito utilizado no mainstream.

Discografia do Couchbase
A versão 5.0 se baseará ainda mais nisso: pesquisa de texto completo de produção, controle de acesso baseado em funções para documentos, novos recursos de bucket, uma interface de usuário totalmente nova e uma visualização do serviço de análise. Será mais um grande progresso para nós, e o produto quase não pode ser reconhecido em relação à versão 1. Mas muitas vezes falo com clientes e eles perguntam (possivelmente preocupados), "E quanto aos clássicos?" E aquele armazenamento de valores-chave de alto desempenho que fez com que as pessoas se levantassem e notassem o Couchbase em primeiro lugar? Com todos esses acréscimos, pode ter sido muito fácil para nós renunciar a algumas das qualidades iniciais que nos trouxeram sucesso. De fato, o oposto é verdadeiro.
DNão se esqueça de que fui eu quem o colocou onde você está agora...
Na Couchbase, somos obcecado com desempenho. Sempre estivemos e sempre estaremos. Essa obsessão é uma voz em nossas cabeças a cada momento, lembrando-nos do que nos trouxe até aqui. A equipe de desenvolvimento do Key-Value (KV) Engine tem um enorme orgulho em garantir que cada versão seja um aprimoramento em relação à seguinte. Por exemplo, dê uma olhada em como as versões anteriores se comportam em relação a uma métrica específica de rendimento do Key-Value:

Taxa de transferência máxima 50:50 Carga de trabalho de leitura/gravação, 20 milhões * itens de 256 bytes, 1 réplica, cluster de 2 nós usando cbc-pillowfight
Vale a pena dar uma segunda olhada nesse gráfico: Nossa edição atual, 4.x, é mais de duas vezes mais rápida que sua antecessora 3.x, e a 3.1.6 não foi nada mal. Em uma postagem posterior, abordarei os detalhes técnicos de como esses aprimoramentos foram obtidos (tl;dr criação de perfil, análise, uso de estruturas de dados C++ multithread eficientes e reconhecimento da linha de cache).
É melhor você mudar de volta ou nós dois vamos nos arrepender
A manutenção do desempenho exige muito esforço. O Couchbase Server é utilizado para o bom funcionamento de milhares de aplicativos de missão crítica em todos os tipos de setores. Muitos desenvolvedores estão familiarizados com esse dilema, "Posso fazer isso rapidamente, mas não tenho certeza se é seguro." Não é que a funcionalidade sempre vença o debate sobre o desempenho - No Couchbase, nunca há um debate a ser travado. Sempre projetamos e implementamos recursos com o objetivo de torná-los rápidos, mas a funcionalidade sempre vem em primeiro lugar. A cultura de melhorar O desempenho da empresa vem inicialmente do fato de mantermos um alto padrão em termos de prevenção de regressões de desempenho. Temos uma equipe independente que faz testes rigorosos de desempenho em cada compilação e examina os resultados. Veja um olharA lista de métricas é interminável. E, de tempos em tempos, quando introduzimos regressões de desempenho, elas deixar nós saber tudo sobre eles.
Temos sido incansáveis na busca de recursos novos e avançados e continuaremos a fazê-lo. Estou extremamente empolgado com o que está por vir na versão 5.0 e nas seguintes. Esses recursos abrirão novos e interessantes casos de uso e, com certeza, teremos um novo exército de usuários que farão o download pela primeira vez nos conferindo por causa do novo conteúdo. Estamos nos tornando rapidamente o padrão de fato para criação de sistemas de engajamento. Mas fiquem tranquilos, independentemente dos recursos que desenvolvermos, para aqueles que querem apenas os clássicos antigos, continuaremos a oferecer o que é mais importante para alguns de nossos principais clientes: escalabilidade, alta disponibilidade e operações consistentes de baixa latência e alta taxa de transferência.