sql >> Base de Datos >  >> NoSQL >> CouchDB

Scripts útiles para Couchbase Dba

¿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

No