Esta versión del conector de datos de Couchbase se discontinuará después de Analytics 17.x.
Pruebe la nueva versión del conector y haga la transición ahora para poder seguir conectándose a Couchbase en Analytics 18. (Fecha de lanzamiento tentativa en T3 2024)
Véase Transición a una nueva versión del conector de ACL

Concept Information

Comando ACCESSDATA

Couchbase es una base de datos orientada a los documentos NoSQL. Utilice el conector de datos de Couchbase para importar los datos de Couchbase de su organización.

Nota

Analytics ofrece Couchbase como un conector opcional. Si no está disponible en la ventana Acceso a Datos, es probable que no se haya seleccionado el conector durante la instalación. Si desea obtener más información, consulte Instalar los conectores de datos opcionales de Analytics y el motor de Python.

Para conectarse a Couchbase, debe contar con lo siguiente:

  • al menos un nodo de su instancia de Couchbase con los servicios de índice y consulta habilitados
  • el nombre de host del servidor de la base de datos
  • el puerto de conexión correcto
  • las credenciales adecuadas para el método de autenticación que escoja

    Si su instancia de Couchbase requiere autenticación, debe proporcionar una cadena JSON o un archivo JSON que especifique el nombre y la contraseña para uno o más contenedores. Si desea obtener más información, consulte Formato de autenticación de JSON.

  • un certificado SSL válido si la conexión se realizará a través de SSL

Si desea obtener ayuda para reunir los requisitos previos para la conexión, comuníquese con el administrador de Couchbase de su organización. Si el administrador no puede ayudarlo, usted o el administrador deben comunicarse con el Soporte de Couchbase.

  1. Desde el menú principal de Analytics, seleccione Importar > Base de datos y aplicación.Analytics
  2. Desde la ficha Nuevas conexiones, en la sección Conectores ACL, seleccione Couchbase.

    Consejo

    Puede filtrar la lista de conectores disponibles introduciendo una cadena de búsqueda en el cuadro Filtrar conexiones. Los conectores se indican en orden alfabético.

  3. En el panel Ajustes de conexión de datos, ingrese la configuración de la conexión y, en la parte inferior del panel, haga clic en Guardar y conectar.

    Puede aceptar el Nombre de la conexión predeterminado o introducir uno nuevo.

La conexión de Couchbase se guarda en la ficha Conexiones existentes. En el futuro, puede volver a conectarse a Couchbase desde la conexión guardada.

Una vez que se establezca la conexión, se abre la ventana Acceso a Datos en el Área de almacenamiento temporal y puede comenzar a importar datos. Si desea obtener ayuda para importar datos desde Couchbase, consulte Trabajo con la ventana Acceso a Datos.

Ajuste Descripción Ejemplo
Servidor

El nombre de host o la dirección IP del servidor de Couchbase. Este valor se puede ajustar en una URL HTTP o HTTPS.

servidor-de-couchbase.com
Puerto El puerto en el cual se está ejecutando el servidor de Couchbase. 8093
Mecanismo de autenticación

El mecanismo de autenticación que se debe usar al conectarse al servidor de Couchbase.

  • Sin autenticación: el controlador no autentica la conexión.
  • Utilizar credenciales: el controlador autentica la conexión utilizando los nombres y las contraseñas especificados en la cadena de credenciales.
  • Utilizar archivo de credenciales: el controlador autentica la conexión utilizando los nombres y las contraseñas especificados en el archivo de credenciales.
 
Credenciales

Una cadena JSON que especifica el nombre y la contraseña de uno o más usuarios o contenedores, para la autenticación en una instancia del servidor de Couchbase. La cadena de credenciales debe tener el siguiente formato:

[{"usuario": "[nombredeusuario1]", "contraseña":"[contraseña1]"},
{"usuario": "[nombredeusuario2]", "contraseña":"[contraseña2]"}]

 
Archivo de credenciales

Ruta completa a un archivo JSON que contiene credenciales para autenticar en una instancia del servidor de Couchbase.

El archivo JSON debe contener los nombres y las contraseñas de varios usuarios o contenedores.

 
Permitir SSL Especifica si usar SSL al conectarse al servidor de Couchbase. falso
Certificado SSL

El certificado que se debe aceptar desde el servidor cuando Permitir SSL está ajustado en verdadero

Puede proporcionar cualquiera de las siguientes opciones:

  • un certificado PEM completo
  • ruta a un archivo local que contiene el certificado
  • la clave pública
  • Huella digital MD5 o SHA1 (los valores hex también pueden estar separados por espacios o dos puntos)

Cualquier otro certificado que no sea de confianza para la máquina se rechaza.

C:\cert.cer

Ajustes avanzados

Ajuste Descripción Ejemplo
Modo de consulta

Especifica el modo de consulta que se debe usar al enviar consultas al servidor de Couchbase.

  • SQL: el controlador ejecuta todas las consultas en SQL.
  • N1QL: el controlador ejecuta todas las consultas en N1QL.
SQL
Coincidencia

El nivel de coincidencia de los datos que se debe hacer cumplir durante los recorridos del índice. Ajuste esta propiedad en uno de los siguientes valores:

  • NOT_BOUNDED
  • AT_PLUS
  • REQUEST_PLUS
  • STATEMENT_PLUS
REQUEST_PLUS
Permitir el equilibrio de la carga Especifica si el controlador admite el equilibrio de la carga y la conmutación entre nodos en un clúster de Couchbase.  
Tamaño de muestra La cantidad de documentos de los que el controlador hace un muestreo para detectar la estructura de los datos al generar una definición de esquema utilizando la propiedad SchemaMapOperation. 100
Lista de nombres de tipos Una lista de atributos separados por comas, que los contenedores utilizan para especificar los tipos de documentos. Cada elemento de la lista debe ser un nombre de contenedor encerrado entre comillas invertidas (`), dos puntos (:) y un nombre de atributo encerrado entre comillas invertidas (`). `producto`:`tipo`,`almacén`:`tipo`, `cliente`:`tipojson`,`ventas`:`tipo`

Formato de autenticación de JSON

[{"usuario" : "nombredeusuario1", "contraseña" : "contraseña1"},
{"usuario" : "nombredeusuario2", "contraseña" : "contraseña2"}]

Comparación entre consultas de SQL y llamadas de API en N1QL

El conector utiliza consultas SQL normales en el Servidor de Couchbase y traduce las consultas SQL-92 estándar en llamadas de API al cliente N1QL equivalentes. Esta traducción permite realizar consultas estándar en su instancia del Servidor de Couchbase Server. Si no es posible traducir una consulta totalmente, las partes traducidas de la consulta se envían como una o más consultas de N1QL a la instancia del Servidor de Couchbase Server para el procesamiento mientras que las partes no traducidas de la consulta son procesadas por el Conector.

Nota

Los nombres de las estructuras de datos no distinguen entre mayúsculas y minúsculas; por lo tanto, debe asegurarse de que el so de mayúsculas y minúsculas en las estructuras como tablas, columnas o contenedores de sus consultas coincidan con las estructuras de la base de datos.

Definición del esquema

Couchbase puede almacenar datos que siguen diferentes reglas de estructura y escritura en comparación con las columnas y las tablas relacionales tradicionales. Los datos de Couchbase se organizan en contenedores y documentos, que pueden contener matrices o matrices anidadas de elementos escritos de manera diferente. Estos datos se deben asignar a una forma relacional. Para lograrlo, el conector genera una definición de esquema que asigna los datos de Couchbase a un formato compatible con ODBC.

Al conectarse a una base de datos que todavía no tiene la definición de esquema necesaria, el conector genera una automáticamente haciendo lo siguiente:

  1. Para cada tipo de documento que se identifica en la base de datos, el conector toma muestras de datos de varios documentos a fin de detectar la estructura de los datos.
  2. El conector organiza todos los documentos en colecciones según el tipo y guarda estas colecciones como parte de la definición de esquema. Con la definición de esquema, el controlador muestra las colecciones como tablas.
  3. Para cada matriz que se detecta en la base de datos, el conector genera una tabla virtual a fin de expandir los datos y guarda estas tablas virtuales como parte del esquema. Con el esquema, el controlador muestra las tablas virtuales como tablas normales.
  4. El conector define un tipo de datos de Couchbase para cada columna y asigna cada tipo de datos de Couchbase al tipo de datos de SQL que mejor representa la mayor cantidad de valores.

Tabla base

Las tablas base representan datos de las colecciones de documentos de Couchbase. Los documentos aparecen como filas y todos los atributos que no son matrices aparecen como columnas. En cada tabla base, el conector crea una columna de clave primaria denominada PK que identifica de qué documento de Couchbase proviene cada fila.

En el conector, el nombre de la tabla base es el tipo de documento al cual representa. En Couchbase, el nombre de la tabla base es el contenedor del cual provienen los datos.

Tablas virtuales

Las tablas virtuales ofrecen soporte para las matrices. Cada tabla virtual contiene datos de una matriz y cada fila de la tabla representa un elemento de la matriz. Si un elemento contiene una matriz, el conector crea tablas virtuales adicionales según sea necesario para expandir los datos anidados.

En cada tabla virtual, el conector crea un nombre de columna clave que identifica el documento de donde proviene la matriz y hace referencia a la columna de la tabla base relacionada. El conector también crea una columna de índice (con el sufijo _IDX en el nombre) para indicar la posición del elemento dentro de la matriz.

Ejemplo

En el siguiente ejemplo, se muestran las tablas base y las tablas virtuales que generaría el conector si estuviese conectado a una base de datos de Couchbase llamada Basedeejemplo, que contiene dos documentos denominados Cliente_123221 y Orden_221354.

El documento Cliente_123221 es del tipo Cliente y contiene los siguientes atributos. El atributo DomiciliosGuardados es una matriz:

{
  "Tipo": "Cliente",
  "Nombre": "Pedro Pérez",
  "DomiciliosGuardados": ["123 Main St.", "456 1st Ave"]
}

El documento Orden_221354 es del tipo Orden y contiene los siguientes atributos. El atributo TarjetaCrédito es un objeto y el atributo Items es una matriz de objetos:

{
  "Tipo": "Orden",
  "IDCliente":"Cliente_123221",
  "TarjetaCrédito":
    {
      "Tipo":"Visa",
       "NúmeroTarjeta":"4111 1111 1111 1111",
       "Vencimiento":"12/12",
       "CVN":"123"
    },
  "Items":
    [
      {"IDItem":89123, "Cantidad":1},
      {"IDItem":92312, "Cantidad":5}
    ]
}

Cuando Analytics se conecta a Basedeejemplo y genera el esquema, el conector crea una colección para cada tipo de documento y muestra estas colecciones como dos tablas base, que se ven a continuación:Analytics

Tabla base Cliente

PK Nombre
"Cliente_123221" "Pedro Pérez"

Tabla base Orden

PK Cliente
Identificador
TarjetaCrédito
_Tipo
TarjetaCrédito
_Número

TarjetaCrédito
_Vencimiento

TarjetaCrédito
_CVN
"Orden_
221354"
"Cliente_
123221"
"Visa" "4111 1111
1111 1111"
D"12/12" "123"

La matriz DomiciliosGuardados del documento Cliente_123221 y la matriz Items del documento Orden_221354 no aparecen en estas tablas base. En su lugar, el conector genera una tabla virtual para cada matriz:

Tabla DomiciliosGuardados

PK DomiciliosGuardados_IDX DomiciliosGuardados
"Cliente_123221" 0 "123 Main St."
"Cliente_123221" 1 "456 1st Ave"

Tabla Items

PK Items_IDX ItemID Cantidad
"Orden_221354" 0 89123 1
"Orden_221354" 1 92312 5