Conexión a Couchbase

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

Antes de comenzar

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
  • 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> Para 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 necesita ayuda para completar los prerrequisitos para la conexión, comuníquese con el administrador del conector de su organización. Si el administrador no puede ayudarlo, usted o el administrador deben comunicarse con el Soporte del conector.

Crear una conexión a Couchbase

  1. Desde el menú principal de Analytics, seleccione Importar > Base de datos y aplicación.
  2. Desde la ficha Nuevas conexiones, en la sección Conectores de 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 Configuración de conexiones 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 su conector se guarda en la ficha Conexiones existentes. En el futuro, puede volver a conectarse a su conector desde la conexión guardada.

Una vez que se establezca la conexión, se abre la ventana Data Access en el Área de almacenamiento temporal y puede comenzar a importar datos. Para obtener ayuda con la importación de datos desde su conector, consulte Importar datos usando la ventana Data Access.

Consulta de la instancia de Couchbase

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},
      {"DIItem":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:

Tabla base Cliente

PK Nombre
"Cliente_123221" "Pedro Pérez"

Tabla base Orden

PK IDCliente Tipo_TarjetaCrédito Número_TarjetaCrédito Vencimiento_TarjetaCrédito 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
Ayuda de Analytics 14.1