In principle, no.
The key difference between something like Couch and SQL DB is that the only way to query CouchDB is essentially through views / indexes. Indexes in SQL are optional. They exist (mainly) to increase productivity. For example, if you have a small database, your application will run fine on SQL with 0 indexes. (This may be a problem with unique constraints, but this detail.)
The common point is that part of the query processor in the SQL database includes other methods of accessing data outside of simple indexes, in particular, table scans, merge joins, etc.
Couch does not have a query processor. It has views (defined by JS) used to define B-Tree indexes.
What is it. This is the hammer of the Sofa. This is a good hammer. This has continued in the world of data processing for 40 years.
Indexes are somewhat expensive to create in Couch (based on the amount of data), so the "temporary views" are disapproved. And they have maintenance costs, so opinions should be a conscious design element in your database. At the same time, they are slightly more powerful than regular SQL indexes.
You can easily add your own request processing on top of Couch, but this will be more for you. You can create several selected submissions according to the most popular or selective criteria, and then filter the received documents according to other criteria in your own code. Yes, you have to do this, so you need to ask whether it is worth the effort to spend more than any of the benefits Couch thinks (HTTP API, replication, secure, always consistent data storage, etc.). ) By the SQL solution.
source share