Dan Meany wrote:
> One thing about dynamic columns is that they have sped up our development 
> cycle by a factor of 5, since we are not spending time on hard coded binding 
> layers, and analysts can create application tables instead of developers and 
> DBAs.  We have other mechanisms in place to support typing, validation, 
> relationships, and UI crud screens with master-detail, all dynamically, with 
> no app restart or sql scripts.  But to make it work we need really good 
> indexing which is what we can do using a regular mysql table.  The concern 
> with the blob approach is we'd need to wait for indexing, or use an external 
> index.  I looked at couch db but it doesn't seem to have the level of 
> transactional support we need, and mySQL does.
> 
> If someone were to submit a patch for the 64 limit would that be acceptable?

I think it would be useful unless you force us always to use this limit.
In other words the maximum number of tables in the query should be a
parameter of the server.

Regards,
Igor.

> 
> Dan
> --- On Sun, 8/8/10, Arjen Lentz <[email protected]> wrote:
> 
>> From: Arjen Lentz <[email protected]>
>> Subject: Re: [Maria-developers] 64 table join limit
>> To: [email protected]
>> Cc: "maria-developers" <[email protected]>
>> Date: Sunday, August 8, 2010, 8:33 PM
>> Hi Monty, all
>>
>> On 07/08/2010, at 11:27 PM, Michael Widenius wrote:
>>> We have plans to add dynamic columns into MariaDB
>> soon.
>>> This will probably happen in 5.3, assuming there is
>> some interest in
>>> this feature.
>>>
>>> With dynamic columns you can store 'any' number of
>> columns in a blob.
>>> In effect, each row in the database may have it's own
>> set of columns.
>>> One will be able to trivially access and update data
>> in the dynamic
>>> columns and also add/drop columns inside the blob.
>>>
>>> Example usage:
>>>
>>> SELECT column_get(blob, 1, varchar(100)) from
>> table_with_dynamic;
>>> UPDATE table_with_dynamic SET blob=column_add(blob, 2,
>> "hello") where id=1;
>>> UPDATE table_with_dynamic SET blob=column_del(blob,4)
>> where id=5;
>>> Note that 'column_add()' will replace any old value
>> with the given column_id.
>>> Future ideas:
>>> - Allow indexing with name instead of numbers. When
>> this is done we can drop the
>>> type as part of column_get()
>>> - Allow indexing on dynamic fields.
>>>
>>> You can find a full specification of this feature
>> here:
>>> http://askmonty.org/worklog/Server-BackLog/?tid=34
>>
>> The idea is good, based on what Google's BigTable (see the
>> Hypertable specs) introduced.
>> It provides a mild level of denormalisation, enabling
>> better scalability.
>> And in the case of MariaDB, you keep the same familiar and
>> convenient API. That's important.
>>
>> I think the word "column" is very wrong in the above
>> example. It's more like "subattributes".
>> See what the terminology in bigtable/hypertable was...
>> Perhaps Mark has insights on this too.
>>
>> I'm for it, it solves a real need that people are already
>> trying to solve (with desperately bad design decisions ;-).
>>
>> Regards,
>> Arjen.
>> --Arjen Lentz, Exec.Director @ Open Query (http://openquery.com)
>> Exceptional Services for MySQL at a fixed budget.
>>
>> Follow our blog at http://openquery.com/blog/
>> OurDelta: packages for MySQL and MariaDB @ http://ourdelta.org
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~maria-developers
>> Post to     : [email protected]
>> Unsubscribe : https://launchpad.net/~maria-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~maria-developers
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~maria-developers
> More help   : https://help.launchpad.net/ListHelp


_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to