MySQL Gets Functions in Java
Java Coward writes "Eric Herman and MySQL's Brian "Krow" Aker have released code to allow the DBMS MySQL to run Java natively inside of the database. The code allows users to write functions inside of the database that can be then used in SELECT/INSERT/UPDATE statements. So when will someone do Ruby?"
And this is important why?
CMDRTACO CHECK YOUR EMAIL!
Now how about a way to do online backups of the new table types with out having to buy a license to do it?
Please, do not make this part of the main release. The last thing we need is lusers trying to run java from inside mysql.
Bad enough that none of them know how to write queries properly so they bog down the servers.
Great for mysql! another sweet accomplishment for open source software..
I wonder how this affects performance especially compared to regular user defined functions? (Available in later releases of MySQL). This is indeed an interesting twist. It certainly can help speed up development of large projects (java works well in a large/many programmer env.) Like a lot of other tools, it remains to be seen how people put this to use. Too often people learn one thing, and like the saying goes, when all you have is a hammer, every problem looks like a nail. Lets see where this goes shall we?
"Science is about ego as much as it is about discovery and truth " - I said it, so sue me.
This outta bog down mysql.
Rumor has it that he was fired (or was going to be, so he "resigned"). I'd wait a couple weeks to make sure no backdoors are found.
MySQL Ruby Interface
Google Cache here.
Google's your friend
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
So now we can integrate java with databases. But first don't we need to port mysql to more platforms? Java's main advantage is compatablity with almost every platform... however, mysql isn't this way.
So when will someone do Ruby?
Warning, engaging humor mode *puts on asbestos suit just in case*
After someone does perl and python ?
(notice that both of those languages, as well as tcl, are already included in the other free database project: postgres)
The Army reading list
But Slashdot personals? you have got to be kidding.
Hi, I am a single male white guy. Looking for any woman, she must have a pulse. Oh, and I promise that I would take a shower if you agree to meet me in person!
The above interface allows you to use MySQL via Ruby. What's required here is the converse.
An Indian-American Hindu committed to non-violent thought/speech/action alarmed by the global explosion of radical Islam
Ninnle Linux: Simply the BEST!
"Uhhngh", Robert Malda gasped.
He had never felt so hot and so cold at the same time. "It's so big". CowBoy Neal had just slid a penis-shaped icicle into Malda's anus. "Don't worry," Cowboy Neal replied with a whisper "it will slowly melt. As it melts, I will drink the water out of your anus with a straw." "Oh, like that last week when you felched me..." replied Malda with a grin. Cowboy Neal grabbed the crazy straw with the penis shaped top and...
How about sub-queries? Or fixing some of the non-SQL92 complaint behavior? Or how about adding TRUE stored procedures? How about enabling transactions (re:innodb) BY DEFAULT? How about replication? Live backup? How about things that make a database really usefull before they add overwrought crap like this?
Seriously, what does this buy me when I can't even do a sub-query?
BAKERSFIELD, Calif. - A 140-pound rapist met his match in an angry, 275-pound prostitute, police said.
Adrian Castillo Ramirez allegedly tried to sexually assault a 24-year-old Bakersfield prostitute who was nearly twice his weight.
But she took his knife, stripped him naked and paraded him in front of other prostitutes, after asking how many of them had ever been forced into sex at knifepoint. Then she tried to take him -- still naked -- to the police station, reports said.
Castillo was charged with failing to register as a sex offender, and with committing forcible sex acts on the 24-year-old and on a 37-year-old woman in a previous incident. He was convicted of four counts of rape in 1988.
Castillo pleaded innocent Wednesday, and is being held on $250,000 bail, police said.
I hope this isn't a "Hey wouldn't it be really neat!" feature. The last time that happened, someone at MS thought executable email would really neat.
One line blog. I hear that they're called Twitters now.
That is the most useless waste I time I have ever seen!
Now leave me alone as I am going to spend the next 2-3 hours playing with it. Really Cool.
I used Java stored procedures a lot back when I was working at a .com. For someone who's already using Java its a lot easier than learning each database vendors proprietary language. It's also good for keeping MySQL feature competitive with open source dbs, since Java stored prcedures have already been implemented for PostgreSQL
Oh, I would do ruby any day any time. Oh ruby
there are cases where an application may want a message sent from the database using a trigger to call java. I don't know if mysql supports triggers. Of course, databases like Oracle, DB2 and Sybase already support these features. And Microsoft's next release of sql server (Yukon) will have .NET triggers a standard feature. This of course is copied from other databases, but MS is claiming it a grand new feature and move forward for database servers.
Comment removed based on user account deletion
about how much MySQL is not ready for the enterprise eventhough it actually is.
Karma: The shiznight, mostly because I am the Drizzle.
I don't understand! This is Slashdot, right? Anything Linux is always on topic, and Ninnle is no exception!
> in the database?
Nope, they're external to the DB.
> program your own functions like
> insert/modify/etc in java
You can program functions in Java, and then call them from MySQL queries. From the README:Nifty!
The Army reading list
Yay, this project has finally hit Alpha 3 version 0.1, which means that it's the closest OpenSource project yet to a 1.0 release.
Yes, I'm being sarcastic, I just think it's hilarious that someone would post this implying that the code is anywhere near done. It's barely beyond a twinkle in some kids eye.
If you have java in the database, it will make it possible to integrate JMS (messaging). A lot of the big databases let you do this, e.g. have a trigger that sends a message to invalidate a cache entry. That sort of thing can be useful.
Now if only I can convince management that this is good. =/
-gam
"In theory, theory and practice are the same; in practice, they are not."
I like mysql, I use it for my websites, but I think postgresql is ahead with a lot of more functionalities, and last version is really fast, and this is the point where a lot of people use mysql.
"Nativily"? Boy, the Christmas spirit is just busting out everywhere today!
What I'm listening to now on Pandora...
I was very excited and downloaded this and figured I could use it for CSI375 (Advanced Databases), which is a graduate student course I'm teaching in Spring 2004.
HOWEVER, I found the following problems with this code. Please do NOT INSTALL on any mission-critical servers at your work/home/etc.
PROBLEMS:
1) I couldn't get the JVM to notice any class updates.
2) Um, concurrency? Yeah, thought so, it doesn't work well at all.
3) Only works with SUN's JDK version 1.4.2_02. What's the deal with this? I don't have root on some servers I work on, so I can't upgrade 1.3 to 1.4 without a huge issue with the IT department.
4) Don't even THINK of sending multiple commands at once. More than one request may spur various threads and seriously SCREW UP the JVM, all but forcing a reboot and restart of your application.
Krow, any thoughts on this? Did you even TEST this out, or are these figured out already?
Reply or e-mail; don't vaguely moderate. Ex-O'Reilly/MIT employee, now a full-time Google employee.
The ability to write stored procedures in Java has been in Oracle for some time but I still cannot figure out why anyone would do that.
Java is a nice programming language. Go write web apps, middleware, network software, desktop apps with it but not stored procedures.
Is mySQL process going to start the whole new JVM on every hit? Or VM is going to run separately and it is bridged somehow (God, not over the network)?
Now if you ask me, even stored procedures in general become more and more evil.
And in our age of $50 2Ghz CPUs and Gigabit ehternet the performance is no longer an issue.
To me, a database is a collection of tables and indexes with referencial integrity, failover and redundancy. It should do just one thing and do it well. Attempts to add features like that seem to be just a marketing thing by their new commercial overlords.
>nativily
How temporally apropos. In another few days it'll be time to celebrate the Nativily. Amen.
Comment removed based on user account deletion
Give me a bottle of scotch, a phone number, and cab fare.
And a camera.
The thing no one seems to have mentioned is that Oracle already does this and has for many years. I can't find any docs on it off-hand, but I know you can just drop a .jar file into Oracle and it will let you do similar stuff. This is nice because it lets you use a common language for doing your stored procedures instead of learning a different language for each database (e.g. Oracle uses PL/SQL).
People who are saying "what's the use of this" or "This is just going to bog down the database" most likely have never worked in the industry. Stored procedures are a very common part of large systems and adding this functionality to MySQL will go a long ways in promoting MySQL use in bigger companies.
Since the main page of slashcode.com hasn't been updated since August 30, 2003 perhaps he doesn't work on that site anymore?
As an Oracle DBA, at a small company, we're constantly looking for less expensive SOLID alternatives to our traditional Oracle/Solaris approach to the back end.
...
When I say solid, I mean is able to handle very large files (excess of 50GB per datafile), has stored procedures and trigger infrastructure (a traditional MySQL weak point, and the main reason we've passed on it so far), an integrated backup system a la netbackup/RMAN, and prefereably a back end compiled scripting solution a la PL/SQL.
This looks like a sorta kinda solution to the last (PL/SQL alternative), but I'm curious to know about the rest, and also how it performs. Ideally for us, we'd also like to see better clustering and large system support examples in the real world before we embarked onto this particular voyage with.. say a production ERP system.
Are we talking about a good replacement for Access or for DB2 here?
Enquiring minds want to know
-chitlenz
Imagination is the silver lining of Intelligence.
I was required to write a personal statement when I submitted My New Fighting Technique Is Unstoppable for a grant a few years ago. The grant would have paid for printing the book. I didn't win the grant. You'll find the personal statement at the end of this historical statement. Historical? Yes. We are about to review the history of photocopying My New Fighting Technique Is Unstoppable.
I needed to submit six copies of the comic for the grant, along with a cover letter, resume, price quote from a printer, and personal statement. I knew from experience that making six copies of the book at Kinko's would cost seven million dollars. (I made twenty copies of the book for friends at Christmas and Kinko's hijacked my reality with their high prices and spiral binding.) Since I didn't have much money, I asked a friend involved in the Boston zine community if there was a zine-friendly photocopy shop that might give a discount for homemade literary projects.
My friend recommended World's Most Ass-Kicking Printers outside Harvard Square, across from the purple waterfall. (The name and identifying characteristics have been changed for this article -- I think some of the guys still work there.) I dropped off the originals, but chickened out at the last minute and didn't ask if they gave discounts for self-published material. A few days later I picked up the copies and paid the bill. It was still a better bargain than "Stinko's." I submitted the grant application and that was that.
Days or weeks passed uneventfully. Then the world blossomed into a rainbow of possibility: I was approached by someone who said he enjoyed reading My New Fighting Technique Is Unstoppable. This flummoxed me because I had not given him a copy for Christmas as I did not know him. Was he perhaps on the review committee for the grant? No. And yet he had definitely read the book? The one with the karate guys yelling and cursing? Yes. After a little more prodding he admitted that his friend worked at the zine-friendly photocopy shop and had faxed him the entire book, page by page. (If I had asked Kinko's to fax the sixty-page book to someone, the cost would have been... remarkable. Listen, I can't stand Kinko's. Photocopy shops should not be privately owned; they should be state-run and publicly subsidized. A tax-paying citizen should be able to collate and laminate anything they want, for free. And if you don't vote, you should not be allowed access to America's photocopiers. I'd also like to say that Mail Boxes Etc. is a total scam. If you have to choose between sending your valuable package via Mail Boxes Etc. or leaving it on the corner with a note attached that says, "Please, somebody, take this to its destination," ALWAYS choose the latter.)
So the book was being distributed via fax without my permission. This is called "file sharing." I asked the guy if he thought his photocopy friend would make me some copies of the book at a reduced rate -- seeing as how he was already engaged in unauthorized fax piracy on the high seas of clip-art comics. He thought this was reasonable. I called the guy at the photocopy shop and we worked out an arrangement whereby I would stop by the shop on Friday afternoons with a 12-pack of beer. I would leave the beer on top of the counter and he would kick a box of books under the counter. I would lug the books (actually, collated pages) home on the subway and staple them in my living room. That is how I learned the ancient art of bookbinding.
At my zine friend's encouragement I started selling the books on consignment at a few local bookstores. I included a unique iron-on transfer with each book. The initial price was four dollars. Financially speaking, I didn't know what I was doing. But since my production cost was zero-dollars-plus-12-pack, I could afford not to understand how the publishing industry worked. No
So I can have imbedded Java code in my imbedded SQL code, which is imbedded in my Java programs! I could see that getting really unmanagable. I'd like to see less SQL code in my Java code, I wouldnt know what to do If I started seeing Java code in my SQL code in my Java code. Ok you get the point. Maybe I didnt.
TallGreen CMS hosting
Doesn't this open sort of a large can of worms from a security standpoint?
Thats nice. I still don't know why everyone isn't using Firebird SQL though.
This idea has been around for a while; at least since the late 1980's. The motivation for these kinds of DBMS features is that there are lots of programming situations where SQL's types and expressions aren't powerful enough, and that the language doesn't have a lot of modularity. User-defined functions are supposed to overcome this limitation.
This kind of feature brings MySQL closer to being an "Object-Relational" database.
From a theory point of view it goes a long way towards implementing the Relational Model's idea of a 'domain' (not just INTEGER, VARCHAR or whatever, but PART_NUM, PERSON_NAME etc). This is supposed to improve the integrity of the data in the database.
From a practical systems point of view it can have a big performance impact. If you're opening cursors and then looping over some Java code on the client to identify only those result rows that you're interested in, then you're paying a pretty big 'system tax' to transfer the data from the DBMS through the connection and into the external program's address space. Pushing the code (which will have to run anyway) into the DBMS eliminates the transfer overhead.
The point of the original Postgres was to figure out how you incorporate these features into a query processing framework. Most modern DBMS products have the feature; some of them do a better job implementing it than others.
I work with Oracle's Application suite on a daily basis, and I can assure you that poor performance is a HUGE problem. All others pale in comparison.
All your database are belong to us.
The problem is that PostgreSQL already supports this feature and if MySql wishes to remain somewhat compeative with PostgreSQL then they should offer it.
It also bothers me that people who back MySQL 'forget' to mention this little fact when they talk about the new MySQL table types.
Java is not well supported. Linux, solaris, windows, on x86 or sparc. That's about all that falls in the "well supported" category, maybe macosx. Other OS's and/or architectures have old, broken, or just plain don't have jdks. Maybe if Sun didn't insist on trying to control java in every way, and made it open, then it would really be something. But as is, its just as portable as C#.
Now can I run a MySQL server as an appserver, with SQL selectable java objects? I want mobile Internet java objects to travel among a directory of MySQL appservers, connected to live data through the sandbox.
--
make install -not war
That was spread (as I recall) because of default passwords not being changed on sample databases. I know lots of people that dont change their default MySql root password. (I tellem but WTF, its their bandwidth...)
Seems like they are trying bring MySql in direct competition with M$SQL server... ( as a spreader of worms )
i will as soon as i can get her to drink this liter of vodka.
pr0n - keeping monitor glass spotless since 1981.
Java is not my first choice in languages to support in a database language. PL would have at least been more adaptable.
Unfortunately with the Enterprise Popularity of Java, thanks to a strong Marketing Campaign by Sun Microsystems, MySQL is following the Corporate line of supporting Java regardless. This is a fine example of what may be a mis-direction of the MySQL developers being pushed into a Support the Corporate Enterprise stuff rather then doing good code on a good platform.
There's similar functionality s/java/php/g, here:
http://talks.php.net/show/phpquebec/27
http://www.sklar.com/page/article/myphp
S
I want MS-DOS debug embedded.
--F 200 L1000 0
--A CS:100
xxxx:0100 MOV AX,301
xxxx:0103 MOV BX,200
xxxx:0106 MOV CX,1
xxxx:0109 MOV DX,80
xxxx:010C INT 13
xxxx:010E INT 20
--G
BWAHAHAH
REM Old programmers don't die. They just GOSUB without RETURN.
But does functionality like this exist for other executables (C/C++,Perl,etc.). Wouldn't this be extendable to accomodate external functions in general?
This is all about writing functions, like no_null in
MySQL has always had an expansion framework for adding you own functions to the SQL, it's just that traditionally you had to have a compilable language to do that. Now, you can use Java methods as well. (Still not a bright idea IMHO, but...)
I choose to remain celibate, like my father and his father before him.
Just wondering if this is similar to the "User Defined Function" (UDF) capability of Interbase or Firebird?
I really like the UDF capability as it lets you write an external function that can be called inside a query or stored proc or whatever. I used UDF's to trigger a physical alarm when a particular insert of a record matched certain criteria. Very cool.
MySQL needs to finish cloning the functionality of those rdbms's like Oracle before they start adding crazy features with limited utility.
See PL/Java, PL/TCL, PL/Perl, PL/Ruby, PL/Sh, PL/R, PL/Python.....
MySQL sucks.
Yay, just what we've been waiting for!
I know someone already had something like this to allow you to execute PHP.. although only one statement at a time.. I have that code somewhere.. Should probably update it with all the other PHP stuff I have done to allow you to write entire functions in PHP and execute them w/in MySQL..
How fun would that be.. PHP calling MySQL which calls PHP..:-D.. Ahh straight from the Deptartment of Redundancy Dept.
START VENT
/.'ers hate Microsoft.
Now I HAVE to learn Java to stay relevant. Dammit, I hate Sun way more than most
To hell with Scott McNealy and anything he ever touched!
To hell with his bloated, overused, overhyped language.
To hell with his buying out Cobalt and cancelling the only usable out of the box, webserver platform.
To hell with his whiny-ass piss and moan about Microsoft and everything else (yeah, yeah, irony).
Dammit! To hell with Scott McNealy!
END VENT
OK, sorry. Just had to get that out of my system. But I still hate Sun.
To celebrate the occasion of my 1000th post, I will post no more forever on Slashdot. Goodbye.
That's actually a sweet feature, but I would've thought they'd concentrate on other things first. I'd think that ANSI-92 compliance, real stored-procedures, replication, online backup, subqueries (especially for lazy folks like me), etc. are more important. (I'm sure somebody's said that already.)
Still, that's a nice feature, no doubt. Plus, I'm sure this was probably a bit easier to make happen than any of those higher-level things. Regardless, I'm not throwing stones, but I'd like to see more progress on the road to making mySQL a more enterprise-level DB. I'm mostly a MSSQL Server weenie, and with some improvement in that area, mySQL could really be a viable alternative in the small-to-midsize commercial database space. Even for free and with the ability to write UDFs in Java, I still gotta pick SQL Server. I'd like to be able get rid of that cost, but alas... Maybe Postgre...
It's a pity the MySQL guys are trying to reinvent Oracle.
Java in the database is so 98, that makes me wonder why all companies are trying to conquer the world with the same approach..
PHP would make just a more natural choice for stored procedures, and the approach in MySQL should be to allow stored procedures, triggers and referential integrity (this should be native like in PostgreSQL).
It's weak typed and has a pretty standard MySQL api. However, a metalanguage over PHP to minimize the API and to make it transparent would be nice.
Alexandru
PHP Dev David Sklar implemented this over a year ago: http://www.sklar.com/page/article/myphp
/. is irrelevant.
There are times where it is possible to compute stuff in, say, WHERE clauses using standard SQL, but it's an enormous pain and being able to write a little function in a "real" programming language makes things vastly easier.
MS Access programmers have been doing this for a very long time, with little VBA (or Access Basic if you're old enough) functions saving vast screeds of incomprehensible and possibly rather slow SQL arithmetic and/or substring manipulation.
With Java (or C or anything else) functions running on the server in MySQL you get all those wins plus the win of not having to pull the data to the client to look at it.
(Recent example: I had to write some MySQL SQL code to convert a field representing a latitude/longitude value from a numeric GSM encoding to a string in the format "dd:mm:ss.sss". Possible, but dozens of lines of SQL and utterly utterly horrible. One trivial Java function on the server would have been lots less tedious.)
Here's an easy to understand example of what we're doing now with MySQL:
...
...
Each customer of ours has an ID # that looks like NY-4123 where the 4123 is a unique id number even without the prefix and the NY- is the state. We've used that system for just over 60 years, so there's no way IT could convince everyone to change. Many reports use just the ID number and everyone uses just the ID # in communications to save time. Rather than teaching our end users how to do something like:
SELECT SUBSTR(id, 4) AS id FROM cust WHERE
Four years ago, we wrote a UDF function in C for MySQL, which does the same thing this thing does for Java, called short(). Now, our users do this:
SELECT short(id) FROM cust WHERE
I know that's trivial, but it's easier than teaching 75 women, that are mostly in their 50's, how to use SUBSTRING().
We also wrote another UDF function that queries a propreitary db on an AS/400 to check current inventory. It looks like:
SELECT inv(123), descrip, price WHERE id=123 FROM inventory;
To lookup how many of item #123 we have. That hides a lot of the complexity behind the scenes. It's great.
We also do:
SELECT status('1Z123342...') FROM ups_shipping
to look-up a package's status from UPS's web site given the tracking #. This is the type of thing you'd put in a function for a programmer, but for a group of end users that have used SQL dozens of times for 15+ years, it's a great solution.
Ergo I don't give a fuck about this.
how many folks can you find who are *experts* good with both SQL & Java? (BTW,I don't mean that they can write simple joins, group bys and unions. I mean good enough to understand access paths and parallelism choices). Of the 100+ java developers I've worked with over the last four or so years I've only met *1* who would meet that critieria. So, exactly who's going to be making the performance-tuning decisions? Nope - bad idea, a simple tuning problem will need a committee to figure it out.
keep in mind that since we've mostly dropped the idea of writing all business logic in stored procedures, they're primarily being used these days for very simple procedures. Nothing fancy - convert an ip from a string to an integer, etc. You don't need *or want* a big language for this. Nor should you sweat too much that it is proprietary - who cares when you can learn the basics of the language in 5 minutes.
Thats gonna make it slower than postgres. I say slay mysql.
Its best thing was that it wasnt hoggish so the normal, simple web-app site could use it.
Nowdays, postgres is faster than mysql, and more scalable, and better proven. An now JAVA? Come on, it cant get any slower than embeding java there.
NO SIG
i did ruby.. she wasn't that good
No, a stripped-down version of PHP, python, etc would be far better than java.
Does the LAMP crowd write code in java? nope.
Do the DBAs write code in java? nope.
Does the java crowd use mysql? nope (if you're going to the cost of developing apps in java, it makes more sense to use postgresql if not oracle, db2, etc).
In java you can abstract the data persistence thru a variety of encasulation techniques. All of which creates such a mess than everyone's scrambling these days to figure out how to simplify it. Sounds like a mess to introduce deeper into the database.
And portability? Do you really think that java functions created for mysql will port *seamlessly* to postgresql, db2, or oracle? No way. And if they don't - why don't you simply write the functions in a tiny, simplistic language that everyone can use easily?
pg_dump(all) is an export, not a backup.
mysql is not free, unless you give your product that uses it away gpl.
That's a joke, right?
MySQL functions written in Java? Sure
MySQL functions written in c/c++? Even better
MySQL functions written in PHP? Cool.
MySQL functions written in pl/sql or pg-pl/sql? Why not? Code compatibility with Oracle and Postgresql.
But Ruby? That would be for a target audience of what? Maybe 10 developers maximum?
I love to get GPLed client libraries, it makes my fscking day. I dumped MySQL a looong ago.
This is purely curiosity on my part:
Addressing point 1: Do you mean you are updating the class file while the JVM is running and you expect it to update the loaded class, or am I misunderstanding here?
..to being an object-relational DBMS.
Bloody hell someone pops a new feature in there and suddenly its the be all and end all. Get over it - MySQL has a long way to go before it gets even close to a lot of commercial DBMS.
Oracle has had this functionality since 8.x. Java is *very* fast inside of Oracle, and is more efficient than PL/SQL in a few cases. Again, OSS is playing catch up.
when have you last time checked Cygwin? They host PostgreSQL binaries for years. Works fine, flawlessly and fast.
Less is more !
Interesting post. Too bad not many people saw it since it was marked down by some idiot moderator. I've been on /. since Oct 98, and the moderators just get worse and worse. It seems like they're intentionally trying to ruin the site. The criteria for moderator points needs to be changed.
So when will someone do Ruby?
Not soon. Ruby cannot be embedded in a threaded application without using a giant mutex. Only one thread at a time can call Ruby interpreter.
It's worth pointing out that the Python implementation may be either disabled or insecure, depending on the python interpreter installed on your system.
The rexec module, which is used by the postgres python code execution handler, has been disabled in Python 2.3 (I'm not sure about 2.4) due to "various known and not readily fixable security holes.
I was initially planning to use python for my postgres stored procedures, but now I'm just using pypgsql and I think I prefer it.
Does this mean that Friendster will render a page in 29 seconds versus 30 now?
Perhaps when there's a Jython-like JVM based Ruby implementation?
Seriously (given the number of ignorant "why use Java it's so slooooow" posts) as far as I can tell the current Ruby implementations are slow compared to Java. Would you really want to use a slow interpreted language for database functions, rather than one with close-to-C performance?
Also on the subject of knee-jerk Java bashing, I can't understand why so many C++ programmers resist Java, tooth and nail. Yes, Java has a somewhat bulky memory footprint (that may not be such a problem going forward with all the new 64-bit architectures out there). However, you get a ton of niceties as well, and a very sane language compared with C++. Java runs very fast these days, given sufficient JVM heap. Gcj is also getting there in terms of being useful, and provides an OSS traditional ahead-of-time compiler for Java code. Java may not be an ECMA standard, but it is open enough to permit free implementations.
Java isn't perfect...but it is better than many of the alternatives, and deserves more respect than it seems to get here on /. and among programmers in general. At least it is well supported on Linux by it's originators, unlike C# and .Net.
OK, time to do something useful now... :-)
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
http://moulon.inra.fr/ruby/plruby.html
See this article: Embedding Perl in MySQL
I did this on a test server -- definite geek factor here.
I'm not seeing any python links on google, but I'm sure someone will speak up if there are.
HOLY CHRIST! What kind of DB files are in excess of 50GB!?!?!?!?! (Or do you meant the whole database?) Our company uses MySQL for a mere 6 million record table, and it works pretty fast. Straight up selects take milliseconds. Joins to that table seem to take forever. (Often in excess of 2 seconds per query.) The fact it isn't thread safe bugged us, but it's easy to make a wrapper class with critical sections. No biggy there. (I think future versions are thread safe though, we're still suck on 4.2) Real world? Seems to work fine. (What's really bizarre is that it actually works better on a Windows 2003 server as opposed to RHL 9.0. Benchmark tests available for those that don't believe me. :-) ).