I've got a pluggable system management tool. The architecture of the type of factor is well understood (connects, publish/ subscribe, ....). What about the information store though. Exactly what do people do?
I want plug ins to have the ability to add new organizations, extend existing organizations, establish new associations, etc.
My ideas (SQL), not always well considered
each wordpress plugin simply stretches the schema when they're installed. Within the past altering the schema would be a large no-no now databases are extremely relaxed relating to this
plug ins get their own tables. If 2 of these come with an entity (say) person, then you will find 2 tables p1_person and p2_person
plug ins get their own database
invent some kind of flexible plan in which the tables are softly typed. Maybe many characteristics packed right into a single attribute. The best would be to have one large table known as data, with key of table title &lifier column title along with a single data value.
- object DB. I've no training with one of these. Anybody choose to spread experience. db4o for instance. Can One alter the 'schema' of objects because the application evolves
- this really is 'where its at' right now. Many of these appear to become targeted slightly in a different way than me. Anybody wish to spread knowledge about these
Apologies for that open ended question
My suggestion is go discover the entity framework
many of the situations you're explaining could be solved (very stylishly) using table inheritance.
Your concept of one large table known as data helps make the hamsters during my computer cry )
The overall trend is from weakly typed schemas simply because they can't be debugged at compile time. What you'll get from something similar to entity framework is really a strongly typed extenislbe schema that you could code against using linq.
Object databases: as if you i havent performed together massivley - nevertheless the time after i was thinking about them was a period when there is not good ORM for .internet and writing ado.internet code was gradually killing me.
for NO-SQL they are databases that meet a performance need. SQL works badly in situations here you will find plenty of small creates happening. I only say badly tounge in oral cavity - it works perfectly however when you scale to countless concurrent customers everything changes. My knowledge of no sql is that it's a non rationalised format designed for many small fast creates and reads. The size of websites which use these is generally large.
OK - in reaction
I'm presently lucky enough to get be on the eco-friendly area project and so i am using EF to create my schema. On non greenfield projects I personally use sql scripts to update my table structures. For applying table inheritance in sql its super easy knowing the idea, its basically a 1 to a lot of relationship having a constraint that it'll only be -1.
I would not write .internet code that updates the database structure ... that seems like a tragedy waiting to occur in my experience.
Starting to think i've misinterpreted what you're searching for. I've found databases to become second character when i have spent such a long time together.
I've not found a alternative to be meticulous about script management.