CouchBase mezclado con Memcached, ¿pérdida de la mayoría de las filosofías y funcionalidades de CouchDB?

A partir de ahora, la única forma en que he trabajado con versiones más nuevas de CouchBase, es a través de unamemcached Client. Yo suelo Erlang como lenguaje de programación y por eso me había tomado unaErlang Memcached Client. Noté que este cliente serializa y deserializa los términos de erlang (clave y valor) al convertirlos desde y hacia binarios usandoerlang:term_to_binary/1 and erlang:binary_to_term/1 al enviar y recibir datos de memcached.

Mientras configuramos CouchBase, se nos pide que elijamos cubos memcached o cubos CouchBase (vbuckets). Ahora, elegí CouchBase (porque necesitaba persistencia). Comencé a interactuar con la configuración utilizando el cliente erlang memcached y está bien, guardo los términos de erlang y recupero los términos de la base de datos. Sin embargo, los problemas comienzan aquí:

1. Debido a la serialización de datos, los objetos se reciben como archivos adjuntos. Incluso si se envían como JSON desde Erlang, se envían como datos binarios que no tienen sentido para CouchBase (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 de esto, estos datos no se pueden buscar, manipular a través deCouchDB vistas. La única forma de obtener los datos es mediante "Clave", aunque puede estar anidado un objeto. Con Couch DB original, podríamos escribir Vistas Avanzadas, Mapa reducir para buscar y manipular datos JSON en la base de datos e.t.c

3. Por lo tanto, no podemos usar claramente cosas como:Couch Apps y Documentos de diseño con Couch Base como solíamos hacer con Couch DB, porque estas características están destinadas al procesamiento de datos JSON dentro de Couch.

Preguntas
1. Entiendo que CouchBase está buscando un enfoque diferente de CouchDB, sin embargo, como desarrollador, siento que nos han quitado mucho. No más aplicaciones de Couch, documentos de diseño, vistas, e.t.c?
2. Probablemente, estoy teniendo algo mal aquí, ¿alguien puede mostrarme cómo puedo hacer todo esto con Couch Base como lo hice con Couch DB original?
3. ¿Hay alguna otra forma de insertar, leer o actualizar datos en Couch Base 1.8 y superior (usando erlang) que no sea un cliente Erl, ang memcached? Esto se debe a que existe una serialización de datos que hace que estos datos sean inútiles para otras tecnologías dentro del mismo proyecto, ya que es posible que no puedan decodificar las estructuras de datos de Erlang
4. En un proyecto en varios idiomas donde tenemos desarrolladores de PHP, C ++, Erlang, Ruby e.t.c. trabajando con la misma instancia de Couch Base (Base de datos), con la serialización de datos, ¿cómo se supone que debemos acceder y comprender los datos en todas las tecnologías?

Alguien ayuda a señalar los cambios de CouchDB a Couch Base, explicar por qué la nueva Couch Base está tan ligada a Memcached hasta un punto en el que tenemos que usar clientes memcached para hablar con CouchBase. Además, si hay otro SDK de Erlang-to-CouchBase que me puede ayudar a hablar JSON (y NO datos serializados) desde y hacia Couch Base, deseo poner mis manos sobre él.

** EDITAR **
Asuma lo siguiente: CouchBase x86_64 1.8.0 y Erlang OTP R15B. Necesito trabajar con datos JSON en Couch Base para que en un gran proyecto multilingüe, nuestras aplicaciones operen el mismo conjunto de datos sin tener problemas de serialización. Gracia

Respuestas a la pregunta(6)

Su respuesta a la pregunta