How to attach a database of data to a content / entity type I have an sqlite database representing a collection of Foo which is immutable. I would like to be able to take this collection of Foo in the GUI of Drupal, and append a few fields onto each Foo instance, these new fields are to be editable. 

I see no point to inserting the data as nodes / entities directly as the data is only going to reflect what's already in the database and inserting data using node_save is incredibly slow for duplicating the data.

How would I accomplish this so that a content-type / entity type uses data from another database, but manages a few additional editable fields? 

Would it be a custom content type with a module to manage the pulling of the data from another database, or would it be a custom entity?
I would use a custom content type that stores the primary key (pk) of an instance of Foo as text, integer or whatever you need, just that one field.  Let's call the content type Bar.

Then for display create a node template for Bar that:


Queries your database by sending Bar->pk and returns the Foo row/object
Iterates through the fields in the row and displays them where and how you choose


In case you haven't already come across it, if you're intending to use an external database, it is best to define it in your settings file and call it when you need it as described here.