In earlier versions of Drupal 8.x, the active configuration was stored on disk in YAML files, with a cached version (defaulting to the database) used for accessing the values on normal pages.
Now the default configuration is stored in a database table, while import/synchronization and export still operate via YAML files.
There are no API changes, but existing Drupal 8 sites may need to be re-installed or have file-based configuration migrated into the database table.
Benefits of the new approach:
- Nobody is ever supposed to edit active configuration files. The presence of the data as files made it look like they can be changed. In reality, they were only touched on configuration writes and accessed from their database cache otherwise. The existence of the files misled people.
- The new approach means less YAML file parsing and file stat() comparison needs, resulting in speed improvements.
- Not needing to write those YAML files all the time with configuration changes is even faster. This results in easy to feel performance improvements in the installer and while running tests, among other places.
- When exporting configuration for working on other sites, it is still possible to export to YAML files in their up-to-date state (on the UI or with
drush config-export). This is still the native format for shipping configuration in projects and for syncing configuration.
- Not exporting configuration as YAML files by default makes the system more secure: although the prior way of storing configuration in files was as secure as we could make it to be, not storing them as files at all is still more secure.
To get back configuration as files on your development server, see https://drupal.org/project/config_devel