Sun Eyes PostgreSQL
Da Massive writes "Sun is looking seriously into the database market - namely PostgreSQL. It says Oracle and IBM and even Microsoft licensing fees are way too expensive for the average punter.
This from John Loiacono, executive vice president of software: "We're not going to OEM Microsoft but we are looking at PostgreSQL right now," he said, adding that over time the database will become integrated into the operating system."
It says Oracle and IBM and even Microsoft licensing fees are way too expensive for the average punter.
An NFL punter usually makes between $250k to $1M a year. They can handle most DB costs...
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
This really isn't a surprise. MySQL has both licensing problems, and feature problems in the competitive high-end markets. PostGreSQL has none of these issues, and can hold its own in a comparison with Oracle or SQL Server. These features led RedHat to PostgreSQL for their RedHat Database product, and I see little reason why they wouldn't attract Sun as well.
The only thing that slightly bothers me about their strategy is that Sun has been pushing their Java Systems hard. If they actually wanted to bolster that strategy, they'd have three major options for a Java Enterprise Database:
1. Cloudscape/Derby - This product makes the most sense from a technology and licensing perspective, but the fact that it was an IBM product (even though Cloudscape was originally a separate entity before being acquired) taints the software in such a way as to make Sun look bad if they used it.
2. Daffodil - This database is an excellent choice, but it would require the acquisition of another company, a move that the Sun shareholders might question. It would also bring quite a bit of flak in Sun's direction as Daffodil is an Indian company.
3. McKoi SQL - An excellent choice for a Java database, but lacks brand recognition. The feature levels and scalability of the database are still considerable questions. The GPL license also allows Sun less freedom to modify the database in comparison to the BSD license used by PostgreSQL.
As for the choice of Sunbird, I think it's simply a matter of "why not?" It's not like there's any particular leader in the market, and Sunbird plays nice with Firebird/Mozilla.
Javascript + Nintendo DSi = DSiCade
I'm not sure what they have in mind here, but if that's the direction they're going it's clear why they wouldn't go with MySQL (technical shortcomings aside). PostgreSQL's BSD license makes it much more attractive for Sun, whose CDDL license is incompatible with the GPL, IIANM.
I have a feeling we'll see a couple of instances of MySQL vs PostgreSql flamewars starting in this story.
Personally, I think you just go with whatever floats your boat. I like how PostgreSQL is closer to the SQL standards Oracle uses, as it makes things easier for me where I work. However, MySQL is a goliath when you take in popularity, marketting, and even UI polish.
In any case... Let's get ready to rumblllllllllle.
Sun gets to use repackage PostgreSQL however they like, more people will be using PostgreSQL and finding bugs and adding features and writing utilities, more books will be sold, more consulting opportunities - everyone wins.
I've had people contribute code to PMD and say they were only contributing it because they felt the BSD license avoided any possible obligations on their part. And the products that are based on PMD? Just means more books sold. Good times!
The Army reading list
Click here or here.
If they take postgres and roll it into the OS- that means the work they do after that wont be coming back to the postgres community? I assume that is the likely course, or am I mistaken?
I like the BSD license, and I understand what the ramifications of it are. And I'm not trying to start a debate over whether this is a 'good' thing or not. Just hoping someone here more knowledgable will give some insight on how this is likely to go.
It's hard to believe that's how Micronians are made. Why don't we see it right now by having you both kiss one another?
Oh, you mean Red Hat Database Server, aren't you? ;-)
Seriously, it can be a great contender for SQL Server if it gets(more) vendor support.
Sun's Java Enterprise System is about programming in Java rather than the tools in Java. The technology of the product isn't hugely important its the fact that the API and development is in Java. Databases are clearly easy with Java as JDBC makes the actual choice a pure commodity. So what Sun want is a solid database, for free, that rounds out their platform effort and means that in one download and license a client can "get started"... which often means it is all they use.
An Eye for an Eye will make the whole world blind - Gandhi
IMHO PostgreSQL would be a much better fit, Mysql might work for smaller applications, but it has a lot of problems when it comes to handling enterprise environments. The latest stable version Mysql lacks many of the features that a standard RDBMS should have (Sub queries, stored procedures, views). On the other hand Mysql does have a larger user base because of its ease of use. Again PostgreSQL would be the better fit for Sun, but Mysql does have its applications.
GL HF!
"the database will become integrated into the operating system."
I wonder if he means a database-oriented filesystem? There's no real reason to stop there... system and application configuration data in a database would be great.
As much as I love PostgreSQL, I think it might be kinda heavy for that kind of implementation.
SYS 64738 NO CARRIER
SQL92:
PostgreSQL > MySQL; but MySQL is improving it's feature set
SQL3:
PostgreSQL > MySQL; PostgreSQL has a few SQL3 features
Speed:
PostgreSQL ~= MySQL; sometimes faster, sometimes not
Database\table\row\... Size:
PostgreSQL > MySQL; PostgreSQL has less size restrictions, or at least, the limits are much larger than those of MySQL
Stored Procedures:
PostgreSQL > MySQL; MySQL not yet, but in 5 they have SQL:2003 like stored procedures; PostgreSQL has SQL, C, pgSQL, Tcl, Perl, Python and roll-your-own and a few not bundled with PostgreSQL
Installation\maintenance:
MySQL > PostgreSQL; MySQL is easier to set up
OS Support:
PostgreSQL ~= MySQL; postgres came a long way, e.g. there's now a stable Windows version.
Yes. They have been compared.
A quite legnthly comparison can be found here.
SQL92 compliant is a relative term.
What the hell? Since when did Pervasive give up on its B-Trieve engine? (aka Pervasive 2000) They had a damn good database going there, and an excellent track record as THE choice for converted mainframe databases. What does PostgreSQL bring to the table that they don't already have?
Javascript + Nintendo DSi = DSiCade
So if Sun fixes a bug, they don't have to release that fix to anyone.
So the bug will still exist in the base.
This is what leads to "fragmentation". Over time, the bug fixes and enhancements that are NOT released back to the base mean that the two versions (the base system and Sun's version) drift further and further apart until they become incompatible.
Software houses love the BSD-style licenses because it allows them to do that.
The GPL is useful in that it prevents such from happening. All bug fixes and such are released back to the base.
In the end, which is "better" depends upon your goals. Sun's goals are not the same as Linus'.
> PostgreSQL ~= MySQL; postgres came a long way, e.g. there's now a stable Windows version
;)
Yes indeed, now if only there were a stable Windows platfrom on which to run it.
Unlike all the articles about linux and it's rise as an OS, Open Source databases do not have the same major difficulty. With an OS, every user that uses the computer has to know how to use the system. Conversely, with a database, most, if not all users will not care what database they are using. For example, for my job, I write and maintain a windows application that supports 3 different database back ends. Our clients can care less what database they are using. Only IT and whoever is in charge of the cash will probably care what database is running. In my experiance, IT will not really care what they use because DB issues don't usually take up the bulk of their time. As for whoever is shelling out the money, well that is a toss up, but the trend that I see is that more companies are opting for less expensive DB options.
Again, open source DBs have a chance because not every user works with them directly. Also, the interface, SQL, is a much more standardized interface than with an OS. As a programmmer, writing queries to DB A is pretty darnd exactly like writing queries for DB B. So, I think that their will be much better competition in the database world as in the OS world.
I wonder if it would create any confusion if Sun started marketing Mozilla's Sunbird. It'd be nice to seem some fresh development on that project though.
Anyone know why they wouldn't use http://firebird.sourceforge.net/> ? I've used interbase in the past and I thought it was pretty damn good.
Since when did operating systems become a religion?
acquire? who said anything about anyone acquiring anything?
just because sun are looking at postgresql doesn't mean they're going to buy it... (is there even anything to 'buy' where postgresql is concerned?)
> Installation\maintenance:
> MySQL > PostgreSQL; MySQL is easier to set up
PS, this doesn't hold up on Debian systems:
apt-get install mysql-server
vs
apt-get install postgresql
the latter is less typing.
The same situation exists here. Sun is not legally bound to release any improvements back to the base, but can legally use any improvements that others provide to the base.That is what fragmentation is. One vendor chooses one path while a different chooses a different path.
Over time, the minor changes and improvements pile on until the two versions are not inter-changable anymore.
Yet each individual change/improvement/fix is insignificant and does not break compatibility.
We've seen this before and it happens again and again. It's always in the company's best interest to support the code base and the community
I do find it interesting that Telstra is a Sun software customer
Telstra are also a big Microsoft customer and also a big Linux user. They use IBM GSA extensively too. What's your point?
I know one guy who worked on an implementation of part of the Telstra Mobile billing system for IBM GSA as Telstra found out that they weren't cathing the milliseconds to seconds in cell switch time and therefore billing users for it.
This just like the comment in the article is just padding. It doesn't really add anything to the post.
IBM has DB2, Microsoft has Microsoft SQL Server, Sun has.... Oracle? No....
I doubt very highly that Sun would buy PostgreSQL Inc, they would partner with them and do some code development of PostgreSQL to get it to the level where it can definately compete head on with Oracle (Although Oracle do have a lot of other software that at present Sun doesn't have) and MS SQL and DB2. The thing they would be best off doing (And probably will do) would be to go out and hire key developers of PostgreSQL to try to prioritize more the requirements that they are after.
Curiosity was framed; ignorance killed the cat. -- Author unknown
I wonder how the databases compare these days. Someone I know is working with an MS SQL Server database that's too slow to be usable, and I'm wondering whether I should suggest they go with PostgreSQL instead. How does PostgreSQL cope on Windows these days? Do you still need to VACUUM your databases? Has MySQL grown up yet (i.e. implemented the features it has been missing, compared to standard SQL)? How does Oracle's performance compare to the rest?
Please correct me if I got my facts wrong.
Using Postgresql as a database makes a lot of sense for Sun. Its BSD license makes it easier to use licensing terms that fit Sun's needs, it's desiged for transaction-heavy applications, and it has a solid codebase with a growing community.
True, it is not written in Java, but neither is Solaris. Sun uses Java pragmatically, as everyone should, and since there are JDBC drivers for Postgresql, it really doesn't need the database written in Java.
I think it's a smart move, and this news combined with the Google collaboration is giving me hope that Sun's management has suddenly woke up and smelled the coff... er I mean java.
I've had people contribute code to PMD and say they were only contributing it because they felt the BSD license avoided any possible obligations on their part.
Just like there's plenty of people who only contribute to GPL projects since they don't want "evil corporations" stealing their code.
You can find fanatics driven by ideology rather than common sense in both camps. That's hardly something to cheer about.
MySQL > PostgreSQL; MySQL is easier to set up
I don't think this is much of an issue, I recently installed postgreSQL on my Windows XP machine in order to try it out. The installation was 100% simple and painless.
My Karma: ran over your Dogma
StrawberryFrog
Uh, sure, Sun is going to integrate MSDE into their operating system.
Incidentally, Microsoft SQL Server holds the honor of being the host for the fastest distributed Internet worm.
"Sufferin' succotash."
the latter is less typing.
Uh, yeah. I think he was referring to the configuration steps after that to get the server running. I personally find PostgreSQL easier (just edit the security configuration files and initialize a database, whereas MySQL makes you jump through hoops inside the master database), but from a zero to executing perspective MySQL is up faster than PostgreSQL.
Javascript + Nintendo DSi = DSiCade
Sun already has several engineers working on Derby through Apache. Sun bundles Derby with Glassfish (the newly open-sourced Java EE 5 app server), which also integrates Derby into the app server for the EJB timer service, and bundles it with the Java Enterprise System stack. Sun is actively promoting Derby as a development database. There was a story about it here on Slashdot not too long ago.
Sun used to bundle Cloudscape before IBM bought Informix, and subsequently switched to Pointbase. For App Server 9/Glassfish, they pulled Pointbase and replaced it with Derby.
American slang for 'punter' is 'mark'. A gambler, but more specifically, a loser.
Oh well, what the hell...
> Have you conducted tests yourself or are you merely repeating fanboi retoric?
> I've used both views and subqueries with MySQL recently. stored procedures are
> listed for V5.
Views are listed as a new feature in 5 - which is just a development release. So, yes - the original poster was correct on that account.
MySQL picked up sqlqueries in V4.1, though I haven't checked to see how well they implemented them: ie, can you:
- select (select max(date) from a)
- select blah from table (select blah,blah,blah from a,b where...)
- select blah from a where a.blah in (select blah from b)
- select blah from a where a.blah in (select blah from b where b.foo = a.foo)
And can it perform these subselects without tanking performance? Especially given their poor quality optimizer and notorious performance problems with queries of 5+ tables...
So, given the massive gulf between just doing something and doing it well, and mysql's history of shooting for the bare minimum the actual usefulness of their stored procedures, views, and subqueries will take time to determine.
Can you use transactions, referential integrity, and fulltext indexing on the same table yet?
Over time ??? Since 1978 on the IBM S/38 ( aka, AS/400, aka iSeries, aka i5 ) the database ( db2/400 ) has been integrated into the operating system.
Probably should check your facts. mySQL 4.1, the current production version, has had subqueries for some time now. Version 5, which is now at release candidate stage, has SPs and views.
Any sect, cult, or religion will legislate its creed into law if it acquires the political power to do so.
Sun gained an excellent database when they acquired Clustra. What happened to it and why are they now talking about Postgres? Are they really that intent on pissing away that investment?
Odd, you're the first I've heard to complain about it. Interesting.
:-)
One thing that's always been nice about Pervasive, though, is that tech managers usually have a warm-fuzzy feeling about it, since many of them used Novell back in the day. It's often quite easy to get to get approval for it, especially when the tech manager was otherwise trying to cram something else down your throat.
Javascript + Nintendo DSi = DSiCade
From TFA "over time the database will become integrated into the operating system."
When MS integrates Access into Windows, they will have NO customers left... IMHO
Support NYCountryLawyer RIAA vs People
Alternatively, have a database-independent wrapper and sell any of the popular Open Source databases according to customer needs. That leaves the door wide open to transparent, painless upgrades (always a good money-spinner) AND winning more hearts amongst those developing a phobia of lock-in to specific vendors.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
See? It does scale. How many other databases can handle that many transactions per second?
I am TheRaven on Soylent News
Slightly OT- Is there a good resource online to compare the different open-source licenses available (GPL, BSD, etc.)? I'm googling a lot of FAQ's about each license in particular but I can't seem to find a comparison. I do know that the GPL ensures that derivative works will stay free, but other than that I feel pretty license-clueless.
Integrated Replication
MySQL > Postgres; Postgres has a sister product called Slony I that is hard to set up and only offers master-slave replication. In my opinion, this has been the main downside to postgres for a long time.
The article seems a bit heavy on posturing and light on details, almost like it's there to get the message across: fear Microsoft because it competes with its customers.
Otherwise, it seems a bit curious to me, because it juxtaposes two things that don't seem to go together in my mind: High end database management and penny pinching. Prices for Oracle on low end hardware (x86 servers) are not high at all, certainly not high enough warrant any concern at all in any project that doesn't get staff and DBA time free. Once you pay for a couple of professional staff the Oracle license fees are not worth worrying about, if they are even a bit more productive. Prices for Oracle on big iron are shocking to people whose idea of a big software procurement is a couple of dozen boxes of MS Office, but in those environments they are likewise not out of place.
Oracle's licensing model is incredibly byzantine. It takes days of study to get your brain around it. Once you do, what's obvious is that it is a reflection of the company itself: it's a complex machine designed to squeeze every last marginal dollar out of the customer. But -- the reason it works is that the prics are very carefully calibrated so you don't really save any money by going to the competitor. For example, if you just grab the biggest license you can on the x86 platform to make your life simpler, you will pay dearly. But if you are selective and understand the model resaonably well, Oracle is about the same or perhaps even cheaper than SQL Server on equivalent machines. Of course if you don't know what you're doing you'll be accidentally sending Oracle beaucoup bucks, like CA did a few years ago. I assume midrange and high end licensing for Oracle are the same: they maximize Oracle's revenue for the specific capabilities you license from them, and it behooves you to choose wisely.
Of course, no pricing model works for everyone. Perhaps there are people on high end hardware who just need something that is very fast and very reliable, not highly configurably fast and as reliable as human ingenuity can make it. Which leads me to a conclusion:
Talking about Postgres in the context of Oracle and DB2 is probably just posturing. It would be years, if ever, before Postgres gets the kind of features that make Oracle a must have for many high end applications. So I'm guessing this is really aimed at delaying the encroachment x86/Windows/SQL Server on the midrange, by giving a big vendor seal of approval to Postgres, which is plenty good for the kinds of apps you run on SQL Server, and quite a bit better if the hardware is better.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
Yeah, that's definatly a distro problem. If you compile from source (or use a package) then there isn't much of a difference. Sure you may need to read the manual for Postgres to get started, but only an idiot would use MySQL without understanding many of the gocha's involved - thus requiring you to read the manual as well.
...is probably the most fair comparison.
.NET--meaning that you can write stored procs and functions in any .NET language. So, they are probably a pretty close match except in a couple of areas--PGSQL is free (libre and gratis), and PGSQL is not platform dependent. I think that the fact MSSQL only works on Windows is a major drawback when all its competitors offer products that run on Windows, Linux and various UNIX derivatives. Various "facts" notwithstanding I still think that Windows servers are a greater administrative burden and more difficult to secure than other alternatives--perhaps the next server version after 2003 will have addressed that.
Don't know much about Postgres in production environemnts. It seems clean and I like the fact you have a choice of stored procedure languages.
I have had experience with both in production environments, and I've come to the conclusion that PostgreSQL is clearly a step above MSSQL in terms of features and scalability. It is much better than MSSQL with concurrency and managing contention (MSSQL's locking strategy is quite brain dead). There is much more flexibility and power to create user functions and stored procs in PGSQL--you can do things like make user-defined AGGREGATE functions and data types in addition to having a choice of languages (none of that is possible with MSSQL). I find that all things being equal PostgreSQL is probably faster as well (largely an assumption becasue the PostgreSQL systems I've worked with are running on considerably less powerful hardware than the MSSQL systems I am doing). A lot of people comment about the ease of administration of MSSQL but I find that PGSQL really isn't that hard to manage even if you don't use GUI tools.
Oracle is certainly one step above PGSQL in power--but of course that comes with a very hefty price tag. That price isn't just in licensing either--Oracle takes more time to administer and you also pay by losing flexibility, since enterprise systems based on Oracle better do things the "Oracle way" or you are inviting trouble (just like with Microsoft products, Oracle really pushes its single-vendor solutions).
I have not played with Yukon/MSSQL 2005 yet, though I've heard a fair bit about it. From what I've heard it closes the gap a fair bit and comes much closer to PGSQL in terms of features and performance--it is supposed to handle locking/contention better and its has embraced
According to Wikipedia's Punter entry, "In colloquial British English, a term that is analgous to a customer of a business. This usage has its roots as a derogatory reference to amateur horse-racing gamblers, but is now neutrally applied as a collective term for customers of any business."
So, it means "customer" -- something more than just "dude" (bloke).
combined with the Google collaboration
I know Google has their hardware search appliance, but wouldn't people jump at the chance to use/purchase/deploy a Google database? gSQL anyone?
Although most sites I've worked at ban them to keep their product flexible for moving between DB applications.
Until you realize that each RDBMS has a different dialect of SQL and may require entirely different SQL code for optimization or syntactical reasons. You have to put the different SQL somewhere... whether you put it into your code (RDBMS specific query classes that are in-effect stored procedure libraries in application code form) or into stored procedures (your application opens up a new ODBC class at the start depending on configuration and chugs along), it has to be done somewhere. Stored procedures can sometimes be a performance gain over embedded SQL, as well.
I've done it both ways a number of times and neither one is *always* the solution. Sometimes one is better than the other. Unless you are also targeting MySQL in which you must embed your queries even if that's not the best way... and is especially a pain if you've already developed using stored procedures. For an application relying on a DB, you may tend to architect it so that the least-common-denominator is well taken care of so that you can move it around easy. If MySQL is in your list to support, well, that is your least-common-denominator as far as stored procedures are concerned.
If only the companies that produce the crappy middleware I'm obligated to run would deign to bless it for use with their product. Everything I've installed lately has demanded the 10 ton pig that is Oracle even though they don't use any fancy features.
As a developer who works on databases a lot, I still find it very arcane when I do have to get right down and dirty and work on files again. It seems very primitive in a world of SELECTs and INNER JOINs.
I personally think every OS should ship with some sort of a light db engine equipped to handle databases stored in files. Imagine if you could write a simple application that opened databases just like you would with a db server, only using a file instead. When it comes time to scale it to a larger application, switch one line and connect it to a server instead. Or have your application configurable so that the user can either store it in a file or on a remote server simply by changing the server info from "c:\database.db" to "server:1234".
The big difference appears to me to be the storage of undo information. Oracle records row changes in a special location (either a newer "undo" tablespace or the older "rollback segments").
Postgres (AFAIK) actually marks the row as deleted, then writes a new copy of the row with the modifications, so the undo information is integrated into the associated table(space), much as the older dBase products did. These old copies of rows allow database "time travel" to see previous versions of the data (this feature was added to Oracle 9 as "flashback query"). One advantage of Oracle's implementation is that the undo/rollback will mostly clean itself up, while Postgres tables must be periodically "vacuumed" to remove the old rows.
It is interesting to see Oracle add a few innovations that first seemed to appear in Postgres. The most notible of these enhancements was SQL support for regular expressions.
a number of the American punters are also gamblers or hooker clients.
I prefer the "u" in honour as it seems to be missing these days.
Not true. Modern databases have wildly different architectures, and highly tuned code on one platform will bring another to its knees.
Some features won't port - Oracle has long-supported DECODE, which locks in much SQL to Oracle. Or how about synthetic keys, implemented in Sybase/SQL Server with an "IDENTITY" column, or in Oracle with a "SEQUENCE?" This is basic functionality which must be recoded in a db port. And we will leave trigger syntax right out - there was never a standard for it.
Some databases support locks on only a whole page, while some allow locking individual rows (but even in Oracle, if your INITTRANS and MAXTRANS are not appropriate and/or the block is full, your table will behave as if only page locks are available).
Many databases have an in-memory table for row-locks; when the table gets full, lock-promotion occurs. Oracle has no in-memory table, and there is never a lock promotion (but there is lock escalation).
Mostly apples and oranges.
This myth kept me away from postgres for a couple of years, since I knew how to set up mysql and didn't have time to learn something new. The fact is, as I found out easily, postgres is every bit as easy to set up as mysql, just different. And after it's ready, well, there's no comparison.
Do you have ESP?
THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
...as in beer, which makes it pretty much useless for many projects - such as a competitor integrating it into their OS.
Dewey, what part of this looks like authorities should be involved?
OS Support: PostgreSQL ~= MySQL; postgres came a long way, e.g. there's now a stable Windows version.
I just wish they would figure out a way to get a fully functioning Unicode version for Windows. It sounds like they threw the baby out with the bath water. See their FAQ for their detailed description: http://pginstaller.projects.postgresql.org/faq/FAQ _windows.html#2.6
I think the FAQ needs clarification. They say "Unicode is not properly supported on Windows, and therefore cannot be used.". My impression is that the reality is more like, "PostgreSQL uses UTF-8, and this encoding is not fully supported on Windows the way they would like. Windows (NT, 2000, XP, 2003) does support UTF-16 natively."
Yeah, except to use mysql's multi-master replication you have to keep your whole dataset in RAM.
The biggest one that has made a difference in my life lately:
Table Partitioning:
PostgreSQL > MySQL; Mainline PostgreSQL has table partitioning as of 8.1-beta, by leveraging inheritance (Postgres is an Object-Relational Database).
Queries on the aggregate of the partitions are directed at the parent table, and optimized to only look into appropriate sub-table by checking CHECK constraints of the sub-table against the query WHERE clause.
Basically, you do it like this (contrived, but related to how I'm using them at the moment):
MyBigFatTable stores timestamped data from a bunch of a machines at regular intervals, keying off of the machine id and the timestamp of the data:
CREATE TABLE MyBigFatTable (
machineid INTEGER REFERENCES machines(machineid),
stamp TIMESTAMP,
data_x FLOAT,
data_y FLOAT,
[... lots more data fields
PRIMARY KEY (machineid, stamp)
);
Your problem is, the table size grows and grows and grows unbounded, and database operations continue to get slower and slower (inserts, updates, and selects) as the table grows. You have a policy to expire the data after a month which limits the maximum growth, but this in turn requires lots of deletes happening all the time, which again hurts performance.
The inheritance-based partitioning solution is to leave that table definition as it is, and also define:
CREATE TABLE MyBigFatTable-2005-10-05 (
PRIMARY KEY (machineid, stamp),
FOREIGN KEY (machineid) REFERENCES machines(machineid),
CHECK ( stamp >= '2005-10-05 00:00' AND stamp '2005-10-06 00:00')
) INHERITS MyBigFatTable;
As you can see, the column definitions are inherited, but you must re-specify the PK/FK stuff. The added check clause says that only data from Oct 10, 2005 is valid in this subtable.
You set up a maintenance script to create your new time-based tables ahead of time (say once a day create tables for the next day), and you do your data INSERTs into the specific subtable (you know the timestamp of the data you're inserting, so you can generate the appropriate table name from that (MyBigFatTable-2005-10-05).
You run your SELECTs against the original MyBigFatTable just as you did before. It automatically includes any rows from its child tables. Further, if your SELECT's WHERE-clause was constraining a query to a specific time-range, only those children of MyBigFatTable whose CHECK constraint indicates they could possibly have relevant data are checked.
And as for the problem of expiring data and the delete traffic you had before? You simply drop the old child tables with "DROP TABLE" from a maintenance script when they're a month old - no DELETEs neccesary.
11*43+456^2
Indeed. The System/38 had this, and was way ahead of its time. I had one pretty much to myself in 1983-84.
"If you don't talk Outlook, you're in trouble."
Open-Xchange is already a MS-Exchange drop-in replacement. But it "talks Outlook" with a proprietary MAPI driver you need to install in Outlook to connect to the OX server. Which costs money per license (the rest of OX is F/OSS). If Sun released such an Outlook plugin, for free, publishing its source, which translated the Outlook MAPI protocols to standard, open protocols (like IMAP/WebDAV/iCal), they could crank open the entire industry sector. Sun's groupware, OX, other players could offer a landscape that leverages Microsoft's early market building with their limited Exchange product into better group communications for everyone.
--
make install -not war
The natural thing for them to contribute which would be self-serving would be in the area of JDBC support, where improvements to the interface to data storage represent something they would be especially well placed to provide. It would also make sense to contribute to one or the other of the projects that allow implementing stored procedures in Java...
There is nothing about a DBMS being implemented in Java that ought to make it particularly attractive to Sun, particularly when they would have grave reservations surrounding licensing arrangements.
If you're not part of the solution, you're part of the precipitate.
A perfect example is the Windows NT/XP TCP/IP stack -- stolen straight from BSD
How many times do we have to go over this? Non-copyright-infringement is not theft.
If other reasons we do lack, we swear no one will die when we attack
and its has embraced .NET--meaning that you can write stored procs and functions in any .NET language
Someone please tell me that this doesn't make Microsoft the first DB vendor to make it easy to extend database functionality in Python?
If other reasons we do lack, we swear no one will die when we attack
There is a reason why Oracle is Oracle, IBM IBM, MSSQL MSSQL. PostgreSQL is ok too but I doubt it if that will help them get their flat revenues back on target. I have a strong feeling that MySQL will soon be bought by Oracle and then they'll come up with a very very cheap Oracle liter version. But good luck to Sun tho.
Scott McNealy to Michael: "Suck my Sun!" Michael Dell to Scott : "Lick my Dell!"
I have used both MSDN (admittedly only for VBA) and the JDK docs, and the JDK docs are vastly superior. MSDN tends to only document the common cases, and ignore corner cases and limitations.
The transfer of copyright usually happens to prevent a fragmentation of copyright holders inside a GPLed project. You usually agree to it because of your work being little compared to the whole. The question whether you can continue to use your committed code under a different license or not is irrelevant because you couldn't use the larger part of GPLed code under a different license in any case.
while (!asleep()) sheep++
All your [data]base are belong to us.
-PMP-
There's more to it than that. There's also setting up default users, permissions, configuring to get the security settings you need to use the database (pg_hba.conf), and probably other things too.
Believe with me, my saplings.
That's a good feature, and it will help many users.
However, I caution that constaint exclusion (CE) is a first step toward table partitioning. Those who assume that they can seamlessly split tables may encounter difficulty.
Social scientists are inspired by theories; scientists are humbled by facts.
Actually, something close could be achieved in 7.4 (and earlier versions probably, I'm not sure where they began allowing partial indexes) where one could CREATE INDEX bigfattable200510 ON bigfattable(stamp) WHERE stamp>='2005-10-1 00:00' AND stamp'2005-11-1 00:00'; which would create an index covering only those dates.
You'd still have to delete the records (and indexes) yourself though.
If I have been able to see further than others, it is because I bought a pair of binoculars.
It's fixed in the upcoming 8.1 version, now in beta.
Are you sure?
I didnt see it in the release notes... but I did see reference to a fix being held for 8.2. See: http://momjian.postgresql.org/cgi-bin/pgpatches_ho ld
I hope it is not deferred until 8.2... sigh.
This is why Java and C++ are more flexible than the Pentium IV instruction set, why the StrongARM (which is RISC and has no FPU) can run floating-point software, why a RISC processor is actually faster than a CISC processor for the bulk of operations, despite needing the translation layer...
No, having a "smart" wrapper would not limit you to the common denominator. It would limit you only to the superset that can be defined by combinations of the atomic operations available at any given time. So long as the databases are roughly Turing-complete, then you have no effective limits at all.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
I wasn't under that impression, and I hope the readers of my comment weren't either. Thanks for the point though.
I was reading up on PostgreSQL.com site before my previous post, and the PostgreSQL organisation doesn't exactly seem that big. It was just that the grandparent poster referred to the purchase of PostgreSQL and I took his / her point to mean PostgreSQL Inc.
I understand and it was mentioned in another post that apparently (I haven't checked this one) PostgreSQL is under a BSD license. If this is correct, then it would be impossible for PostgreSQL Inc to own the project or the code.
It could be that Sun is eyeing off one of the other companies that writes for / supports PostgreSQL, only time will tell on that one, but it could be cheaper and easier to set up another dept and just hire developers. (That's what I would do anyway, but that's with no homework)
Curiosity was framed; ignorance killed the cat. -- Author unknown
You may want to check the comparison chart
http://dev.mysql.com/tech-resources/features.html
Slashdot = Sarcasm
8.0 introduced "dollar quoting" for people like you who can't figure out that '' is how you escape a quote within SQL single quotes ...and that was released in January.
he said, adding that over time the database will become integrated into the operating system." Finally catching up with Pick OS (development language and database integrated in OS) developed by Dick Pick gone now some 11 years. search on pick os or dick pick for some very interesting history on databases.
"We must be the change we wish to see in the world"
Yes.. your British based magazine likes wierd British food. The number one restaurant in the world (according to them) serves:
delicacies such as snail porridge, mussels in popcorn sauce, and bacon and egg ice cream.
I have serious doubts about the judgement of anybody who chooses that as the best food in the world.
SQLite is already used in Solaris 10 as the repository for the new smf(5) framework.
Sure, it's not a "real" RDBMS but it shows that Sun believe that there are applications for databases within the OS sphere.
Isn't it already integrated into the OS??? Can't I already run MySQL and Postgres on a regular desktop Linux system? The only thing that is lacking is a common desktop database interface that makes all independent of the actual database backend and lets desktop apps connect to the database. But, "unfortunately," there is already Berkeley DB which already does a pretty good job at providing database functionality for desktop apps. So what? Could someone give me a clue as to why we need a giant DB running on each dumb desktop? Why should it make sense to integrate a DB with the file system or with the OS -- whatever the latter means? Hasn't Linux not proven already that a modular structure like we have today is the best and most accepted solution and will probably ever be?
Scratching my head and wondering what this fuss is all about... ????