Slashdot Log In
MySQL to Get Injection of Google Code
Posted by
ScuttleMonkey
on Wed Oct 24, 2007 11:43 AM
from the who-to-trust-on-replication dept.
from the who-to-trust-on-replication dept.
inkslinger77 writes to mention that MySQL has published their software roadmap out through 2009 and it includes an injection of code from Google. Google remains relatively secretive about how their systems work but they are one of the largest users of MySQL. Earlier this year Google signed a Contributor License Agreement which provides a framework for them to contribute code to MySQL. "The search company has done a lot of work customizing MySQL to meet its special needs, which include better database replication, and tools to monitor a high volume of database instances, Axmark said in an interview at MySQL's user conference in Paris. MySQL will include some of those capabilities in future versions of its database, probably in point upgrades to MySQL 6.0, which is scheduled for general availability in late 2008, Axmark said."
Related Stories
[+]
IT: Sun Snags Open Source Virtualization Company, Innotek 49 comments
BobB writes to mention Sun has acquired Innotek, open source desktop virtualization vendor. "VirtualBox will remain free of charge under Sun and be placed in the company's xVM portfolio of virtualization products, Steve Wilson, Sun's vice president of xVM, wrote in a blog posting. 'If we're going to continue to give it away, why is Sun investing in VirtualBox? In short, because the developers that build applications have a huge amount of influence on how they're deployed," Wilson wrote in his blog. "We believe that developers using VirtualBox can help guide their friends in the data center towards xVM Server as the preferred deployment engine. Beyond that, I think there is a huge opportunity to link with Sun's other developer-related assets like NetBeans, Glassfish and (soon) MySQL.'"
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Injection? (Score:5, Funny)
Well, except for when it involves Little Bobby Tables [xkcd.com]...
Re: (Score:2)
Re: (Score:3, Insightful)
Re:Injection? (Score:5, Insightful)
Parent
Hells yeah (Score:5, Insightful)
Seriously the database layer is being commoditized, and MySQL and PostgreSQL are leading the way.
My only question, was Google required to disclose these changes, or are they just doing the right thing (again)?
Re:Hells yeah (Score:5, Informative)
We of course, try to contribute back all the changes we possibly can.
If you look around, you'll see we just don't publicize all the changes we contribute back (and we in fact, didn't publicize this one ourselves).
Parent
Re: (Score:2)
By putting their code back into the main branch, they do not have to carry the perpetual maintenance cost of the fork and get to distribute the development cost across the rest of the mysql devs/users.
Re: (Score:3, Insightful)
Define "coprorate space." Big companies tend to be Oracle or SQL Server shops, true; really big companies tend to be Oracle or DB2. But there are a lot of small and medium-sized businesses using MySQL -- and because there a lot more SMBs than there are megacorporations, and because DBA demand doesn't scale linearly (a 10,000-employee corporation doesn't need a hundred times as many DBAs
Umm No... (Score:3, Insightful)
You'd be wrong then. Have a look at the Oracle Store and you can get Standard One for $149 per user (5 User minimum @$745.00)
Or you could get unlimited users for $4995 per CPU....
Oracle is expensive, its just not that ridiculously expensive.
Re: (Score:3, Informative)
I can't think of anything that is in MySQL that Standard Edition doesn't deliver. And if your looking at EE then really for $40k per CPU you'd be running
something that'd be using the EE features like Label Security or some of the Partitioning / OLAP stuff.
Admittedly as an OCP I might be biased but I wouldn't go near MySQL when there are things like PostgreSQL around, something abo
"Do no evil!" - Sweet (Score:2, Interesting)
If only Microsoft would give back on all the mods it has made to the Unix tools. Example: http://technet.microsoft.com/en-us/interopmigration/bb380242.aspx [microsoft.com]
Re: (Score:3, Informative)
Okay, so I made that last one up. I'd provide links, but I'm lazy. I'd also try and look up a eula for solitaire, but I should be doing the work I'm actua
Transplant to Postgres? (Score:5, Interesting)
I also wish these two databases interoperated more. I'd like to use a MySQL proxy to my Postgres server, so apps depending on MySQL could still work, but use Postgres to actually process the data (or just serve as a master DB for replication). Porting apps between DBs, and huge projects to join across different apps' tables in different types of DB servers should be ancient history. Mixed DB-type clusters might not be high performance, but they'd get the iterative development started, after which performance could be just an optimization, which is the right way to do it anyway.
Re: (Score:3, Informative)
Good for you. Of course, your applications may very well be of a different class, and so perhaps Postgres is a better solution. But remember, if you're doing mostly reads, and not a ton of writes, mysql will blow the socks off virtually any other solution. And, coincidentally, that pretty well describes most web applications in general, and probably Google in particular.
Re: (Score:2)
Of course, the different scenarios we're discussing mean that MySQL would be best as a datamart frontend to Postgres. I'd love to write everything to a Postgres API, then deploy it with a script that ports the Postgres schema to a MySQL, which MySQL just replicates to the Postgres, and presents the MySQL interface to web apps. While the Postgres retains the master data, and presents an i
Re: (Score:3, Interesting)
You don't know any developers in NYC who would be good for throwing a MySQL datamart up on top of that, would you?
Re: (Score:3, Informative)
if you're doing mostly reads, and not a ton of writes, mysql will blow the socks off virtually any other solution.
I have a site with 3GB of database, updated once daily, in bulk; the rest of the day it's doing several reads per second over the whole thing (indexed so that it can jump to the right parts for each query; but each query tends to hit a different 5-10% of the rows, so all the data is "active"). I found switching from mysql to postgres gave quite a noticable performance increase -- the whole server was no longer crying in pain and grinding to a halt under heavy load~
Note that the DB server only has 512MB
Re: (Score:2)
Personally I prefer the right answer a tenth of a second slower, rather than a wrong answer fast.
If you use Innodb tables, you have no speed gain over postgresql, and you can't handle the number of concurrent users you could with postgresql.
Re: (Score:2)
Bit of a shame in many ways, because while there are commercial addons to Postgres which give decent clustering support - either for HA or performance - AFAICT the free Postgres server can offer very little in the way of clustering.
Re: (Score:2)
I'm hoping that MySQL 6 is faster on other operating systems than previous versions. The current design makes many assumptions based on Linux. MySQL is running on many operating systems now and shouldn't be so OS centric. You can get binaries for Windows, Mac OS, Solaris, and many of the BSDs. Some of the FreeBS
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Well not strictly n-tier [wikipedia.org], you can get pretty darn close with Zend_Db [zend.com] (which contains adapters to PDO), Zend_View [zend.com], and Zend_Controller [zend.com].
Re: (Score:3, Informative)
<?php
class Biz
{
// Internal Database Functions
static private $cs;
static function SetConnString($connstring)
{
Biz::$cs = $connstring;
}
static private function SendQuery($q)
{
$db = pg_connect(Biz::$cs);
$r = pg_send_query
Re: (Score:3, Insightful)
Re: (Score:3, Interesting)
I don't bother using classes to represent the business objects, I just use database views to control the shape of the data that comes back across the stored procedures and pass the properly formatted arrays to another set of functions that generate the appropriate HTML/XHTML/XML as needed.
When it comes time to do caching, I'll have the ability to
Re: (Score:2)
For a long time, the MySQL team put forth that good design practices were not important. They never did accomplish the task of designing a good table manager. They hobbled along into enterprise space after InnoDB was written by someone else. Now it belongs to Ora
Re: (Score:2)
Do you have a way to make Postgres clustering work as well/easily as MySQL clustering?
Re: (Score:2)
Re: (Score:2)
Google had to upgrade MySQL quite a lot for its use because MySQL needed a lot of improvement. Postgres was a lot closer to what I need right from the start, without having Google's development resources.
But then, you're an Anonymous Coward. You just like to criticize what you don't understand. If you had
6.0 in 2008? (Score:4, Insightful)
This is really good of Google to contribute this back, I'm just wondering how long it will be before we all can utilize their changes. I hate to see the code stay stuck in the devel cycle for three years when Goggle is using it to their advantage right now at this very moment.
Google needs to add an SQL function (Score:5, Funny)
SELECT * FROM articles WHERE GOOGLE('boobies');
something similar might be available but it is a PITA to list the fields to search and specify the operators etc
Re: (Score:3, Funny)
SELECT * FROM articles WHERE GOOGLE('boobies');"
I don't know about MySQL, but you can pretty trivially write extensions to PostgreSQL that do exactly this kind of thing. In fact, I've written a number of such extensions to PostgreSQL that make Google resources seem like local resources in a PostgreSQL database. (This kind of deep and easy customizability is one of the things I find to be a killer feature of PostgreSQL relative
Good stuff coming out of google (Score:5, Interesting)
Once this stabilizes, I'll probably be using it. It's nice to see such a direct impact on my work from their contributions. Thanks guys!
Re:MySQL? (Score:4, Informative)
Parent
Re:MySQL? (Score:5, Informative)
For years MySQL offered better write a few read a lot databases than PostgreSQL. It may still offer better performance for those types of operations. That is the way most websites used MySQL. It is a good tool for some applications. Slashdot is one of them.
Yes I think PostgreSQL is better but MySQL isn't crappy.
Parent
Re:MySQL? (Score:4, Insightful)
That a device or program isn't suited for a certain task doesn't mean it's a toy.
Parent
Re:MySQL? (Score:5, Funny)
Parent
Re: (Score:2)
That's kind of a rare use of a database.
When most of use use databases we need real exact numbers from it. Foreign key enforcement is a must. 'Strict' is not an option.
That's why they can use a crappy database, because their answers don't have to be complete or entirely correct. Crappy is 'good enough'
Re:MySQL? (Score:5, Informative)
Having them and enforcing them so they are actually useful are 2 different things.
And if you'd bother to RTFA, you would see that MySQL is moving to away from Innodb to 'falcon'. "but some InnoDB features, like foreign key support and full-text indexing, won't be supported until MySQL 6.1.".
So MySQL is moving away from the only table types that can actually 'kinda' enforce the use foreign keys at all.
I think that would make you the douche.
Parent
Re: (Score:3, Informative)
The latest versions of Innodb are much better, (earlier versions didn't do any of what you said very well) but now they are going to be moving away from even that.
I do use SQL Server, and Oracle,
Re:MySQL? (Score:4, Insightful)
If innodb is not installed, you get a MyISAM table without the foriegn key enforcement and not even a warning is given on table creation (you do get a warning when you insert, but the application is unlikely to be watching).
CREATE TABLE table2 (
id int autoincrement primary key,
foreign_id int references table1(id),
test text
) type=innodb;
CREATE TABLE table2 (
id int autoincrement primary key,
foreign_id int,
test text,
FOREIGN KEY foreign_id REFERENCES table1(id)
) type=innodb;
In one of the above examples (won't say which one
Yes, MySQL has foriegn keys. It doesn't have them 100% but it does have them.
Parent
Re:Very Niiiice (Score:5, Insightful)
Parent
Re:Very Niiiice (Score:4, Informative)
JET (Access' database engine) is more of a data storage engine with SQL support than an RDBMS, which MySQL is (which could have been debatable until v.5 I guess, hehehe )
Parent
Re: (Score:2)
Re: (Score:2, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Informative)
Re:Very Niiiice (Score:4, Informative)
It's a non-server public domain database library. Yes, really public domain. Its databases live in files and there's no server component whatsoever; it's intended for use by a single application (although it supports file locking so that multiple processes can access the same database).
I use it in one of my apps. It's awesome. It's tiny (about 300kB), it's simple (no messing about with starting servers), it's blazing fast (for some tasks, it's up to an order of magnitude faster than PostgreSQL or MySQL --- for others, it's slower, though: benchmarks [sqlite.org]). More and more programs are starting to use it simply as a document store. It's great.
If you find yourself wanting to use SQL in a situation where only a small number of apps at a time are going to want access, or even if you just want to teach yourself SQL (it's got an excellent command line shell), do check it out.
Parent