Tuesday 15 September 2015

sharding - How does MySQL Cluster determine which data nodes to search for a SELECT query? -


I am researching a situation where a customer needs all the data for a particular customer (And only the data client for it) can be stored on a geographically different database server. For example, all data must be stored in the database server on the main cloud, except for all data related to the customer ID 92, which should be stored in the second place on a different cloud server.

There are some obstacles with which I am working, which is making it a bit difficult, but so far, it seems like the best approach. > However, it is not clear to me that how the data node chooses when executing a query. For example, if I do not need any data for customer ID 92, will he ping the data nodes in the other cloud and introduce the delay?

How does the MySQL cluster determine which data nodes search during a SELECT query? Are there ways in which I can point out a question that some data nodes can be ignored?

I'm afraid the answer is "no" MySQL cluster is sometimes called continging, but It is not really ... it is PK's arbitrary distribution of data from each table without any control and there is no thinking in how the data is used and which of each access or every query or transaction Nodes are essential.

Sharding, and a good data delivery policy is one that accesses the data on the same database together, so when a transaction requires data, it is 1 dB, processing ( 1 dB will be exhausted) Group joining, group) This database (close to data, good!) And other databases will be left to deal with other transactions (and many are .......) .

So we get 2 things by storing one-access data on a database:

  1. Low latency for query / transaction This data is required and Finding it on 1 node
  2. Questions / transactions are distributed, not all multiplied on the database

    So if I understand your question, then This is what you want to get, the MySQL cluster can not do this, if it's just fine , Then come back and bite you when data / concurrency / writes increases ..

    You probably need a good old chirding, or today there are tools that actually make the combing process (Disclaimer: I work for Scalabage, an option for that, ST database is required, and yes, the signal is also support (usually not needed)).

No comments:

Post a Comment