Re:So when do we get its successor?
on
X Power Tools
·
· Score: 1
Ok, I don't think that the line between users and developers is entirely non-existant in most FOSS. In general you have:
1) Core maintainers (aka project leaders, steering committee members, etc) 2) Committers 3) Users/implementors/developers. They may all contribute in their own ways (bug reports, documentation, patches)
One of the key issues in FOSS community management is helping people contribute optimally. Even discussion about missing features should be encouraged because even if the original poster can't code, someone else who can may read the discussion thread.
Users, developers, etc. are not entirely separate in FOSS communities but they are not entirely the same either.
that just because the software is old doesn't mean that it is bad. In fact the case is often that old software which has withstood the test of time is often *better* than newer programs.
Having said this, X has had a bit of a controversial reputation for a *long* time. One day a number of years ago, I ran fortune and got the ABC's of UNIX:
A is for awk which runs like a snail B is for biff which reads all your mail C is for cc as hackers recall D is for dd, the command that does all.... W is for whoami which tells you your name X is, well, X, of dubious fame...
The basic issue is that X has traditionally been riddled with difficult (often nearly useless) error reporting, complex setups, low-level configuration issues which could cause hardware damage with older monitors, and the like. In some cases, documentation can also be a problem.
However, over the last decade or so that I have worked with X (and especially the move from XF86 to X.org), these issues have been greatly reduced. Even when I hack configuration files, I find that things are a lot more pleasant than they used to be and that error messages are almost always more meaningful. Yes, it is still a beast, but it is far better than it used to be. I expect it will continue to get better.
The large question as to a successor is a big one. I am not sure that it is possible to displace X at the moment. However, even if it happens, it will be extremely difficult to fill the entire market that X fills.
Sure that may be a troll, but I want to add some legitimate discourse here before that is lost:-)
I think that we as a community need to be very careful as to the sort of credit we give RMS. Legitimately he has: 1) Started the dialog about software freedom as analogous to free speach. He hasn't upheld very high standards of either (sacking Thomas Bushnell from HURD because he objected to the forced advocacy provisions in GNU documentation is a good example) but he has started the discussion and we would not be here having this conversation if it wasn't for that. 2) The GPL v2 does provide a nice soft entry for community-oriented development for businesses. It is a generally good software license from my perspective as a FOSS developer. He deserves some credit for this.
Here is to hoping that RMS's legacy is limited to the above two points, and that the GNU UnFree Documentation License, the GNU General Public License v3, and all versions of the Aferro General Public License die painful deaths.
Unlike bperens, I don't mind responding to trolls when appropriate. However, I do concurr with his opinion as to the general nature of your post.
Be that as it may, I *do* agree with you on your assessment of RMS as an egotistical control freak. For people who think I am just being harsh, please consider: 1) Go and *read* the discussions between RMS and the participants on debian-legal relating to whether the FSF GFDL is Free enough for Debian. 2) Read Thomas Bushnell's resignation letter from the HURD project (he claims he was asked to resign because of his stance on the GFDL not being Free).
Additionally I have a number of concerns about the trends towards more heavy-handed control and get the sense that the FSF sees "Freedom" in "War-on-Terror" sacrifice-to-preserve terms in the development of the AGPL, and the GPL/AGPL v3 (these licenses are all far less Free than the GPL v2 is).
For people like myself who actually value software freedom, I cannot accept the leadership of someone who: 1) Equates free speech with free software and then asks volunteers to resign for criticizing the GFDL as not being Free enough (especially when the issue is one of forced speach in GNU technical documentation). We are back to egotistical control freak here.... 2) Suggests that licenses must be convertable to the GPL v3 in order to be compatible (both RMS and Eben Moglen have stated this, but other SFLC people have said that this is not a requirement).
BTW, 99% of the code I produce is under the GPL v2. I have no problem with using a good license for the right things. But I think the trends in the development of later licenses are dangerous trends to the very ideas of software freedom and therefore I believe that RMS does *not* hold the principle of freedom up to any objective standard worth holding. If RMS's grand legacy were to be the GPL v2 (only) I could live with that. The GFDL and later GPL versions however, are not with preserving.
I don't think it is entirely irrelevant, but it is moving in that direction, unfortunately.
The big issue is that some people involved in OSI on the board or otherwise have strange notions* about the scope of authority that the organization has. These strange notions are at odds with official OSI documents, and see to be the cause of a lot of unpleasantness on the lists.
*Michael Tiemann, unfortunately counts among these, as does Rick Moen and Russ Nelson. They suggest that the OSI has the moral and legal authority to tell everyone else what the descriptive term "open source" means and tell people to stop using it. This is at odds with the OSI certification mark documentation which specifically states that the term "open source" is not something they can legally protect. THis is particularly baffling in Tiemann's case since giving OSI such trademark rights would seem to undercut a number of Red Hat trademarks....
The real problem however is that the people who are bent on this sort of thing cause a great deal of unpleasantness on the lists (more than even the few anti-FOSS people like Daniel "GPL violates the Sherman Act" Wallace). THis is a large part of the reason why I no longer participate in OSI mailing lists or with the organization in any way (the OSI lists are the most unpleasant, unhelpful lists that I have ever participated in). Instead, I hope to form yet another parallel organization devoted to the advancement of Free and Open Source software, documentation, and content. It would probably be a small organization whose real job is outreach. Alternatively, perhaps Software in the Public Interest could take up some of that role....
So I guess the question is, do people think that an "Institute for the Advancement of Open Source" would be a helpful organization?
I am not sure they are only targetting Wikipedia. Remember the Danish Cartoon issue a while ago?
This brings me to one of the main points. There is a fundamental philosophical, social, and moral disjunct between Islam and Western civilization. Islam itself is a religion which is built on the assumption that it will be the foundation of the state and that the secular authority, to be valid, must be tied to sacred authority. Hence most of the Koran is dedicated to things like legal pronouncements. To understand this disjunct one has to stop thinking of Islam as a "religion of peace" and see it for what it is: a "religion of law." Hence the only peace Islam offers is the peace of everyone following Sh'ria.
BTW, Judaism is also very much a "religion of law" and in Israel today, Sh'ria is allowed by the 10-20% (depending on how you count) of Israeli citizens which are Muslim as an acceptable tradition of civil law alternative to the tradition of Jewish law which usually settls such disputes (source: CIA World Fact Book).
The Islamic law does not recognize the necessity of secular authority, nor does it act to protect people from those in power except to make the assumption that clergy are somewhat less corruptable than everyone else. (Yet, from seeing the pedophilia scandals in the Roman Catholic Church a few years ago, that is clearly not the case.) Because it is based on religious authority, there are very few protections involving the freedom to express any idea which is considered antithetical to Islam.
I believe that this does represent a clash of civilizations as much as people on both sides want to prevent such a thing. And I also believe that the greatest danger is that we can lose the protections on those freedoms we hold dear simply because we are afraid of the other. If we are to have such a confrontation, then we must stand tall and strong, and avoid all urges to sacrifice our civil liberties in the name of preserving them, for such sacrifices are rarely less permanent for being temporary. I believe that Wikipedia is doing the right thing by preserving impartially the information regardless of the offensive value of it.
I have found that complex queries *really* benefit from PostgreSQL's bitmapped indexes. Some of my queries had their execution time cut in half when this was added in 8.2.
The thing is-- you have more tools at your disposal to improve performance on PostgreSQL-- * Functional indexes (i.e. CREATE INDEX foo ON bar(extract('YEAR' from entry_date)). Note that volitile functions cannot be used so you can't shoot yourself in the foot with something like CREATE INDEX foo ON bar random()... * Partial indexes (CREATE INDEX foo ON bar(baz) where approved is true); * Inheritance with intelligent table selection allowing for partitioning tables (star schemas and the like). * A nice cost-based planner (warning: after doing a bulk load of data, run VACUUM ANALYZE to ensure that the planner has accurate statistics)
Besides, shouldn't your ORM layer abstract such minutiae away pretty easily? Although I would prefer simulating the old app's structure using schemas and views. ORMs face fundamental math problems which have no universally safe answers (i.e. OO and Relational models of data cannot be transformed to eachother losslessly because of the different definitions of data dependencies).
One of the issues with this discussion is that there is a disjunct in the terminology used by MySQL users and that used by the rest of us.
MySQL uses "database" and "schema" synomymously (note that their "information schema" is a separate "database"). In that sense, PostgreSQL has long had cross-schema joins in the same way MySQL does. It is just slightly harder to set things up so that you create tables in the right schemas. (hint: SET search_path='schema_name');
In this way, I do a *lot* of work using cross-schema queries. They work like a charm on PostgreSQL.
What PostgreSQL calls a "database" is analogous to the entire cluster of "databases" on MySQL. There is no analogy to "PostgreSQL cluster" on MySQL (i.e. a set of databases controlled by the same process, each of which contains multiple schemata). For that matter, last time I checked, there was no equivalent on Oracle either.
So "PostgreSQL doesn't have an equivalent to MySQL's cross-db queries" is an issue of terminology rather than substance.
At the same time, as nconway points out, PostgreSQL's MED solutions do not optimize well across distributed queries (i.e. where parts of the queries have to go through connections to other databases/servers). For MySQL users, these are like Federated tables, and I would expect similar (or worse) optimization problems in this area on MySQL. Hence when you are trying to use PostgreSQL as a distributed database, you are in for headaches. Fortunately this is not what the OP asked for:-)
Like it or not, this sort of thing is remarkably common. Pretty soon you have numerous applications designed with their own databases and someone needs information aggregating it all together. The SQL 2003 standard actually has an optional module dealing with this problem. It is called SQL/MED (Management of External Data) and it exists specifically to address management of data outside the database. One of the major limitations however is that the database cannot guarantee ACID compliance in the same way when it does not manage all aspects of the data.
In MySQL, this is done using Federated tables, but they are limited to those on MySQL servers. I.e. one cannot query Oracle from MySQL, etc.
In PostgreSQL, there is a partial implementation of SQL/MED written in PL/PerlU by David Fetter called DBI-Link. It allows you to access any data you can from Perl's DBI infrastructure as views in PostgreSQL. This means you can query data on other PostgreSQL servers, but also data on servers running MySQL, MS SQL, Oracle, DB2, LDAP, and all sorts of other things as well (note that LDAP isn't even relational in its model).
The basic thing is-- PostgreSQL's default installation is either a starting point or a development setup. Setting it up for a production environment is completely different. You might want to have users authentiate via some central source, as system accounts, or something else. That is where the advanced documentation comes in.
Now, this has a good side: flexibility. One of the reason why we on the LedgerSMB project use the role system for application users is that it allows for external auth systems (LDAP, Kerberos, etc). 8.3 expands on these as well.
Now, it is not all good though. 8.3 by removing all the implicit casts breaks LedgerSMB so while we *will* fix problems reported to us, we will not guarantee that it will do much out of the box....
I don't know what planet you are on or when you tried this (was that with Postgres95?) but PostgreSQL seems to handle large workloads pretty well. MySQL doesn't even have a cost-based planner or bitmap indexes yet (the latter has caused some of my queries to run in less than half the time they did before that feature was added).
In general, my guess is that your problems are probably ones which a competent Pg admin could solve. Want to contract with my business?
Yeah, I have a few queries (views based on views based on views, requiring multiple sequential scans on a table because the math is unamageable otherwise) which I would like to get to run faster, but when you are staring at a 85-line EXPLAIN output, you know you are doing something which could be done better;-).
On MySQL, a "database" is really what we call a "schema" on PostgreSQL (note that the "information schema" in MySQL is a separate db!).
So, you have that option built in within PostgreSQL. However, there is more.
Suppose I want to query data on another server? MySQL allows this through "FEDERATED" tables. PostgreSQL allows this through dblink.
However, there is a better tool out there. DBI-Link by David Fetter is a partial implementation of SQL/MED using Perl/DBI. So you can actually query data on a MySQL db from inside PostgreSQL.
You can't do cross-db joins because you haven't spent the time to lean and never understood that MySQL uses subtly different terminology.
What part of "large *shared* data banks" does Wikipedia need?
MySQL works quite well with large single-user apps with little normalization. When you need to build a large shared data bank, it breaks down.
Why PostgreSQL doesn't have more of the market
on
PostgreSQL 8.3 Released
·
· Score: 2, Informative
I have used PostgreSQL as my primary db since 2000 (version 6.5!) and I have watched it for a while.
PostgreSQL had a number of problems in the past which made it hard to work with including: 1) No ALTER TABLE DROP COLUMN support and other things needed for prototyping (fixed in 7.2 iirc) 2) Issues with dependency tracking in text SQL dumps (fixed in 8.0) meaning that some times one had to hack dumps to get them to restore properly. 3) maintenance tasks required exclusive locks on tables (corrected sometime in 7.x) 4) other things which generally made it somewhat user-unfriendly.
Note that all of the above issues have been corrected as of three years ago. However by that point a lot of the small less serious appliations were more or less wedded to MySQL. For large, shared databanks, PostgreSQL and Ingress II (and maybe Firebird) are the only serious choices. MySQL fails to be useful as soon as you end up requiring the sort of thing described in the title of Codd's original paper....
MySQL is FAST, PgSQL FARTs on MySQL's Performance
on
PostgreSQL 8.3 Released
·
· Score: 2, Funny
Fast And Sorta Transactional
PostgreSQL is Fast And Really Transactional
And under heavy loads with normalized db's PostgreSQL's planner does *much* better than MySQL's.
Of course the statistics are BS. The way they are calculated is "if everyone purchased these songs instead of copying them, there would be 750000 more jobs" which is *not* the same as "750000 jobs were lost because of copyright infringement" because of two issues:
1) It is one heck of a leap to suggest that if there was no internet that so many more CD's and singles would be purchased. 2) I seriously doubt that those numbers of job inflation are accurate anyway (that is roughly 10-20 times the number of employees at Microsoft).
However, at the same time, the fact is that copyright infringement remains a "crime against the free market" (not inluding anti-free-market controls such as access control under the DMCA). The basic problem is that copyright infringement denies a market place to newer artists who may be more willing to try other models of music distribution in the same way that copyright infringement of Windows denies Linux market share. I personally think that the damage done to our society by this illegal copying is immeasurable, and that the primary *beneficiaries* are the major record lables.
So if you want to *help* the RIAA, go ahead and keep downloading those songs without permission. If you want to *hurt* them, start working with artists to build an alternative music production and distribution system which works for them.
My reading is that the client *could* be a CGI script on the web server (or even the web server itself) just as that script could also be described as a database client. The only issue is that something is sent somewhere else to handle the error. I am not at all sure that the "client" refers to the web browser here (i.e. it could be part of an N-tier app).
In short, the only thing here is that the error handling routines rather than included in the web server are daemonized. So does this mean that redirecting to a CGI script on error (which might connect to a db containing server log information to try to locate a related resource) is covered under this patent? How far is this from using custom error handlers in Apache relating to static error documents?
It also seems to me that the mere innovation of moving an error handling process outside the web server might well fail the innovation test recently set forth by the Supreme Court (in a case relating to electronics in automobiles).
Finally, I would be glad that Microsoft isn't doing this. One can imagine that the error server might at some point send a premature RST packet. In this case, one might get an error message like:
"This server has detected an illegal request and has attempted to report it to the proper Authorities. Assertion failed at mserrsrv.c line 323. Stack dump:....."
Ok, so MS's error messages have improved a bit in the last 10 years but....
First, I think that there is a terrible price to the illegal downloading of copyrighted materials which many people do not see. Just like someone who doesn't want to buy Windows might pirate a copy in order to avoid making the decision to *learn* Linux or *pay* for Windows makes it harder for alternatives to supplant Windows, people downloading music illegally furthers the popularity of the big labels' productions and denies some bands some of the popularity they deserve. In short, piracy is anticompetitive and does further monopoly.
Now, I don't think that there is a technological solution because any technological countermeasure is more expensive than the countermeasure to the countermeasure. I.e. an ISP might spend thousands of dollars filtering stuff out, and the next generation of P2P services might use HTTPS (maybe by porting protocol functionality to SOAP), SMTP w/SSL, or some other common open standard on the internet. This sort of thing is not difficult to do and in the end such technical measures will fail. Hence the real solution is social. *We* have to decide to help foster a Free Music industry. *We* have to build it. *We* have to show that it can be viable and protect artists.
However, I do agree that until we do build such an industry, that blaming the problem on an outdated business model is a problem primarily because at the moment there isn't really a viable alternative for comprehensive distribution. Once such an alternative is in place, *then* we can watch the music industry go through such a phoenix-like transformation. But to do so before such a system is in place does nothing to create the just system I think we all want to see.
Anything else is just an exercise in smoke and mirrors to justify theft. First, copyright infringement is not theft. I maintain that it is something worse than theft because it denies new models in the marketplace a fair chance to compete. In essence, if copyright infringement is "theft" it is a theft of opportunity from those who want to build an alternative means of distribution, not really a theft of money from the owners of the copyright. Hence it is only "theft" in the same way that abuse of monopoly is "theft" (because the net result is actually nearly identical).
Plus it just feels better not to have anything to do with businesses that treat one as a criminal whether one is or not.
Ok, I don't think that the line between users and developers is entirely non-existant in most FOSS. In general you have:
1) Core maintainers (aka project leaders, steering committee members, etc)
2) Committers
3) Users/implementors/developers. They may all contribute in their own ways (bug reports, documentation, patches)
One of the key issues in FOSS community management is helping people contribute optimally. Even discussion about missing features should be encouraged because even if the original poster can't code, someone else who can may read the discussion thread.
Users, developers, etc. are not entirely separate in FOSS communities but they are not entirely the same either.
that just because the software is old doesn't mean that it is bad. In fact the case is often that old software which has withstood the test of time is often *better* than newer programs.
.... ...
Having said this, X has had a bit of a controversial reputation for a *long* time. One day a number of years ago, I ran fortune and got the ABC's of UNIX:
A is for awk which runs like a snail
B is for biff which reads all your mail
C is for cc as hackers recall
D is for dd, the command that does all
W is for whoami which tells you your name
X is, well, X, of dubious fame
The basic issue is that X has traditionally been riddled with difficult (often nearly useless) error reporting, complex setups, low-level configuration issues which could cause hardware damage with older monitors, and the like. In some cases, documentation can also be a problem.
However, over the last decade or so that I have worked with X (and especially the move from XF86 to X.org), these issues have been greatly reduced. Even when I hack configuration files, I find that things are a lot more pleasant than they used to be and that error messages are almost always more meaningful. Yes, it is still a beast, but it is far better than it used to be. I expect it will continue to get better.
The large question as to a successor is a big one. I am not sure that it is possible to displace X at the moment. However, even if it happens, it will be extremely difficult to fill the entire market that X fills.
Sure that may be a troll, but I want to add some legitimate discourse here before that is lost :-)
I think that we as a community need to be very careful as to the sort of credit we give RMS. Legitimately he has:
1) Started the dialog about software freedom as analogous to free speach. He hasn't upheld very high standards of either (sacking Thomas Bushnell from HURD because he objected to the forced advocacy provisions in GNU documentation is a good example) but he has started the discussion and we would not be here having this conversation if it wasn't for that.
2) The GPL v2 does provide a nice soft entry for community-oriented development for businesses. It is a generally good software license from my perspective as a FOSS developer. He deserves some credit for this.
Here is to hoping that RMS's legacy is limited to the above two points, and that the GNU UnFree Documentation License, the GNU General Public License v3, and all versions of the Aferro General Public License die painful deaths.
Unlike bperens, I don't mind responding to trolls when appropriate. However, I do concurr with his opinion as to the general nature of your post.
Be that as it may, I *do* agree with you on your assessment of RMS as an egotistical control freak. For people who think I am just being harsh, please consider:
1) Go and *read* the discussions between RMS and the participants on debian-legal relating to whether the FSF GFDL is Free enough for Debian.
2) Read Thomas Bushnell's resignation letter from the HURD project (he claims he was asked to resign because of his stance on the GFDL not being Free).
Additionally I have a number of concerns about the trends towards more heavy-handed control and get the sense that the FSF sees "Freedom" in "War-on-Terror" sacrifice-to-preserve terms in the development of the AGPL, and the GPL/AGPL v3 (these licenses are all far less Free than the GPL v2 is).
For people like myself who actually value software freedom, I cannot accept the leadership of someone who:
1) Equates free speech with free software and then asks volunteers to resign for criticizing the GFDL as not being Free enough (especially when the issue is one of forced speach in GNU technical documentation). We are back to egotistical control freak here....
2) Suggests that licenses must be convertable to the GPL v3 in order to be compatible (both RMS and Eben Moglen have stated this, but other SFLC people have said that this is not a requirement).
BTW, 99% of the code I produce is under the GPL v2. I have no problem with using a good license for the right things. But I think the trends in the development of later licenses are dangerous trends to the very ideas of software freedom and therefore I believe that RMS does *not* hold the principle of freedom up to any objective standard worth holding. If RMS's grand legacy were to be the GPL v2 (only) I could live with that. The GFDL and later GPL versions however, are not with preserving.
I don't think it is entirely irrelevant, but it is moving in that direction, unfortunately.
The big issue is that some people involved in OSI on the board or otherwise have strange notions* about the scope of authority that the organization has. These strange notions are at odds with official OSI documents, and see to be the cause of a lot of unpleasantness on the lists.
*Michael Tiemann, unfortunately counts among these, as does Rick Moen and Russ Nelson. They suggest that the OSI has the moral and legal authority to tell everyone else what the descriptive term "open source" means and tell people to stop using it. This is at odds with the OSI certification mark documentation which specifically states that the term "open source" is not something they can legally protect. THis is particularly baffling in Tiemann's case since giving OSI such trademark rights would seem to undercut a number of Red Hat trademarks....
The real problem however is that the people who are bent on this sort of thing cause a great deal of unpleasantness on the lists (more than even the few anti-FOSS people like Daniel "GPL violates the Sherman Act" Wallace). THis is a large part of the reason why I no longer participate in OSI mailing lists or with the organization in any way (the OSI lists are the most unpleasant, unhelpful lists that I have ever participated in). Instead, I hope to form yet another parallel organization devoted to the advancement of Free and Open Source software, documentation, and content. It would probably be a small organization whose real job is outreach. Alternatively, perhaps Software in the Public Interest could take up some of that role....
So I guess the question is, do people think that an "Institute for the Advancement of Open Source" would be a helpful organization?
I am not sure they are only targetting Wikipedia. Remember the Danish Cartoon issue a while ago?
This brings me to one of the main points. There is a fundamental philosophical, social, and moral disjunct between Islam and Western civilization. Islam itself is a religion which is built on the assumption that it will be the foundation of the state and that the secular authority, to be valid, must be tied to sacred authority. Hence most of the Koran is dedicated to things like legal pronouncements. To understand this disjunct one has to stop thinking of Islam as a "religion of peace" and see it for what it is: a "religion of law." Hence the only peace Islam offers is the peace of everyone following Sh'ria.
BTW, Judaism is also very much a "religion of law" and in Israel today, Sh'ria is allowed by the 10-20% (depending on how you count) of Israeli citizens which are Muslim as an acceptable tradition of civil law alternative to the tradition of Jewish law which usually settls such disputes (source: CIA World Fact Book).
The Islamic law does not recognize the necessity of secular authority, nor does it act to protect people from those in power except to make the assumption that clergy are somewhat less corruptable than everyone else. (Yet, from seeing the pedophilia scandals in the Roman Catholic Church a few years ago, that is clearly not the case.) Because it is based on religious authority, there are very few protections involving the freedom to express any idea which is considered antithetical to Islam.
I believe that this does represent a clash of civilizations as much as people on both sides want to prevent such a thing. And I also believe that the greatest danger is that we can lose the protections on those freedoms we hold dear simply because we are afraid of the other. If we are to have such a confrontation, then we must stand tall and strong, and avoid all urges to sacrifice our civil liberties in the name of preserving them, for such sacrifices are rarely less permanent for being temporary. I believe that Wikipedia is doing the right thing by preserving impartially the information regardless of the offensive value of it.
I have some queries which really would benefit from this sort of thing, but the basic truth is they are rare.
Usually in those cases, proper indexing does more than throwing hardware at the problem, however.....
I have found that complex queries *really* benefit from PostgreSQL's bitmapped indexes. Some of my queries had their execution time cut in half when this was added in 8.2.
The thing is-- you have more tools at your disposal to improve performance on PostgreSQL--
* Functional indexes (i.e. CREATE INDEX foo ON bar(extract('YEAR' from entry_date)). Note that volitile functions cannot be used so you can't shoot yourself in the foot with something like CREATE INDEX foo ON bar random()...
* Partial indexes (CREATE INDEX foo ON bar(baz) where approved is true);
* Inheritance with intelligent table selection allowing for partitioning tables (star schemas and the like).
* A nice cost-based planner (warning: after doing a bulk load of data, run VACUUM ANALYZE to ensure that the planner has accurate statistics)
One of the issues with this discussion is that there is a disjunct in the terminology used by MySQL users and that used by the rest of us.
:-)
MySQL uses "database" and "schema" synomymously (note that their "information schema" is a separate "database"). In that sense, PostgreSQL has long had cross-schema joins in the same way MySQL does. It is just slightly harder to set things up so that you create tables in the right schemas. (hint: SET search_path='schema_name');
In this way, I do a *lot* of work using cross-schema queries. They work like a charm on PostgreSQL.
What PostgreSQL calls a "database" is analogous to the entire cluster of "databases" on MySQL. There is no analogy to "PostgreSQL cluster" on MySQL (i.e. a set of databases controlled by the same process, each of which contains multiple schemata). For that matter, last time I checked, there was no equivalent on Oracle either.
So "PostgreSQL doesn't have an equivalent to MySQL's cross-db queries" is an issue of terminology rather than substance.
At the same time, as nconway points out, PostgreSQL's MED solutions do not optimize well across distributed queries (i.e. where parts of the queries have to go through connections to other databases/servers). For MySQL users, these are like Federated tables, and I would expect similar (or worse) optimization problems in this area on MySQL. Hence when you are trying to use PostgreSQL as a distributed database, you are in for headaches. Fortunately this is not what the OP asked for
Like it or not, this sort of thing is remarkably common. Pretty soon you have numerous applications designed with their own databases and someone needs information aggregating it all together. The SQL 2003 standard actually has an optional module dealing with this problem. It is called SQL/MED (Management of External Data) and it exists specifically to address management of data outside the database. One of the major limitations however is that the database cannot guarantee ACID compliance in the same way when it does not manage all aspects of the data.
In MySQL, this is done using Federated tables, but they are limited to those on MySQL servers. I.e. one cannot query Oracle from MySQL, etc.
In PostgreSQL, there is a partial implementation of SQL/MED written in PL/PerlU by David Fetter called DBI-Link. It allows you to access any data you can from Perl's DBI infrastructure as views in PostgreSQL. This means you can query data on other PostgreSQL servers, but also data on servers running MySQL, MS SQL, Oracle, DB2, LDAP, and all sorts of other things as well (note that LDAP isn't even relational in its model).
Shared between applications, not users.
MySQL does work fine for light-weight content management, such as a wiki.
It does not work well for a major business information database which has many different applications running off the same data.
The basic thing is-- PostgreSQL's default installation is either a starting point or a development setup. Setting it up for a production environment is completely different. You might want to have users authentiate via some central source, as system accounts, or something else. That is where the advanced documentation comes in.
Now, this has a good side: flexibility. One of the reason why we on the LedgerSMB project use the role system for application users is that it allows for external auth systems (LDAP, Kerberos, etc). 8.3 expands on these as well.
Now, it is not all good though. 8.3 by removing all the implicit casts breaks LedgerSMB so while we *will* fix problems reported to us, we will not guarantee that it will do much out of the box....
I don't know what planet you are on or when you tried this (was that with Postgres95?) but PostgreSQL seems to handle large workloads pretty well. MySQL doesn't even have a cost-based planner or bitmap indexes yet (the latter has caused some of my queries to run in less than half the time they did before that feature was added).
;-).
In general, my guess is that your problems are probably ones which a competent Pg admin could solve. Want to contract with my business?
Yeah, I have a few queries (views based on views based on views, requiring multiple sequential scans on a table because the math is unamageable otherwise) which I would like to get to run faster, but when you are staring at a 85-line EXPLAIN output, you know you are doing something which could be done better
than on MySQL.
On MySQL, a "database" is really what we call a "schema" on PostgreSQL (note that the "information schema" in MySQL is a separate db!).
So, you have that option built in within PostgreSQL. However, there is more.
Suppose I want to query data on another server? MySQL allows this through "FEDERATED" tables. PostgreSQL allows this through dblink.
However, there is a better tool out there. DBI-Link by David Fetter is a partial implementation of SQL/MED using Perl/DBI. So you can actually query data on a MySQL db from inside PostgreSQL.
You can't do cross-db joins because you haven't spent the time to lean and never understood that MySQL uses subtly different terminology.
What part of "large *shared* data banks" does Wikipedia need?
MySQL works quite well with large single-user apps with little normalization. When you need to build a large shared data bank, it breaks down.
I have used PostgreSQL as my primary db since 2000 (version 6.5!) and I have watched it for a while.
PostgreSQL had a number of problems in the past which made it hard to work with including:
1) No ALTER TABLE DROP COLUMN support and other things needed for prototyping (fixed in 7.2 iirc)
2) Issues with dependency tracking in text SQL dumps (fixed in 8.0) meaning that some times one had to hack dumps to get them to restore properly.
3) maintenance tasks required exclusive locks on tables (corrected sometime in 7.x)
4) other things which generally made it somewhat user-unfriendly.
Note that all of the above issues have been corrected as of three years ago. However by that point a lot of the small less serious appliations were more or less wedded to MySQL. For large, shared databanks, PostgreSQL and Ingress II (and maybe Firebird) are the only serious choices. MySQL fails to be useful as soon as you end up requiring the sort of thing described in the title of Codd's original paper....
Fast
And
Sorta
Transactional
PostgreSQL is
Fast
And
Really
Transactional
And under heavy loads with normalized db's PostgreSQL's planner does *much* better than MySQL's.
Of course the statistics are BS. The way they are calculated is "if everyone purchased these songs instead of copying them, there would be 750000 more jobs" which is *not* the same as "750000 jobs were lost because of copyright infringement" because of two issues:
1) It is one heck of a leap to suggest that if there was no internet that so many more CD's and singles would be purchased.
2) I seriously doubt that those numbers of job inflation are accurate anyway (that is roughly 10-20 times the number of employees at Microsoft).
However, at the same time, the fact is that copyright infringement remains a "crime against the free market" (not inluding anti-free-market controls such as access control under the DMCA). The basic problem is that copyright infringement denies a market place to newer artists who may be more willing to try other models of music distribution in the same way that copyright infringement of Windows denies Linux market share. I personally think that the damage done to our society by this illegal copying is immeasurable, and that the primary *beneficiaries* are the major record lables.
So if you want to *help* the RIAA, go ahead and keep downloading those songs without permission. If you want to *hurt* them, start working with artists to build an alternative music production and distribution system which works for them.
I am not sure I agree.
....."
My reading is that the client *could* be a CGI script on the web server (or even the web server itself) just as that script could also be described as a database client. The only issue is that something is sent somewhere else to handle the error. I am not at all sure that the "client" refers to the web browser here (i.e. it could be part of an N-tier app).
In short, the only thing here is that the error handling routines rather than included in the web server are daemonized. So does this mean that redirecting to a CGI script on error (which might connect to a db containing server log information to try to locate a related resource) is covered under this patent? How far is this from using custom error handlers in Apache relating to static error documents?
It also seems to me that the mere innovation of moving an error handling process outside the web server might well fail the innovation test recently set forth by the Supreme Court (in a case relating to electronics in automobiles).
Finally, I would be glad that Microsoft isn't doing this. One can imagine that the error server might at some point send a premature RST packet. In this case, one might get an error message like:
"This server has detected an illegal request and has attempted to report it to the proper Authorities. Assertion failed at mserrsrv.c line 323. Stack dump:
Ok, so MS's error messages have improved a bit in the last 10 years but....
"Your browser has detected an illegal request and has attempted to alert the appropriate authorities."
Followed by some technical stuff like "Connection refused" or the like.
foil-lined briefcases, here we come ;-)
Seriously, this would help show that RFID is a pretty lousy anti-theft technology....
Now, I don't think that there is a technological solution because any technological countermeasure is more expensive than the countermeasure to the countermeasure. I.e. an ISP might spend thousands of dollars filtering stuff out, and the next generation of P2P services might use HTTPS (maybe by porting protocol functionality to SOAP), SMTP w/SSL, or some other common open standard on the internet. This sort of thing is not difficult to do and in the end such technical measures will fail. Hence the real solution is social. *We* have to decide to help foster a Free Music industry. *We* have to build it. *We* have to show that it can be viable and protect artists.
However, I do agree that until we do build such an industry, that blaming the problem on an outdated business model is a problem primarily because at the moment there isn't really a viable alternative for comprehensive distribution. Once such an alternative is in place, *then* we can watch the music industry go through such a phoenix-like transformation. But to do so before such a system is in place does nothing to create the just system I think we all want to see. Anything else is just an exercise in smoke and mirrors to justify theft. First, copyright infringement is not theft. I maintain that it is something worse than theft because it denies new models in the marketplace a fair chance to compete. In essence, if copyright infringement is "theft" it is a theft of opportunity from those who want to build an alternative means of distribution, not really a theft of money from the owners of the copyright. Hence it is only "theft" in the same way that abuse of monopoly is "theft" (because the net result is actually nearly identical).
Plus it just feels better not to have anything to do with businesses that treat one as a criminal whether one is or not.
created a band and called it U-238....
Not that U2 (the plane) and U-238 (the isotope) have anything in common other than politics of the cold war....
Let's make gas stations and car manufacturers criminally liable for selling gas to bank robbers or manufacturing the getaway cars!