The Mysterious Drupal Entity

The latest Lullabot podcast is on Drupal entities:

We explain what entities are, why we have them, and what the future may hold for them in Drupal 8.

Creating your own entities with Entity API

Yuriy Gerasimov wrote a useful, but obviously advanced, post on Creating your own entities with Entity API.

But how, as developers, can we create our own entities? When do we really need to do that? I think these questions are really very project-specific. We can probably use nodes for nearly everything. But when it comes to performance-sensitive projects, nodes should really only be used for content, and we should separate as much as possible from nodes. Why? Nodes are revisioned, they fire a lot of hooks, and they have functionality that we likely won't need. Also if we know exactly what fields we should have in our entities, we can create our own custom entities to avoid all those joins of Field API tables.