I am not from a CS / software engineering background but recently I have started begin self studying on Flask web development with Python.
I am currently on the "Database" topic and upon doing further research on this topic on the internet, I have came across a few terminology, which are database, DBMS, database engine and storage engine. Different sources in the Internet seems to be giving a different definitions of the above.
From the internet and Miguel Grinberg's web development book, this are some of the points that I am confused about:
In Miguel's Grinberg book, the author seems to be inferring that database engine = DBMS = software applications like MySQL, SQLite, Postgres etc.
Source: Pg 53 of Miguel Grinberg's book under the Database chapterIn Wikipedia, database engine (or storage engine, which is stated in Wikipedia) is mentioned to be software application like InnoDB, MyISAM, Aria etc.
Link: https://en.wikipedia.org/wiki/Database_engineIn Quora, a commenter (Stephen Kinght) was saying that DBMS and database engine is two different entities, whereby database engine is just part of a component in the DBMS which is in charge of managing the database.
Link: https://www.quora.com/What-are-some-database-storage-engines
So, based on the three points above, the questions that I have in mind are as follow:
Is DBMS = database engine / storage engine = software applications like MySQL, SQLite, Postgres etc?
OR
Is DBMS != database engine / storage engine? (whereby DBMS = MySQL, SQLite, Postgres and database engine / storage engine = InnoDB, Aria, MyISAM etc respectively?)
I really appreciate if someone could help to clear my doubts on this terminology. I have tried doing research on the Internet and also going through the post in Stack Overflow but I still can't really get the concept right.
Thanks!