Your IO Mode plugin sounds interesting too... care to share it? That
and this bulk AR/virtual table both sound useful to me. Release them
as plugins? : )

-jeff

On 4/18/06, zdennis <[EMAIL PROTECTED]> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Michael Koziarski wrote:
> >>>I currently use RoR on a few small web sites, and some internal webapps, 
> >>>but I spend 90% of my time with RoR with AR optimizing
> >>>it's speed.
> >
> >
> > Are you only noticing this speed problem with big batch operations
> > like you mentioned in the earlier email?
>
> The bigger the batch, the more time it takes, so it's easier to notice big 
> speed issues with 500,000 records, rather then 50
> records. Alot of what rails (and AR) give the user in terms of flexibility 
> and ease of use comes with a huge performance penalty.
> I am willing to sacrifice niceties for better performance.
>
> > When working with an ORM, it's fairly common to do heavy data imports,
> > batch loads and the like using the database's built in tools, what
> > makes you want to use AR instead of tools like mysqldump etc?
> >
>
> There is more to my story though, but I didn't want to rant on to long in my 
> last email. Myself and a colleague of mine, Mark Van
> Holstyn, came up with a idea for an IO Mode plugin for AR. It works 
> beautifully. You can turn it off and on, on the fly. It is
> great for debugging rails SQL commands if you don't wan't to parse log files. 
> I use my AR plugin in combination with this AR IO
> mode plugin to generate all of my SQL statements and I have them written to 
> disk. I then batch load them via a mysql command line
> client.
>
> In one instance every few hours I receive an update from another system. Some 
> updates are very small, a few kb in size, other
> updates it's 15Mb to 40Mb of straight data. It doesn't come formatted in SQL 
> statements, so I have to parse the data myself.
>
> It is faster for me to deal with my AR plugin API, and let AR do all of the 
> hard work for me, generating statements, quoting, etc.
>  plus I get all of the already builtin AR functionality for free should I 
> need to extend my work.
>
> It is also easy to maintain, since we use AR, ruby and the rest of rails for 
> alot of this system on the backend, we worry about
> ruby coding and working withing ruby-based method APIs. We also get a huge 
> code base to use, which is nice and easy to extend.
>
> I am working on limiting this performance gap for mysql though, to where 
> things don't need to be batch loaded outside of a ruby
> instance. This is limited though due to how ruby's GC work, if you want to 
> continuous run a daemon that does these huge data
> operations, but you never restart the daemon.
>
> Another problem I face is the max_allowed_packet size issue. One of my next 
> todo's is allow the user to configure whether or not
> they want it dynamically resized per that session, or if they want the AR 
> plugin to split up large queries into the least # of
> queries to support the current max_allowed_packet size.
>
> And to answer your questions after 6 paragraphs, =) , I use mysqldump and 
> other tools where it makes sense. But I need a way to
> get from data_format_a to data_format_sql, and I prefer ruby in that regard 
> with AR at the moment.
>
> Zach
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
> Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
>
> iD8DBQFERXuXMyx0fW1d8G0RAuKPAJ920A+gWxpX4+UhTZgKIZgw2RamWQCdFnMX
> qWMGmY9yxxs4QdqzIczCP6g=
> =m1Bi
> -----END PGP SIGNATURE-----
> _______________________________________________
> Rails-core mailing list
> Rails-core@lists.rubyonrails.org
> http://lists.rubyonrails.org/mailman/listinfo/rails-core
>


--
Jeff Lindsay
http://blogrium.com/
_______________________________________________
Rails-core mailing list
Rails-core@lists.rubyonrails.org
http://lists.rubyonrails.org/mailman/listinfo/rails-core

Reply via email to