¿Por qué Couchbase?
Las aplicaciones de misión crítica de hoy exigen soporte para millones de interacciones con los usuarios finales. Las bases de datos tradicionales se crearon para miles. Diseñados para la consistencia y el control, carecen de agilidad, flexibilidad y escalabilidad. Para ejecutar múltiples casos de uso, las organizaciones se ven obligadas a implementar múltiples tipos de bases de datos, lo que resulta en una "expansión descontrolada de la base de datos" e ineficiencia, lentitud en el tiempo de comercialización y mala experiencia del cliente. Las bases de datos transaccionales y analíticas tradicionales son anteriores a la realidad actual de la nube en todas partes. Una plataforma de gestión de datos nativa de la nube le ofrece una ventaja competitiva real.
Las empresas se están dando cuenta de que los requisitos para una participación extraordinaria del cliente no se pueden cumplir solo en el nivel de la aplicación. La creación de una aplicación de gran apariencia y bien diseñada es solo el comienzo. La base de datos subyacente es lo que marca la diferencia. Una base de datos de participación impulsa múltiples interacciones y experiencias al liberar todo el potencial de los datos, a cualquier escala, a través de cualquier canal o dispositivo, para impulsar una relación más significativa.
Couchbase Server es una base de datos de compromiso orientada a documentos NoSQL, distribuida y de código abierto. Expone un almacén rápido de clave-valor con caché administrada para operaciones de datos de submilisegundos, indexadores especialmente diseñados para consultas rápidas y un potente motor de consultas para ejecutar consultas de tipo SQL. Para entornos móviles y de Internet de las cosas, Couchbase también se ejecuta de forma nativa en el dispositivo y administra la sincronización con el servidor.
Couchbase Server está especializado en proporcionar gestión de datos de baja latencia para aplicaciones web, móviles e IoT interactivas a gran escala. Los requisitos comunes que Couchbase Server fue diseñado para satisfacer incluyen:
- Interfaz de programación unificada
- Consulta
- Buscar
- Móvil e IoT
- Análisis
- Motor de base de datos central
- Arquitectura escalable
- Arquitectura basada en la memoria
- Integraciones de big data y SQL
- Seguridad completa
- Implementaciones de contenedores y en la nube
- Alta disponibilidad
Scripts de Couchbase para dbas
Couchbase también es más rápido en lectura y escritura que otras bases de datos de código abierto.
La actualización es cero tiempo de inactividad.
Documento para Couchbase
https://docs.couchbase.com/server/6.5/getting-started/start-here.html
Video educativo para Couchbase
https://learn.couchbase.com/store
Diferencias entre la empresa y la comunidad
https://www.couchbase.com/products/editions
export JAVA_HOME=/usr/java/jre1.8.0_241-amd64 export PATH=$PATH:$JAVA_HOME/bin export CAUCHBASE_HOME=/opt/couchbase export PATH=$PATH:$CAUCHBASE_HOME/bin export LD_LIBRARY_PATH=/opt/couchbase/lib export CLASSPATH=$CLASSPATH:/opt/couchbase/lib/* export PYTHONPATH=/opt/couchbase/lib/python
#Install cauchbase wget https://packages.couchbase.com/releases/6.0.0/couchbase-server-community-6.0.0-centos7.x86_64.rpm rpm -ivh couchbase-server-community-6.0.0-centos7.x86_64.rpm
#Start couchbase systemctl enable couchbase-server systemctl start couchbase-server systemctl status couchbase-server
#bucket-create couchbase-cli bucket-create --cluster=192.168.56.74:8091 --user Administrator --password password --bucket travel-data --bucket-type couchbase --bucket-ramsize 100 --bucket-replica 1 --compression-mode active
#backup mkdir -p /tmp/cbbackup/ cd /opt/couchbase/bin cbbackup http://192.168.56.74:8091 /tmp/cbbackup/ -u Administrator -p password
#restore
cbrestore /tmp/cbbackup http://192.168.56.74:8091 -u Administrator -p password --bucket-source=travel-data --bucket-destination=travel-data
#Audit setting couchbase-cli setting-audit -c 192.168.56.74:8091 --username Administrator \ --password password --audit-enabled 1 --audit-log-rotate-interval 604800 \ --audit-log-path /opt/couchbase/var/lib/couchbase/logs #List cluster couchbase-cli server-list -c 192.168.56.74:8091 --username Administrator \ --password password
#Couchbase terminal cd /opt/couchbase/bin ./cbq -u Administrator -p password -engine=http://192.168.56.74:8091/
#Consultas Dba SELECT * FROM system:keyspaces; seleccione active_requests.* del sistema:active_requests; seleccione * de system:completed_requests; SELECCIONE * DESDE system:my_user_info; SELECCIONE * DESDE system:user_info; SELECCIONE * DESDE sistema:nodos; SELECCIONE * DESDE sistema:funciones; SELECCIONE * DESDE system:functions_cache;
#Efecto de la auditoría en el rendimiento
La auditoría se cierra con todos los futuros. Prueba de esfuerzo:
1000000 filas, 10 min, 1,2 gb. El cubo tiene 2 réplicas. 20 perseg.
La auditoría se abre con todos los futuros. Prueba de esfuerzo:
1000000 filas, 10 min, 1,2 gb. El cubo tiene 2 réplicas. 20 perseg. Tamaño del archivo de auditoría =256 kb.
#Sample queries SELECT callsign FROM `travel-sample` LIMIT 5; SELECT * FROM `travel-sample` WHERE type="airport" LIMIT 1; SELECT name FROM `travel-sample` WHERE type="hotel" AND city="Medway" and pets_ok=true LIMIT 10; SELECT name,phone FROM `travel-sample` WHERE type="hotel" AND city="Manchester" and directions IS NOT MISSING ORDER BY name LIMIT 10;
#perf metric data cbstats 192.168.56.74:11210 -j -u Administrator -p password -b travel-data all
#Rebalance status with http protocol as rest api curl --silent -u Administrator:password 192.168.56.74:8091/pools/default/tasks | python -mjson.tool | grep -A1 -B4 rebalance
#Stats on web interface http://192.168.56.74:8091/pools/default/buckets/travel-data/stats
#Carga de datos para prueba de esfuerzo
cbworkloadgen -n 192.168.56.74:8091 \ -n 192.168.56.74:8091 \ -u Administrator -p password \ -r .9 -i 1000000 -j \ -s 100 \ -b travel-data \ -t 10
#Cluster server list couchbase-cli server-list -c 192.168.56.74:8091 --username Administrator --password password curl -u Administrator:password -v -X GET http://192.168.56.74:8091/pools/default | jq '.' | grep hostname
#Session time out set curl -X POST -u Administrator:password \ http://192.168.56.74:8091/settings/security \ -d "uiSessionTimeout=600"
#Stats cbstats -b travel-data -u Administrator -p password \ 192.168.56.74:11210 vbucket | grep 1014 Thanks