Darren Duncan wrote:

>1.  One effort, as seen to some degree on perl6-language@perl.org and 
>#perl6 @ chat.freenode.net, is to improve and/or adapt the data types 
>and operators built into Perl 6 itself so that you can easily do 
>natively in Perl 6 the same sorts of things that you would do with a 
>separate relational database product.
>
>This centers on one being able to use and/or easily create Perl 6 
>Roles for things like Tuples and Relations, that a relational 
>database is founded on, as well as associated operators like 
>project(), restrict(), extend(), join(), summarize(), union(), 
>difference(), group(), rename(), and so on.  Such as these are the 
>building blocks of all types of RDBMS select queries and DML.
>
>Done properly, an in-RAM relational database can be on one hand just 
>as simple to use as in memory hashes or arrays, or a usual persistent 
>one could be as easy to use as DBM tied hashes.  Since you're doing 
>this in Perl itself, there is no impedence mismatch at all, and you 
>can use all your Perl classes and operators directly with your data.
>  
>

While I think this is probably out of scope for a new DBI, all the
coolest languages are doing this.

Eg, AllegroCache for LISP:

http://www.franz.com/products/allegrocache/

Another is Erlang's mnesia

http://www.erlang.se/doc/doc-5.0.1/lib/mnesia-3.9.2/doc/

>If you look at the Pugs repository, I'm making a prototype of desired 
>functionality / interface in the ext/Relation/ subdirectory.
>
>2.  My other effort is my Perl implemented Rosetta DBMS, which is 
>more arms length in that using it is like using a typical database is 
>through DBI, but that it parses its own queries and utilizes 
>swappable back-ends, whose native language (usually SQL) it 
>translates its queries to.  Rosetta works like a traditional DBMS you 
>access through DBI, but that it typically uses other DBMSs behind the 
>scenes, giving you database language portability between them.  This 
>in-progress work is on CPAN as its own distro.
>
>3.  Now, neither of my two efforts are the same as the current DBI in 
>which you write queries in the native dialect of the back end store 
>and it just passes them through.  I assume that this dbi2 or dbdi 
>group still plans to deliver such a thing when the time is right, 
>since users like things that are familiar.
>
>4.  For people that want to help where something will have the 
>greatest impact, I suggest exploring ways that DBMS functionality can 
>occur directly in Perl 6 itself, as I see that is where a true 
>innovation and usefulness lies.
>
>-- Darren Duncan
>  
>

Reply via email to