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
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.
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
- 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.
Crear una conexión a Couchbase
- Desde el menú principal de Analytics, seleccione Importar > Base de datos y aplicación.Analytics
- 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.
- 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.
Ajustes de conexión
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.
|
|
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]"}, |
|
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:
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 |
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:
|
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` |
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:
- 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.
- 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.
- 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.
- 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 |
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 |