O'Reilly logo

Umbraco User's Guide by Paul Sterling, Nik Wahlberg

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

UMBRACO CONTENT TREE

The Umbraco data model is supported by a number of relational databases. Out of the box, the data layer supports Vista DB, SQL CE, SQL Server, and MySQL databases. As of this writing, it does not support Oracle. Having the properties stored in a relational database makes persisting data convenient and provides developers with an industry standard for working with data. The Umbraco backoffice works directly with the installed database when saving and retrieving content nodes, media items, document types, users, and more. Because the authoring environment will not receive thousands of requests by hundreds of users at the same time, interacting directly with the database is not a performance consideration. If you had a very high-trafficked backoffice, you could run Umbraco in a distributed load-balanced environment. Chapter 13 briefly covers this topic.

Even though the supported databases are all multi-threaded, with thousands of requests coming in at the same time, the serving of content would eventually be hampered, resulting in a slow-responding website—not a desired outcome. Umbraco has a way to resolve this issue by providing the content and media items via a file-based, in-memory XML cache. This cache allows for much faster access to the structured data, and the dependency on making trips to a database is no longer there. It also allows the content management system (CMS) to separate published versus unpublished content because only published nodes will ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required