CouchBase misturado com Memcached, perda da maioria das filosofias e funcionalidades do CouchD

A partir de agora, a única maneira de trabalhar com versões mais recentes do CouchBase, é através de ummemcached Client. Eu uso Erlang como a linguagem de programação e então eu tinha me agarrado a umErlang Memcached Client. Notei que esse cliente serializa e desserializa os termos erlang (Key e Value) convertendo-os de e para binários usandoerlang:term_to_binary/1 and erlang:binary_to_term/1 ao enviar e receber dados de memcached.

Quando configuramos o CouchBase, somos solicitados a escolher os depósitos em cache do memcached ou os do CouchBase (vbuckets). Agora, eu escolhi o CouchBase (porque eu precisava de persistência). Comecei a interagir com a instalação usando o cliente memcached erlang e está tudo bem, eu salvo termos erlang e volto a termos erlang do banco de dados. No entanto, os problemas começam aqui:

1. Devido à serialização de dados, os objetos são recebidos como anexos. Mesmo se enviados como JSON A partir de Erlang, eles são enviados como dados binários, o que não faz sentido para o CouchBase (ou o Memcached?)

{ 
    "_id": "mykey",
    "_rev": "1-000010fb1a2b02ef0000000d59960000",
    "$flags": 38489, 
    "$expiration": 0,
    "$att_reason": "invalid_json",
    "_attachments": {
    "value": {
                "content_type": "application/content-stream",
                "revpos": 2,
                "digest": "md5-n3mJhf2kKVQtkIunIbCJZQ==",
                "length": 13,
                "stub": true
            }
        }
    }

2. Como resultado, esses dados não podem ser pesquisados, manipulados através deCouchDB views. A única maneira de obter os dados é por "Chave", por mais aninhado que seja um objeto. Com o Couch DB original, poderíamos escrever Visualizações avançadas, Mapa reduzir para pesquisar e manipular dados JSON no banco de dados e.t.c

3. Portanto, não podemos usar claramente coisas como:Couch Apps eDesign Documents com o Couch Base, como costumávamos fazer com o Couch DB, porque esses recursos destinam-se ao processamento de dados JSON no Couc

Questõe
1. Entendo que o CouchBase está adotando uma abordagem diferente do CouchDB, no entanto, como desenvolvedor, sinto que muito foi tirado de nós. Não há mais aplicativos de sofá, documentos de design, visualizações, e.t.c?
2. Provavelmente, estou entendendo algo errado aqui. Alguém pode me mostrar como ainda posso fazer tudo isso com o Couch Base, como fiz com o Couch DB original?
3. Existe alguma outra maneira de inserir, ler ou atualizar dados no Couch Base 1.8 e superior (usando erlang) que não seja um Erl, o cliente memcached? Isso ocorre porque há serialização de dados que os torna inúteis para outras tecnologias no mesmo projeto, pois eles podem não ser capazes de decodificar os dados Erlang Structures
4. Em um projeto multilíngue, onde temos desenvolvedores PHP, C ++, Erlang, Ruby e.t.c. trabalhando com a mesma instância do Couch Base (banco de dados), com a serialização de dados, como devemos acessar e entender dados em todas as tecnologias?

Alguém assistente indica as alterações do CouchDB para o Couch Base, explica por que a nova Couch Base está tão ligada ao Memcached em um ponto em que precisamos usar clientes memcached para falar com o CouchBase. Além disso, se houver outro SDK do Erlang-to-CouchBase que possa me ajudar a falar JSON (e NÃO dados serializados) de e para o Couch Base, desejo colocar minhas mãos nel

** EDIT **
Suponha o seguinte: CouchBase x86_64 1.8.0 e Erlang OTP R15B. Preciso trabalhar com dados JSON no Couch Base para que, em um grande projeto multilíngue, nossos aplicativos operem o mesmo conjunto de dados sem ter desafios de serialização. Obrigad

questionAnswers(6)

yourAnswerToTheQuestion