What are the factors when choosing a specific database management system?

Why are there so many database management systems? I am not a database expert, and I never thought about using a database other than mySQL.

Programming languages ​​offer different paradigms, so it makes sense to choose a specific language for your purpose.

Question

What are the factors when choosing a specific database management system?

+4
source share
7 answers

Different touches for different people:

  • .NET people, such as a uniform stack, provide Microsoft SQL Server .
  • Oracle is the "Please Use Only in Enterprise Applications" DBMS.
  • MySQL and PostgreSQL are used by an open source crowd.
  • SQLite is great for embedded DBMS.
  • Microsoft Access is great for a single-mandate built-in Microsoft Office database (or for people who don't know anything better)

I know almost nothing about non-relational DBMSs: NoSQL, MongoDB, db4o, CouchDB, BigTable. I would recommend another question to solve these problems, because their goals are different from traditional RDBMS.

+10
source

DBMSs have existed for many years and are very important for IT infrastructure in the past, in the future and in the future. So many people tried to get into the business. There are many office suites, internal browsers, etc. Etc.

What are factors to choose a specific DB management system ? 
  • Licensing
  • Platform
  • Performance
  • Supported Programming Language
  • etc.
+3
source

There is a noticeable absence, for example, column-oriented (LucidDB), platform independent (derby), in-memory (hsqldb, although the derby is here too) and, possibly, other databases classified by their key properties.

0
source

If the paradigms are the same, it is also a problem with market sharing .. (Missed?!?) Otherwise, Peter's answer will be significant.

0
source

"This answer really does not answer the why, it simply answers the who.

True, but I think the answer to the question “why” may be that there were so many “those” who thought they could do it “better than others.”

With “better,” meaning filling in the blanks that a particular “who” has chosen:

  • an almost waterproof guarantee of read success thanks to MVCC blocking, in contrast to the more traditional two-phase blocking.
  • no commission, unlike a million dollar fees.
  • simple interaction with the XYZ language that others do not have
  • ...

My personal pet problem is CREATE ASSERTION support. It has been in the SQL standard since 1992, and not one of the major elephants knows how to support it. I do.

0
source

For the most part, if you are writing to the RDBMS / SQLish market, the number one question you should probably ask is, “What do I already know? What do my employees know?” If you have an answer to this question, you should first select this SQL engine. My internal database blowing is compressed in this answer, but in truth, if your developers are not in the tiny fraction that really gets relational databases anyway, you will use the same standard error rates of standard databases as everyone the rest, and the main question will be whether you can make your system go fast enough.

This is probably the case if you swallowed a jug of NoSQL drink of your choice, since there too you have to choose what you understand.

If you can already understand all these differences, then you will understand that the answer is "it depends." The usual four dimensions come down to the following: execution speed for a given workload profile (this is a question of whether the database is different for a specific problem: some are faster to search, for example, when others are better at high concurrency records); Matching SQL in the target areas (for example, Oracle has a funny - that is, incorrect - NULL processing, MySQL - all over the map, Postgres wraps unquoted identifiers in lower case); cash costs, both immediately and in the long run (including equipment requirements, costs for hiring people, licenses); and maybe the features you want (if you want Oracle RAC, you need to buy Oracle).

0
source

Database systems also offer different paradigms. For example, MySQL or MSSQL is relational, db4o is object oriented, and MongoDB is document oriented.

-1
source

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


All Articles