Is there a high performance difference in a key-value database on the same server as MySQL and NoSQL

In my PHP application, I have a table of 470M rows weighing 200 GB in a split MyISAM MySQL table on a single server. Usage includes 70% of writing / 30% of reading. I am trying to improve performance. The main problem right now is read / write statements due to table-level locks. I am trying to solve two options:

  • Change MySQL in Innodb. Pros: Avoid locking at the table level. Cons: much more disk space, more HD disks are required, which may not be as fast as these (currently using RAID10 6 * 300 GB SAS 15k).
  • Moving data to a NoSQL database. Main Con: Learning Curve. Never used NoSQL before.

The question is that while still trying to avoid data fragments and given the fact that I use MySQL RDMS as a simple key repository, are there high differences between the indicators between the two approaches or the main advantage of NoSQL is the transition to a distributed system?

+6
source share
1 answer

I can only partially answer your question, but hopefully more than a comment.

MongoDB is usually not a repository for keys and, as you know, has certain characteristics when used as one.

MongoDb also has a lock issue that might come back to haunt you. It has a DB level lock, which means it can (require testing) cause write lock saturation.

It is also heavily designed to read 80% of the application (which is said to be the most common installation for websites at the moment), so the more you write, the more you will notice performance degradation over time. This suggests that you can configure MongoDB to be more write-friendly, and distributed nature helps to slightly stop recording saturation.

However, to say that my personal opinion is the SQL MongoDB learning curve:

  • Close to null
  • More natural and easier to implement in my application than SQL
  • The query language is simple to make it dead easy to access
  • The query language has much in common with SQL
  • The drivers are standardized so that the syntax that you see in the Documents for the JS driver on the console is consistent across all sections.

My personal opinion on a general issue is its common concept. If you get a NoSQL solution designed for key stores, then that can be really good. A quick Google search pulled out a small list of NoSQL key value stores on Wikipedia: http://en.wikipedia.org/wiki/NoSQL#Key-value_stores_on_solid_state_or_rotating_disk

+3
source

Source: https://habr.com/ru/post/926194/


All Articles