Data layer is the latest one and has nothing to do with "cross-platformity". MySQL is a full featured DB which will handle this for you, you just use MySQL libraries in your language/platform to access MySQL server and retrieve your data from there.

IIS on the image above just means a Web server (Apache, Nginx, Microsoft IIS, whatever or just a simple Node.JS running HTTP service).
The main code of your application is Model, View and Controller. It's called a MVC architecture pattern. This is part of code you write and at the end you just "talk" to DB server, you don't write DB server and SQL language itself.
You can store files in DB as well, in blob format, for example, however, usually typical hard drive is used, for example in youwebsite/files directory. Usually it is called a file storage layer and is similar with DB layer, you just "talk" to it to get or store files, for example, you can use Amazon File Storage for that and access this service from application code.
I am not using Node.js but PHP, so I will give you a simple starting point on how to get modern web app up and running using Laravel PHP framework and MySQL database.
Just go to mysql.com, download MySQL Community server and follow installation guide. You may Google many articles or just set up DigitalOcean.com server out of the box or follow their guide How to Install MySQL on Ubuntu 16.04
Same for PHP. Download it from php.net and that's it. You don't need even a web server like in Node.js anymore. You can launch built-in web server.
Also download and install PHP package manager from getcomposer.org
Finally, just go to Laravel.com and follow documentation. Laravel is very simple and great full framework to get started, it will help you with database and file storage as well.
The only thing which is better than just reading docwalls is this amazing course
Basically, for Node.js process will be the same. You can find over 9000 frameworks starting from Express.