Reputation: 93
I am using MySQL for storing data in my software. We have to generate hundreds of reports using the data and it is taking more time when the size of data in increasing. For some reports it is taking 1 or 2 minutes. So we have decided to use NoSQL database instead of MySQL. We have decided to go with Elasticsearch.
In MySQL, we have different database for each client and inside each database there are more than 50 tables. When coming to Elasticsearch, I am not able to group indices under a database. So I have decided to create separate index with placing client name as prefix. For example in MySQL there are 2 databases named ABC
, DEF
and a table inside both named ledger
. The same thing done in Elasticsearch is by creating an index with name ABC_ledger
and DEF_ledger
.
In MySQL a single client database has 50 tables so when converting to Elasticsearch it will be 50 index for a single client. So when new clients are added, an additional 50 indices will be created.
My questions are:
Upvotes: 2
Views: 945
Reputation: 32376
I'll try to answer your first question.
First one called cluster.max_shards_per_node
is applied at a cluster level, that limits the total number of shards in the cluster irrespective of nodes in the cluster, default is set to 1000
. Read more at cluster module, and from same
Upvotes: 2