sql >> Databasteknik >  >> NoSQL >> CouchDB

Användbara skript för Couchbase Dba

Varför Couchbase?

Dagens verksamhetskritiska applikationer kräver stöd för miljontals interaktioner med slutanvändare. Traditionella databaser byggdes för tusentals. Designade för konsekvens och kontroll, de saknar smidighet, flexibilitet och skalbarhet. För att utföra flera användningsfall, tvingas organisationer att distribuera flera typer av databaser, vilket resulterar i en "databassprawl" - och ineffektivitet, trög tid till marknaden och dålig kundupplevelse. Traditionella transaktions- och analytiska databaser går före dagens moln-överallt verklighet. En molnbaserad datahanteringsplattform ger dig en verklig konkurrensfördel.

Företag inser att kraven på extraordinärt kundengagemang inte kan uppfyllas bara på appnivån. Att bygga en snygg och väldesignad app är bara en början. Det är den underliggande databasen som gör skillnaden. En engagemangsdatabas driver flera interaktioner och upplevelser genom att frigöra den fulla potentialen av data, i vilken skala som helst, över vilken kanal eller enhet som helst, för att skapa en mer meningsfull relation.

Couchbase Server är en öppen källkod, distribuerad, NoSQL-dokumentorienterad engagemangsdatabas. Det exponerar ett snabbt nyckel-värdelager med hanterad cache för dataoperationer under millisekunder, specialbyggda indexerare för snabba frågor och en kraftfull frågemotor för exekvering av SQL-liknande frågor. För mobila miljöer och Internet of Things-miljöer körs Couchbase också inbyggt på enheten och hanterar synkronisering till servern.

Couchbase Server är specialiserad på att tillhandahålla datahantering med låg latens för storskaliga interaktiva webb-, mobil- och IoT-applikationer. Vanliga krav som Couchbase Server designades för att uppfylla inkluderar:

  • Enhetligt programmeringsgränssnitt
  • Fråga
  • Sök
  • Mobil och IoT
  • Analytics
  • Kärndatabasmotor
  • Utskalad arkitektur
  • Memory-first-arkitektur
  • Big data och SQL-integrationer
  • Säkerhet i full stack
  • Behållar- och molndistributioner
  • Hög tillgänglighet

Couchbase-skript för dbas

Couchbase är också snabbare att läsa och skriva än andra databaser med öppen källkod.

Uppgraderingen är ingen driftstopp.

Doc for Couchbase

https://docs.couchbase.com/server/6.5/getting-started/start-here.html

Videoutbildning för Couchbase

https://learn.couchbase.com/store

Skillnader i företag och gemenskap

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/



#Dba frågor SELECT * FRÅN system:keyspaces; välj active_requests.* från system:active_requests; välj * från system:completed_requests; VÄLJ * FRÅN system:my_user_info; VÄLJ * FRÅN system:användarinformation; VÄLJ * FRÅN system:noder; VÄLJ * FRÅN system:funktioner; VÄLJ * FRÅN system:functions_cache;

#Revisionens effekt på prestanda

Revision är stängd med alla terminer. Stresstest :
1000000 rad , 10 min, 1,2gb. Skopan har 2 repliker. 20 pers.

Revision öppnas med alla terminer. Stresstest :
1000000 rad , 10 min, 1,2gb. Skopan har 2 repliker. 20 pers. Granskningsfilstorlek =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


#Databelastning för stresstest

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

  1. Varför har Redis Pub/Sub-funktioner?

  2. Flask-Mail och Redis Queue biblioteksintegration ger fel

  3. Varför använder inte MongoDB index-korsning?

  4. Vilken NoSQL-databas ska jag använda för loggning?