{{ markdown }}
## Opinionated but Configurable
Statamic is an opinionated platform. We strive for smart defaults and patterns that help speed up workflow, enforce
consistency, and make it easy to share code between projects.
Following these conventions will make switching between multiple sites trivial, eliminating the learning curve. You'll
know right where everything is. This [is a link](#).
Sometimes these conventions don't fit, or you have your own way of doing things you're already perfectly happy with.
That's fine. Our conventions can be configured, overridden, or often ignored. Our recommendation is simply this: **if
you
don't have a good reason, leave it alone.**
## Flat First
Statamic 3 has the ability to adapt to any data storage mechanism, from relational databases like MySQL and Postgres, to
NoSQL solutions like MongoDB and Redis, and more.
However, these solutions all add md:words
complexity and should only be used when necessary for scale.
Statamic's "default state" is to operate in flat file mode, which not only reduces complexity, but opens up a world of
possibilities, like:
- **complete** end-to-end version control
- the ability to write and manage content right in your code editor
- the ability to copy and paste or share configurations between sites
- dead simple deployment and load balancing scenarios
- lots, lots more
As your site scales, you can choose to move from the flat file driver to the one that best suits your needs. Deferring
this decision making process is a great way to prevent technical debt.
{{ /markdown }}
Pro Tip: Always pay for your license before you start building your site so the Statamic team gets paid sooner rather than later.