What is the Couchbase XDCR replication order - couchbase

What is the order couchbase replicates data to other cluster, ex: if i configure the XDCR with already existing data in couchbase,
1. will xdcr pulls data from disk to ram and put it to replication queue
2. will xdcr replication maintains order of documents inserted to couchbase

Related

How to encrypt a production unencrypted RDS Aurora MySQL 8 cluster

I have a running RDS Aurora MySQL 8.0.23 cluster running in production. The database is unencrypted and I need to enable encryption for it. As far as I understand, this is not possible to do directly. The procedure I am evaluating is:
Create a read replica on the current cluster.
Stop replication on replica and annotate binlog filename and
position.
Promote the read replica to a new encrypted cluster (maybe it
requires to do a snapshot before).
Set up back replication with the original cluster using binlog file
and position annotated before.
Wait until replication lag is zero.
Redirect production traffic to the new cluster.
Stop replication.
[Optional] Delete old cluster.
I have two issues with the above procedure:
Once created the replica, running commands like SHOW SLAVE STATUS
or SHOW REPLICA STATUS return empty set, so I can't annotate
binlog file and position. Please note that replication is enabled on
the original cluster (binlog_format is set to ROW).
It seems I can't promote the Aurora read replica to a new cluster,
the option is missing on the available actions. But according to the documentation it should be possible.
Has anyone have feedback about the issues above? What is the current up-to-date procedure to encrypt an Aurora MySQL cluster with minimum downtime and no data loss?

NDB Cluset MySQL - How it performs join queries?

I have been reading about MySQL scaling and I found out that MySQL supports two type of architectures :
Master - Slave - Since updates from master to slave are asychronous then it is possible to have incosistent reads in case a slave is not updated ( due to latency or any other reason). So this system is highly available but not very consistent.
NDB Clustering - So MySQL can use NDB engine to deploy a cluster like NoSQL databases where sharding is also involved. I have two doubts in this that let's say I have 3 data nodes then how NDB engine performs JOIN queries because some of data can reside on Node 1 while other can be on Node2. Also does NDB cluster supports replication of data node? And if it supports replication then replication will be done to same data node or any other node?

How distributed databases such as Redis and Cassandra work in Microservices architecture?

Suppose I have a microservice that updates or reads data from Redis and Cassandra. Now suppose I scale up and have 3 instances of exact same microservice. Do I need to 3 instances each for Redis and Cassandra so each instance of microservice has its own instance of Redis and Cassandra? Or since both Redis and Cassandra are cluster based distributed databases, I will not need 3 instances of these databases but share the same cluster among the 3 instances of the microservices?
What if MySQL is also being used by the microservice, will I need 3 instances of MySQL?
You can have a microservices architecture with a service scaled up to 3 instances, but uses a single instance of a database (redis/mysql/....), or you can have a cluster of the databases connected together (more than 1 instance of redis/mysql).
The idea is that you don't restrict a single replica/instance talking to a single replica/instance of the database, that's not the reason to scale up your architecture, i.e: you don't assign an instance of the database to an instance of the running service. It works this way
Service Load Balancer (routes traffic to a single instance) ---> cluster of instances --> DB Load Balancer --> routes traffic to a master node in the DB cluster (or whatever setup you use other than master-slave or master-master or consistent hashing).
TL;DR: Don't assign a database replica per service replica, later on you might need to scale your services to 10 replicas, but have a database cluster of only 3 nodes.

change data capture from a MariaDB Galera cluster

I need to capture changes, using a CDC binlog client, from a MariaDB Galera cluster (v10.3.10) with a load balancer in front of it.
MariaDB Galera Cluster with a load balancer provides fault tolerance. If a node dies, the load balancer health check detects that and routes traffic to the other nodes. That's good. We want high availability.
The CDC client works perfectly when connected directly to any of the cluster nodes. However, when the CDC client connects to the MariaDB Galera cluster via the HAProxy load balancer, it fails:
Could not find first log file name in binary log index file
Presumably, the client connects to the one of the nodes, gets a filename, positions, etc... and a subsequent request is routed to a different node which has different binlog properties.
Is there a way to CDC from a highly available MariaDB Galera cluster that doesn't depend on a single node? We'd like to avoid single points of failure.

how to view data on data node

I'm using mysql cluster, and I was knew mysql cluster auto sharding data on data node (when I use engine= ndb ) and my question is how can I show data on data node machine when my database was sharding
You can view the data on each node through the MySQL Server attached to the cluster